From 52d9c5ca91be70b0f139152412e4dcb8fb5fc3c9 Mon Sep 17 00:00:00 2001 From: twoneis Date: Sun, 21 Jul 2024 01:53:38 +0200 Subject: [PATCH] added initial impermanence module --- modules/impermanence/default.nix | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 modules/impermanence/default.nix diff --git a/modules/impermanence/default.nix b/modules/impermanence/default.nix new file mode 100644 index 0000000..367625b --- /dev/null +++ b/modules/impermanence/default.nix @@ -0,0 +1,41 @@ +{ lib, config, ... }: lib.mkIf config.withImpermanence { + environment.persistence."/persist" = { + enable = true; + directories = [ + "/var/log" + "/var/lib/bluetooth" + "/var/lib/nixos" + "/var/lib/iwd" + ]; + files = [ + "/etc/machine-id" + "/etc/passwd" + "/etc/shadow" + ]; + + users.${config.username}= { + directories = [ + "Documents" + "Pictures" + "Videos" + "Games" + "code" + { directory = ".local/share/keyrings"; mode = "0700"; } + ".local/share/direnv" + ]; + }; + }; + + boot.initrd = { + enable = true; + supportedFilesystems = [ "btrfs" ]; + + systemd.services.restore-boot = { + description = "Rollback btrfs rootfs"; + WantedBy = [ "initrd.target" ]; + requires = [ + + ]; + }; + }; +}