

I have to be honest and say it was a journey. Nix in itself isn’t really difficult I find. But everything together and finding the right documentation and figure out how NixOS comes together can be a bit daunting.
But a simple straight forward config is pretty doable. My advice is to start small and build up. You can reuse your old dotfiles and include them in the configuration directly, so you don’t have to convert everything to nix (right away). Also don’t scare away from using flakes, they are the way to go in my opinion.
You can define multiple hosts/systems in one configuration with each their own nixosSystem call. So you can define hardware/fs/network etc per system.
Also I like to add that the vimjoyer video’s on nix helped me with understanding some of the concepts, They are usually short and straight to the point.






I love it for using klipper. But when I started doing it the klipper pkgs did give me some troubles. You can work around them, but know you might find some issues on the way. Maybe it’s better now, I haven’t really updated that part of my config much recently.
Do know that not all arm devices are equally supported. rpi 3 and 4 are, the rest is community based (see: https://nixos.wiki/wiki/NixOS_on_ARM). Personally I run klipper on a x86_64 thin client for this reason and because raspberry pi’s were scarce and expensive back then.