Files
nixpkgs/nixos/doc/manual/development/non-switchable-systems.section.md
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

828 B

Non Switchable Systems

In certain systems, most notably image based appliances, updates are handled outside the system. This means that you do not need to rebuild your configuration on the system itself anymore.

If you want to build such a system, you can use the image-based-appliance profile:

{ modulesPath, ... }:
{
  imports = [ "${modulesPath}/profiles/image-based-appliance.nix" ];
}

The most notable deviation of this profile from a standard NixOS configuration is that after building it, you cannot switch to the configuration anymore. The profile sets config.system.switch.enable = false;, which excludes switch-to-configuration, the central script called by nixos-rebuild, from your system. Removing this script makes the image lighter and slightly more secure.