···11+# This profile sets up a sytem for image based appliance usage. An appliance is
22+# installed as an image, cannot be re-built, has no Nix available, and is
33+# generally not meant for interactive use. Updates to such an appliance are
44+# handled by updating whole partition images via a tool like systemd-sysupdate.
55+66+{ lib, modulesPath, ... }:
77+88+{
99+1010+ # Appliances are always "minimal".
1111+ imports = [
1212+ "${modulesPath}/profiles/minimal.nix"
1313+ ];
1414+1515+ # The system cannot be rebuilt.
1616+ nix.enable = false;
1717+ system.switch.enable = false;
1818+1919+ # The system is static.
2020+ users.mutableUsers = false;
2121+2222+ # The system avoids interpreters as much as possible to reduce its attack
2323+ # surface.
2424+ boot.initrd.systemd.enable = lib.mkDefault true;
2525+ networking.useNetworkd = lib.mkDefault true;
2626+}