DEVELOPMENT ENVIRONMENT

~liljamo/nix-arta

ref: c56201b8f1fa477e04adcb673a5e0b79a28d02e3 nix-arta/modules/hosts/ws/arwen/_nixos/preservation.nix -rw-r--r-- 1.1 KiB
c56201b8Jonni Liljamo feat: niri fullscreen bind 24 days ago
                                                                                
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{...}: {
  preservation = {
    enable = true;
    preserveAt."/persist" = {
      files = [
        # Machine ID
        {
          file = "/etc/machine-id";
          inInitrd = true;
        }

        # SSH host keys
        {
          file = "/etc/ssh/ssh_host_rsa_key";
          how = "symlink";
          configureParent = true;
        }
        {
          file = "/etc/ssh/ssh_host_ed25519_key";
          how = "symlink";
          configureParent = true;
        }
      ];
      directories = [
        # NixOS state
        "/var/lib/nixos"

        # Tailscale state
        "/var/lib/tailscale"

        # NetworkManager connections
        "/etc/NetworkManager/system-connections"
      ];
      users.skye = {
        directories = [
          # SSH state (keys, known_hosts, etc)
          {
            directory = ".ssh";
            mode = "0700";
          }

          # Dev directory
          "dev"

          # Application states
          ".local/share/direnv"
          ".local/share/PrismLauncher"
          ".mozilla"
        ];
      };
    };
  };

  systemd.suppressedSystemUnits = ["systemd-machine-id-commit.service"];
}