Tips & Resources
Tutorials & Guides
- NixOS & Flakes Book — comprehensive intro
- A Gentle Introduction to Nix Flakes — flake anatomy
- Why you don’t need flake-utils — the case for plain Nix
Vimjoyer (YouTube)
- Nix explained from the ground up
- NixOS: Everything Everywhere All At Once
- Ultimate NixOS Guide
- Modularize NixOS and Home Manager
- Nixvim: Neovim Distro Powered By Nix
- Is NixOS The Best Gaming Distro
Other
Nix Language
- explainix — hover over Nix syntax to see what it means
- inherit keyword
High-Level Libraries
- flake-utils
- flake-parts
- snowfall lib — this flake’s directory structure is inspired by snowfall
Updating Custom Packages
Use the bump recipe, which wraps nix-update
and figures out the attribute path and platform for you:
just bump packages/top-level/<pkg> # or packages/custom/<pkg>
Under the hood it runs scripts/bump-package.sh; extra flags are passed straight
through to nix-update, e.g. just bump packages/top-level/<pkg> --version=1.2.3.