NixOSTHE FIELD GUIDE / 01

A system you can put back together.

You spend time getting a computer right. The tools, the services, the small settings you would rather not rediscover after a reinstall.

NixOS lets you describe that setup in files and build your Linux system from them. Keep the configuration. Change it deliberately. Bring it to the next machine.

01 / FIELD NOTE

Make a change you can explain.

Add a package to your configuration. Build a new system generation. Keep the previous one available while you try the change.

The useful part is being able to see what you asked the machine to become.

Interactive illustration. Nothing runs on your computer.
Configuration
{ pkgs, ... }: {
  programs.firefox.enable = true;
  programs.git.enable = true;
}
System generations
Generation ACurrentFirefox · Git

Generation A is current. Firefox and Git are enabled through their modules.

Documents and application data are outside this illustration.

A simplified example of system generations. Previous generations must still be retained to use them.

Rollback changes system software and managed configuration. It does not rewind your documents or database contents.

02 / FIELD NOTE

Start with the computer you have in mind.

01

Your everyday machine

A laptop or desktop with familiar applications and a configuration you can keep improving.

NixOS on the desktop
02

A machine that runs services

A homelab, a small server or a collection of hosts. Share the common parts; keep the differences explicit.

NixOS for servers
03

A device with a particular job

Build a VM or installation image around the software it needs. Check the hardware before committing to a board.

Devices and images
03 / FIELD NOTE

You can start smaller than an operating system.

Nix is the package manager behind NixOS. You can also use it on an existing Linux or macOS installation: try a tool, describe a project’s development environment, or bring the same build definition into CI.

04 / FIELD NOTE

There is room to try another approach.

finix explores a different Nix-based operating system, with finit in place of systemd. It is an experimental project for people who want to work on those questions, not a shortcut around learning NixOS.

05 / FIELD NOTE

People belong in the picture.

This site welcomes queer and trans people, newcomers, and the people doing the unglamorous work of keeping free software useful. Pride stays visible here throughout the year.