From 6012fe8f2d052a13c72c65eb91c445011b9739d9 Mon Sep 17 00:00:00 2001 From: nicoo Date: Tue, 12 Dec 2023 11:33:47 +0000 Subject: [PATCH] nixos/doc/manual: Rework `nixos-state.section.md` --- .../administration/nixos-state.section.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/nixos/doc/manual/administration/nixos-state.section.md b/nixos/doc/manual/administration/nixos-state.section.md index 2443918c9d7c..9819d613198c 100644 --- a/nixos/doc/manual/administration/nixos-state.section.md +++ b/nixos/doc/manual/administration/nixos-state.section.md @@ -1,10 +1,20 @@ # NixOS {#sec-nixos-state} -NixOS itself obviously needs `/nix` to be persistent, so the system environment -can be linked from the nix store during activation. +## `/nix` {#sec-state-nix} -Moreover, `/boot` should also be persistent, as it contains the kernel, initrd, -and the command-line determining the system environment's path in the nix store. +NixOS needs the entirety of `/nix` to be persistent, as it includes: +- `/nix/store`, which contains all the system's executables, libraries, and supporting data; +- `/nix/var/nix`, which contains: + - the Nix daemon's database; + - roots whose transitive closure is preserved when garbage-collecting the Nix store; + - system-wide and per-user profiles. + +## `/boot` {#sec-state-boot} + +`/boot` should also be persistent, as it contains: +- the kernel and initrd which the bootloader loads, +- the bootloader's configuration, including the kernel's command-line which + determines the store path to use as system environment. ## Users and groups {#sec-state-users}