To get started: Install NixOS, grab your /etc/nix/configuration.nix, and /etc/nix/hardware-configuration.nix (from the top of my head) and throw them in a git repo. nix-shell -p <application> if you quickly need a shell with a specific (temporary) program, like git (just for bootstrapping; add git to the configuration.nix if you wish to keep it.
Start with that, and slowly keep adding programs, configuration. If you eventually wish to add a second computer to the one configuration (so you can start reusing configuration), do that. Keep steps small.
Here you can dig through each step I take in my nixcfg - I started with just the configuration.nix, and share that between machines, but it turns out you’re supposed to add the hardware-conguration.nix to the repo as well, so then I started to do that (with still a shared configuration.nix. Well, partially:
I’ve jumped in Nix/Guix many times and always jumped back out. Sometimes you just want to edit a system file without second guessing or rebuilding the system. Same battle as initRC vs SystemD. Sometimes you just want to tinker live, because there are bigger battles elsewhere and going down a productivity sink hole of immutability is not something you can easily explain away at 3am
To get started: Install NixOS, grab your
/etc/nix/configuration.nix, and/etc/nix/hardware-configuration.nix(from the top of my head) and throw them in a git repo.nix-shell -p <application>if you quickly need a shell with a specific (temporary) program, like git (just for bootstrapping; add git to theconfiguration.nixif you wish to keep it.Start with that, and slowly keep adding programs, configuration. If you eventually wish to add a second computer to the one configuration (so you can start reusing configuration), do that. Keep steps small.
Here you can dig through each step I take in my nixcfg - I started with just the
configuration.nix, and share that between machines, but it turns out you’re supposed to add thehardware-conguration.nixto the repo as well, so then I started to do that (with still a sharedconfiguration.nix. Well, partially:https://github.com/NostraDavid/nixcfg/commits/master/?after=78d40edc8b756088a73fd087808d438eabbcf06f+401
Read nixstory.md if you want to see a quick LLM-generated history of how my repo changed over time (based on my git history).
I’ve jumped in Nix/Guix many times and always jumped back out. Sometimes you just want to edit a system file without second guessing or rebuilding the system. Same battle as initRC vs SystemD. Sometimes you just want to tinker live, because there are bigger battles elsewhere and going down a productivity sink hole of immutability is not something you can easily explain away at 3am
So it’s kinda like klipper/mainsail but for an operating system?
In the sense that klipper does everything through configuration files: yes.