Where does one start from NixOS?

Where does one start? It’s too confusing. What I’ve learnt is just to edit environment.systemPackages and use wiki.nixos.org to copy and paste code to install a package then sudo nixos-rebuild switch it. Sometimes I use search.nixos.org to see the options for packages or hope there’s a discourse thread somewhere with the problems same as mine. I’m trying to learn flakes and home-manager via NixOS and Flakes Book but I still don’t understand anything and it just feels like copy & pasting code to install or configure something. I’ve tried asking the Matrix servers for some help and they do suggest resources and it’s still confusing. My config is located at [GitHub - xNyfPtx/nixos-config] Where does one start?

Walk through the first handful of chapters of the NixOS manual. It gently introduces the basic configuration constructs and doesn’t pile too many concepts at once.

Hi @2kYworGj, welcome to the community and thanks for asking!

I recommend you to take the official tutorials on nix.dev, learn the Nix language and the module system. Then try tinkering with NixOS.

Feedback appreciated! While the documentation team is not super active at the moment, knowing where beginners may encounter issues is valuable for improving these materials.

1 Like

Hey there, and welcome!

As typical starter projects, write configuration to install…

  • your favorite editor / IDE so that it comes configured
  • your shell so that it has a custom prompt, aliases, completion, etc.
  • a tailscale VPN between your devices so you can ssh to all your machines

If you’re a software developer, you may want to set up your preferred language toolchains. This isn’t always so easy, and there’s often many ways to do things. For any one programming language, you may need to explore the many ways people run things on Nix and choose where your cut-off point in terms of benefits and complexity lies.

In that vein, I recommend you try to either install the language toolchains on your system globally, or set up a shell.nix in your project folder and try to fill it out minimally in order to be able to run the toolchain commands, and wait with the whole “making a project derivation” aspect.

If you’re not primarily a programmer, you may be more interested in ricing your desktop. I can recommend Vimjoyer’s Discord, since it has a section of its forum dedicated to cool setups with screenshots and links. I found that very inspiring.

You may also like to turn your machine into a media center, in which case, check out Wolfgang’s Channel: What’s on my Home Server 2025 – NixOS Edition. There’s a lot of cool software recommendations for server-like software that you can also run on a desktop. And references on how to get it running on NixOS.

I just made this video (named "Nixos Config Beyond the Basics for Mere Mortals) that may help.