Heya, been hearing about NixOS for a long time now, mostly from the peeps over at the Linux Unplugged podcast. So was thinking about jumping onto the nix-train, however it seems like it has a learning curve. Does anyone have any good learning resources, blog-posts, guides, whatever beans that you used to get started with NixOS?
Apart from all this, ive learned the most from a mix of looking at other people's configurations and reading source code. The documentation is super messy, especially if you want to make use of flakes (which i personally recommend from the get go).
Just this morning I was having issues with a wacky dual-boot install with NixOS and Windows sharing an EFI partition, and quite interestingly ChatGPT and I were able to troubleshoot the process and get it resolved in under half and hour. I was really impressed by the specific configurations it was giving me for my /etc/nixos/configuration.nix , so that is also another resource you may consider leaning on when you run into walls in other documentation sources.
The best way I know of is to get yourself a VM and get into the weeds; try to configure a system to your liking.
Follow the NixOS manual. The Wiki is unofficial; often opinionated, out of date or just plain wrong. Take it with a grain of salt. The canonical source of documentation is the NixOS manual and it's not nearly as bad as you may have heard.
Make extensive use of https://search.nixos.org/options or man configuration.nix. Finding and making proper use of options and the module system is the bread and butter of using NixOS.
Eventhough everyone and their mom will recommend them to you for nebulous reasons, ignore flakes for now. You will know when you'll benefit from using them; namely when you need to use something outside of NixOS/Nixpkgs. You're going to have enough to figure out with plain old NixOS on its own though; I don't have external dependencies in my config to this day.
I've actually been getting into NixOS recently; interested in replacing an old server I've had for like 10 years with something I can just build from a bunch of config files.
Can confirm it is confusing and I have no idea how anything works. :D