Use when the user asks about NixOS, Nix language, flakes, nixpkgs, configuration.nix, nixos-rebuild, modules, options, overlays, derivations, mkDerivation, callPackage, home-manager, nix-darwin, devenv, packaging, cross-compilation, binary caches, garbage collection, NixOS containers, networking, firewall, systemd services, filesystems, LUKS, Wayland, X11, kernel, profiles, NixOS testing or VM tests, ISO images, Docker images, Raspberry Pi, Terraform, distributed builds, remote machines, pinning nixpkgs, rollback, generations, Nix Pills, or any topic related to configuring, packaging, deploying, or troubleshooting NixOS and the Nix ecosystem.
日本語に翻訳
name: nixos
description: Use when the user asks about NixOS, Nix language, flakes, nixpkgs, configuration.nix, nixos-rebuild, modules, options, overlays, derivations, mkDerivation, callPackage, home-manager, nix-darwin, devenv, packaging, cross-compilation, binary caches, garbage collection, NixOS containers, networking, firewall, systemd services, filesystems, LUKS, Wayland, X11, kernel, profiles, NixOS testing or VM tests, ISO images, Docker images, Raspberry Pi, Terraform, distributed builds, remote machines, pinning nixpkgs, rollback, generations, Nix Pills, or any topic related to configuring, packaging, deploying, or troubleshooting NixOS and the Nix ecosystem.
version: 0.1.0
NixOS Documentation
Complete reference for NixOS and the Nix ecosystem, auto-generated from official repositories:
nix.dev — tutorials, guides, best practices
NixOS Manual — from NixOS/nixpkgs
Nix Pills — progressive learning series
Release Wiki — NixOS release process
The references/ directory contains full, unmodified documentation from those sources, updated daily.
Directives
Base all answers on the official NixOS documentation in the reference files below.
Use correct Nix language syntax (attribute sets, let-in, with, inherit, etc.).
Distinguish between NixOS module options (services.nginx.enable = true;) and Nix language expressions (pkgs.mkDerivation { ... }).
Show configuration examples using current NixOS syntax (configuration.nix or flake-based configs).
When flakes are relevant, show both the classic (channels) and flakes approach if applicable.
For packaging, prefer the callPackage pattern over raw import.
Reference Files
Identify the topic from the user's question, then read the matching reference file:
Getting Started
Topic File Installing Nix package manager references/install-nix.mdNixOS installation (USB, PXE, VirtualBox, proxy, other distro) references/nixos-installation.mdFirst steps (ad-hoc shells, declarative shell, reproducible scripts) references/first-steps.mdUpgrading NixOS references/nixos-upgrading.mdChanging NixOS configuration references/nixos-changing-config.mdGlossary and terminology references/glossary.mdFAQ references/faq.md
Nix Language & Concepts
Topic File Nix language tutorial references/nix-language.mdFlakes (concept and usage) references/flakes.mdcallPackage design pattern references/callpackage.mdModule system (basics and deep dive) references/module-system.mdWorking with local files in Nix references/working-with-local-files.mdPinning nixpkgs versions references/pinning-nixpkgs.mdNix Pills (progressive learning, 20 lessons) references/nix-pills.md
NixOS Configuration
Topic File Configuration syntax, modularity, abstractions references/nixos-config-syntax.mdPackage management (declarative, ad-hoc, custom packages) references/nixos-package-mgmt.mdUser management references/nixos-user-mgmt.mdNetworking (firewall, SSH, IPv4/6, wireless, NetworkManager) references/nixos-networking.mdFilesystems (LUKS, SSHFS, OverlayFS) references/nixos-filesystems.mdDisplay server (X11, Wayland, Xfce, GPU acceleration) references/nixos-display-server.mdLinux kernel configuration references/nixos-linux-kernel.mdKubernetes references/nixos-kubernetes.mdConfiguration profiles (minimal, graphical, headless, etc.) references/nixos-profiles.md
NixOS Administration
Topic File Service management, logging, rollback, troubleshooting, boot problems references/nixos-administration.mdContainers (declarative, imperative, networking) references/nixos-containers.md
NixOS Development
Topic File Writing NixOS modules (options, types, assertions) references/nixos-writing-modules.mdNixOS tests (writing, running, interactive) references/nixos-testing.mdBuilding NixOS images (ISO, systemd-repart) references/nixos-building-images.md
Packaging & Build
Topic File Packaging existing software for nixpkgs references/packaging-tutorial.mdCross-compilation references/cross-compilation.md
Tutorials
Topic File NixOS configuration on a VM references/nixos-vm-tutorial.mdBuilding and running Docker images references/nixos-docker-tutorial.mdBuilding a bootable ISO image references/nixos-iso-tutorial.mdIntegration testing with VMs references/nixos-testing-tutorial.mdDeploying NixOS with Terraform references/nixos-terraform-tutorial.mdDistributed builds setup references/nixos-distributed-builds.mdNixOS on Raspberry Pi references/nixos-raspberry-pi.mdProvisioning remote machines references/nixos-remote-machines.mdBinary cache setup references/nixos-binary-cache.md
Guides & Recipes
Topic File Best practices references/best-practices.mdTroubleshooting references/troubleshooting.mdRecipes (direnv, CI, dependencies, Python env, binary cache, sharing deps) references/recipes.md
Release Process
Topic File NixOS release process, roles, branch-off, beta, freeze references/release-process.md
Live Fetching
When reference files are insufficient, fetch the latest docs from raw GitHub:
nix.dev
https://raw.githubusercontent.com/NixOS/nix.dev/master/source/<path>.md
NixOS Manual (nixpkgs)
https://raw.githubusercontent.com/NixOS/nixpkgs/master/nixos/doc/manual/<section>/<file>.md
Nix Pills
https://raw.githubusercontent.com/NixOS/nix-pills/master/pills/<NN>-<slug>.md
Strategy
Identify the topic from the user's question.
Read the matching reference file from the tables above.
Answer with correct Nix syntax and configuration.nix / flake.nix examples.
If more detail is needed, fetch from the corresponding raw GitHub URL.
For beginners, recommend starting with references/first-steps.md or references/nix-pills.md.
For troubleshooting, check references/troubleshooting.md and references/faq.md first.
For NixOS system issues, check references/nixos-administration.md.
Quick Reference
Config file location
/etc/nixos/configuration.nix (classic) or flake.nix (flakes)
Rebuild system
sudo nixos-rebuild switch # apply config
sudo nixos-rebuild test # apply without adding to bootloader
sudo nixos-rebuild build # build only
sudo nixos-rebuild boot # apply on next boot
Nix shell (ad-hoc packages)
nix-shell -p python3 git vim # classic
nix shell nixpkgs#python3 nixpkgs#git # flakes
Nix develop (dev environment)
nix develop # from flake.nix devShell
nix-shell # from shell.nix
Search packages
nix search nixpkgs firefox
# or https://search.nixos.org/packages
Garbage collection
nix-collect-garbage -d # delete all old generations
nix store gc # flakes equivalent
sudo nix-collect-garbage -d # also clean system profiles
Flake basic structure
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }: {
nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ ./configuration.nix ];
};
};
}
NixOS module syntax
{ config, pkgs, ... }:
{
services.nginx.enable = true;
environment.systemPackages = with pkgs; [ vim git firefox ];
networking.firewall.allowedTCPPorts = [ 80 443 ];
users.users.myuser = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
};
}