diff --git a/hosts/Infini-DESKTOP/default.nix b/hosts/Infini-DESKTOP/default.nix index d521529..214b7f6 100644 --- a/hosts/Infini-DESKTOP/default.nix +++ b/hosts/Infini-DESKTOP/default.nix @@ -10,28 +10,10 @@ persist = { directories = [ - "/home" - "/etc/nixos" - "/etc/nixos-private" - - # /var directories - "/var/log" - "/var/lib/bluetooth" - "/var/lib/systemd/coredump" - "/var/lib/tailscale" - "/var/lib/alsa" - "/srv" ]; files = [ - "/etc/machine-id" - - "/root/.local/share/nix/trusted-settings.json" - "/root/.ssh/known_hosts" - "/root/.ssh/id_ed25519" - "/root/.ssh/id_ed25519.pub" - "/root/.ssh/immutable_files.txt" ]; }; diff --git a/hosts/Infini-FRAMEWORK/default.nix b/hosts/Infini-FRAMEWORK/default.nix index 21ab4ff..98951c6 100644 --- a/hosts/Infini-FRAMEWORK/default.nix +++ b/hosts/Infini-FRAMEWORK/default.nix @@ -10,27 +10,9 @@ persist = { directories = [ - "/home" - "/etc/nixos" - "/etc/nixos-private" - - "/root/.local/share/nix" - "/root/.ssh" - "/root/.cache/borg" - - # /var directories - "/var/log" - "/var/lib/fprint" - "/var/lib/bluetooth" - "/var/lib/systemd/coredump" - "/var/lib/systemd/backlight" - "/var/lib/tailscale" - "/var/lib/alsa" - "/var/lib/libvirt" ]; files = [ - "/etc/machine-id" ]; }; diff --git a/hosts/Infini-OPTIPLEX/default.nix b/hosts/Infini-OPTIPLEX/default.nix index 11c6155..acb9366 100644 --- a/hosts/Infini-OPTIPLEX/default.nix +++ b/hosts/Infini-OPTIPLEX/default.nix @@ -35,26 +35,10 @@ persist = { directories = [ - "/home" - "/etc/nixos" - "/etc/nixos-private" - - # /var directories - "/var/log" - "/var/lib/systemd/coredump" - "/var/lib/tailscale" - "/srv" ]; files = [ - "/etc/machine-id" - - "/root/.local/share/nix/trusted-settings.json" - "/root/.ssh/known_hosts" - "/root/.ssh/id_ed25519" - "/root/.ssh/id_ed25519.pub" - "/root/.ssh/immutable_files.txt" ]; }; diff --git a/hosts/Infini-SD/default.nix b/hosts/Infini-SD/default.nix index 26ed8d1..7a442ba 100644 --- a/hosts/Infini-SD/default.nix +++ b/hosts/Infini-SD/default.nix @@ -17,21 +17,9 @@ persist = { directories = [ - "/home" - "/etc/nixos" - "/etc/nixos-private" - - "/root/.local/share/nix" - "/root/.ssh" - - # /var directories - "/var/log" - "/var/lib/systemd/coredump" - "/var/lib/tailscale" ]; files = [ - "/etc/machine-id" ]; }; diff --git a/hosts/Infini-SERVER/default.nix b/hosts/Infini-SERVER/default.nix index d4f3d09..6a963ec 100644 --- a/hosts/Infini-SERVER/default.nix +++ b/hosts/Infini-SERVER/default.nix @@ -37,27 +37,10 @@ persist = { directories = [ - "/home" - "/etc/nixos" - "/etc/nixos-private" - - # /var directories - "/var/log" - "/var/lib/systemd/coredump" - "/var/lib/tailscale" - "/var/lib/thelounge" - "/srv" ]; files = [ - "/etc/machine-id" - - "/root/.local/share/nix/trusted-settings.json" - "/root/.ssh/known_hosts" - "/root/.ssh/id_ed25519" - "/root/.ssh/id_ed25519.pub" - "/root/.ssh/immutable_files.txt" ]; }; } diff --git a/hosts/Infini-STICK/default.nix b/hosts/Infini-STICK/default.nix index 2d7f098..aa120ac 100644 --- a/hosts/Infini-STICK/default.nix +++ b/hosts/Infini-STICK/default.nix @@ -18,21 +18,9 @@ persist = { directories = [ - "/home" - "/etc/nixos" - "/etc/nixos-private" - - "/root/.local/share/nix" - "/root/.ssh" - - # /var directories - "/var/log" - "/var/lib/systemd/coredump" - "/var/lib/tailscale" ]; files = [ - "/etc/machine-id" ]; }; diff --git a/modules/global/persist.nix b/modules/global/persist.nix new file mode 100644 index 0000000..9f29f39 --- /dev/null +++ b/modules/global/persist.nix @@ -0,0 +1,20 @@ +{ config, lib, ... }: +with lib; +{ + persist = { + directories = [ + "/home" + "/etc/nixos" + "/etc/nixos-private" + + "/var/log" + "/var/lib/systemd/coredump" + "/var/lib/tailscale" + + "/root/.ssh" + ]; + files = [ + "/etc/machine-id" + ]; + }; +} diff --git a/modules/modules/hardware/audio.nix b/modules/modules/hardware/audio.nix index f74630f..9d5dee2 100644 --- a/modules/modules/hardware/audio.nix +++ b/modules/modules/hardware/audio.nix @@ -20,5 +20,9 @@ in pulse.enable = true; alsa.enable = true; }; + + persist.directories = [ + "/var/lib/alsa" + ]; }; } diff --git a/modules/modules/hardware/form.nix b/modules/modules/hardware/form.nix index b66d5f1..65d7ff7 100644 --- a/modules/modules/hardware/form.nix +++ b/modules/modules/hardware/form.nix @@ -57,6 +57,10 @@ in variables.LAPTOP = "True"; systemPackages = with pkgs; [ acpi brightnessctl ] ++ optional config.powerManagement.powertop.enable pkgs.powertop; }; + + persist.directories = [ + "/var/lib/systemd/backlight" + ]; }) (mkIf cfg.portable { diff --git a/modules/modules/hardware/peripherals/fprint-sensor.nix b/modules/modules/hardware/peripherals/fprint-sensor.nix index 4ec7efa..506e844 100644 --- a/modules/modules/hardware/peripherals/fprint-sensor.nix +++ b/modules/modules/hardware/peripherals/fprint-sensor.nix @@ -8,4 +8,8 @@ in options.modules.hardware.peripherals.fprint-sensor = mkOpt types.attrs { }; config.services.fprintd = mkAliasDefinitions options.modules.hardware.peripherals.fprint-sensor; + + config.persist.directories = mkIf cfg.enable [ + "/var/lib/fprint" + ]; } diff --git a/modules/modules/hardware/wireless.nix b/modules/modules/hardware/wireless.nix index 7e586ca..ff4cd3a 100644 --- a/modules/modules/hardware/wireless.nix +++ b/modules/modules/hardware/wireless.nix @@ -26,6 +26,10 @@ in (mkIf cfg.bluetooth.enable { hardware.bluetooth.enable = true; services.blueman.enable = cfg.bluetooth.blueman.enable; + + persist.directories = [ + "/var/lib/bluetooth" + ]; }) (mkIf cfg.wifi.enable { networking.wireless = { diff --git a/modules/modules/virtualization.nix b/modules/modules/virtualization.nix index 30c5ab7..f74b6eb 100644 --- a/modules/modules/virtualization.nix +++ b/modules/modules/virtualization.nix @@ -16,5 +16,8 @@ in }; programs.dconf.enable = true; environment.systemPackages = with pkgs; [ virt-manager docker-compose ]; + persist.directories = [ + "/var/lib/libvirt" + ]; }; }