A weird way of doing NixOS

Files
README.md

anomalOS #

My NixOS configuration. It is not a flake: tack does the pinning, a vendored sprinkles engine gives the repo flake-shaped outputs, and hosts are read off the disk.

Important: This is a hobbyist project and I'm learning as I go. If something is broken or stupid, that's why. It's built for my machine and my workflow, so it might work on yours and it might not. It's all FOSS, so take the whole thing or steal bits of it.

Requirements: Nushell. The wrappers and utilities in this repo are written in it and will not work without it. It ships inside the config, but if you're cherry-picking modules, install it first.

anomalOS Overview

anomalOS Diagram

Docs #

Keeping fresh and tidy #

$ nrt        # build and activate, reverts on reboot
$ nrs        # build, activate, and make it the boot default
$ tu         # refresh every pinned input
$ tl         # list pins with newer upstream available
$ recycle    # keep the last 10 generations, garbage-collect the rest

Nix reads the working copy directly, so edits are visible to the next build as soon as they're saved. There is no jj s or git add required.

Install #

Boot a NixOS live image, then:

git clone https://codeberg.org/weegs710/AnomalOS.git ~/anomalos
cd ~/anomalos

./install.sh --save-plan /tmp/plan   # ask, check, write the plan, stop
./install.sh --plan /tmp/plan        # apply it

install.sh builds a plan and checks it against what the host's configuration declares before it writes to a disk. See Installing.

Contributing #

Fork it and do whatever. Bug reports and improvements are welcome -- run nix-shell devshell.nix first so we're on the same formatter.

nix-build ci.nix builds every host and returns nonzero on the first failure.

Credits #

Who For
iynaix code examples, good practices, and logical thinking
jet NixOS nuance, code snippets, and highlighting new projects
ladas nagging me about stuff I can improve
vimjoyer his videos and snippets

License #

MIT, please see LICENSE.

Two bundled things aren't mine and carry their own terms: the vendored sprinkles engine and the phinger cursor art. The carve-out is in LICENSE and the full texts are in LICENSES/.