about summary refs log tree commit diff
path: root/nixos/modules/profiles/image-based-appliance.nix
blob: 7e8b6f696d54f0a08f7dfa4bf0a2e03a069c913a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# This profile sets up a sytem for image based appliance usage. An appliance is
# installed as an image, cannot be re-built, has no Nix available, and is
# generally not meant for interactive use. Updates to such an appliance are
# handled by updating whole partition images via a tool like systemd-sysupdate.

{ lib, modulesPath, ... }:

{

  # Appliances are always "minimal".
  imports = [
    "${modulesPath}/profiles/minimal.nix"
  ];

  # The system cannot be rebuilt.
  nix.enable = false;
  system.switch.enable = false;

  # The system is static.
  users.mutableUsers = false;

  # The system avoids interpreters as much as possible to reduce its attack
  # surface.
  boot.initrd.systemd.enable = lib.mkDefault true;
  networking.useNetworkd = lib.mkDefault true;
}