I like that the NixOS packaging system feels like it’s build for Free Software, making source code and Git repositories a first class citizen. You can simply drop a flake.nix into your repository and turn it into a Nix package within a couple of minutes, that’s quite a bit different than the utter headache it is to package something for Debian. Nix packages being free of naming conflicts also makes it very easy to mix and match whatever versions you need, something that’s basically impossible on most other distros unless you resort to containers or virtual machines.
NixOS having the largest package collection of any distro is a plus too.
Can I use a file in the same place as the nix config to set the configs for i3 for example? Or anything else that would go in ~/.config? It would be amazing to have all the configuration files in one single folder to easily move to new hardware.
Yes, that’s what home-manager is for, your configuration goes into ~/.config/home-manager/ and from that you can generate all the other configuration files that go into your $HOME (either by just copying a read-only version of the raw file or by generating it on the fly from the nix configuration file when a home-manager module is provided)
I like that the NixOS packaging system feels like it’s build for Free Software, making source code and Git repositories a first class citizen. You can simply drop a flake.nix into your repository and turn it into a Nix package within a couple of minutes, that’s quite a bit different than the utter headache it is to package something for Debian. Nix packages being free of naming conflicts also makes it very easy to mix and match whatever versions you need, something that’s basically impossible on most other distros unless you resort to containers or virtual machines. NixOS having the largest package collection of any distro is a plus too.
Can I use a file in the same place as the nix config to set the configs for i3 for example? Or anything else that would go in ~/.config? It would be amazing to have all the configuration files in one single folder to easily move to new hardware.
Yes, that’s what home-manager is for, your configuration goes into
~/.config/home-manager/
and from that you can generate all the other configuration files that go into your$HOME
(either by just copying a read-only version of the raw file or by generating it on the fly from the nix configuration file when a home-manager module is provided)