No idea (when starting) which documentation or patterns go with which version.
But once it clicks you have a fully declarative setup**. I edit a file, activate, commit to git. On another system, pull, activate.
** The config system is expansive but not exhaustive. I still have to login to Slack, pick my theme, etc. My VPN on the other hand is just ready credentials and all.
I never have to remember the 100 little tweaks I made, every tweak is in git. Noise canceling pipewire filter, what software I had installed, service configurations, secret management, disk partitions, all portable between different systems.
A lighter introduction is probably home manager, works in any Linux system or macOS. Manages your home directory as the name implies.
You can also go lighter with a repo flake.nix and a devShell. Its like a generic virtual environment. Auto activate with direnv. A step up from a devShell would be https://devenv.sh/ which tracks more like home manager with configurable modules. A devShell is really a bash script with these programs available from Nix.
If you want punishment go for NixOS!
But once it clicks you have a fully declarative setup**. I edit a file, activate, commit to git. On another system, pull, activate.
** The config system is expansive but not exhaustive. I still have to login to Slack, pick my theme, etc. My VPN on the other hand is just ready credentials and all.
I never have to remember the 100 little tweaks I made, every tweak is in git. Noise canceling pipewire filter, what software I had installed, service configurations, secret management, disk partitions, all portable between different systems.
A lighter introduction is probably home manager, works in any Linux system or macOS. Manages your home directory as the name implies.
You can also go lighter with a repo flake.nix and a devShell. Its like a generic virtual environment. Auto activate with direnv. A step up from a devShell would be https://devenv.sh/ which tracks more like home manager with configurable modules. A devShell is really a bash script with these programs available from Nix.