SKILL.md
NixOS Documentation
Development Best Practices
- Prefer options over packages - use built-in configuration options rather than installing packages directly
- Keep related configuration in separate files
Configuration Options
man configuration.nix- System-level NixOS optionsman home-configuration.nix- Home-manager options
Manual source files (markdown, organized by topic):
Nixpkgs Manual
https://github.com/NixOS/nixpkgs/tree/master/doc
- languages-frameworks/: 50+ languages (python, rust, go, haskell, javascript, java, etc.)
- build-helpers/: fetchers, testers, trivial-builders, dev-shell-tools, images
- hooks/: 40+ build hooks (cmake, meson, python, perl, autopatchelf, etc.)
- stdenv/: standard environment, cross-compilation, meta, multiple-output, passthru
- functions/: Nix library functions reference
- module-system/: NixOS module system documentation
- packages/: package management
- contributing/: contribution guidelines
- toolchains/: LLVM and cross-compilation toolchains
Nix Manual
https://github.com/NixOS/nix/tree/master/doc/manual/source
- language/: syntax, types, operators, derivations, builtins, string-interpolation
- command-ref/: nix-build, nix-shell, nix-env, nix-store, experimental-commands
- package-management/: package handling
- advanced-topics/: distributed-builds, diff-hook, post-build-hook, eval-profiler
- architecture/: system design
- protocols/: protocol specifications
- store/: store implementation
NixOS Manual
https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual
- configuration/: config-syntax, package-mgmt, file-systems, networking, user-mgmt, firewall, gpu-accel, linux-kernel, wayland, x-windows, ssh, wireless
- administration/: system administration
- installation/: installation procedures
- development/: development guides
NixOS Wiki
Note: There are two NixOS wikis. Prefer the official one.
- https://wiki.nixos.org/ (Official NixOS wiki - preferred)
- https://nixos.wiki/ (Community wiki)