diff --git a/flake.lock b/flake.lock index 79e9798..1cacdce 100644 --- a/flake.lock +++ b/flake.lock @@ -175,6 +175,21 @@ "type": "github" } }, + "impermanence": { + "locked": { + "lastModified": 1706639736, + "narHash": "sha256-CaG4j9+UwBDfinxxvJMo6yOonSmSo0ZgnbD7aj2Put0=", + "owner": "nix-community", + "repo": "impermanence", + "rev": "cd13c2917eaa68e4c49fea0ff9cada45440d7045", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "impermanence", + "type": "github" + } + }, "mobile-nixos": { "flake": false, "locked": { @@ -329,6 +344,7 @@ "flake-compat": "flake-compat", "flake-parts": "flake-parts", "home-manager": "home-manager", + "impermanence": "impermanence", "mobile-nixos": "mobile-nixos", "musnix": "musnix", "nixos-flake": "nixos-flake", diff --git a/flake.nix b/flake.nix index 2b78da6..e67fe18 100644 --- a/flake.nix +++ b/flake.nix @@ -25,6 +25,8 @@ nixos-hardware.url = "github:nixos/nixos-hardware"; + impermanence.url = "github:nix-community/impermanence"; + mobile-nixos.url = "github:nixos/mobile-nixos"; mobile-nixos.flake = false; diff --git a/hosts/default.nix b/hosts/default.nix index 637b506..8d094a7 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -5,6 +5,7 @@ stroopwafel = self.nixos-flake.lib.mkLinuxSystem { nixpkgs.hostPlatform = "x86_64-linux"; imports = [ + inputs.impermanence.nixosModules.impermanence self.nixosModules.base ./stroopwafel self.nixosModules.b12f diff --git a/modules/bluetooth/default.nix b/modules/bluetooth/default.nix index 4ce05b1..629ee55 100644 --- a/modules/bluetooth/default.nix +++ b/modules/bluetooth/default.nix @@ -17,6 +17,7 @@ # Enables experimental features and interfaces. # Makes BlueZ Battery Provider available Experimental = true; + AutoEnable = true; }; }; }; diff --git a/modules/persistence/default.nix b/modules/persistence/default.nix index 8b6500a..d11d51d 100644 --- a/modules/persistence/default.nix +++ b/modules/persistence/default.nix @@ -1,15 +1,21 @@ { lib, config, ... }: { + environment.persistence."/persist" = { + hideMounts = true; + directories = [ + "/var/log" + "/var/lib/bluetooth" + "/var/lib/nixos" + "/var/lib/systemd/coredump" + "/etc/NetworkManager/system-connections" + ]; + + files = [ + "/etc/machine-id" + ]; + }; + systemd.tmpfiles.rules = [ - "L /var/lib/bluetooth - - - - /persist/var/lib/bluetooth" - "d /persist/var/lib/bluetooth 0500 root root" - - "L /var/lib/docker - - - - /persist/var/lib/docker" - "d /persist/var/lib/docker 0510 root root" - - "L /etc/NetworkManager/system-connections - - - - /persist/etc/NetworkManager/system-connections" - "d /persist/etc/NetworkManager/system-connections 0700 root root" - "d /persist/etc/ssh 0400 root root" ];