• NostraDavid@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 day ago

    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:

    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).

    • tetris11@feddit.uk
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 hours ago

      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