diff --git a/hosts/i001/flake.lock b/hosts/i001/flake.lock index 7aebd50f..1cdbc191 100644 --- a/hosts/i001/flake.lock +++ b/hosts/i001/flake.lock @@ -3,11 +3,11 @@ "common": { "locked": { "dir": "flakes/common", - "lastModified": 1765746440, - "narHash": "sha256-neLhMrA1aHl1OuPvDAyB3dkycam85UF9WmV/LB1UNEw=", + "lastModified": 1765991726, + "narHash": "sha256-oblFg2soKB7yi9DDXbzWKn8tnA1aoojKrA3+aVx+wb0=", "ref": "refs/heads/master", - "rev": "eb0c38f508bfe5bd11d186b3aadbe32ec8df19fe", - "revCount": 898, + "rev": "75b37cc9ec2014dd8dea941bb3faf9c0b665c6d0", + "revCount": 941, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" }, @@ -23,11 +23,11 @@ }, "locked": { "dir": "flakes/de_plasma", - "lastModified": 1765746440, - "narHash": "sha256-neLhMrA1aHl1OuPvDAyB3dkycam85UF9WmV/LB1UNEw=", + "lastModified": 1765991726, + "narHash": "sha256-oblFg2soKB7yi9DDXbzWKn8tnA1aoojKrA3+aVx+wb0=", "ref": "refs/heads/master", - "rev": "eb0c38f508bfe5bd11d186b3aadbe32ec8df19fe", - "revCount": 898, + "rev": "75b37cc9ec2014dd8dea941bb3faf9c0b665c6d0", + "revCount": 941, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" }, @@ -64,11 +64,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1765605144, - "narHash": "sha256-RM2xs+1HdHxesjOelxoA3eSvXShC8pmBvtyTke4Ango=", + "lastModified": 1765979862, + "narHash": "sha256-/r9/1KamvbHJx6I40H4HsSXnEcBAkj46ZwibhBx9kg0=", "owner": "rycee", "repo": "home-manager", - "rev": "90b62096f099b73043a747348c11dbfcfbdea949", + "rev": "d3135ab747fd9dac250ffb90b4a7e80634eacbe9", "type": "github" }, "original": { @@ -78,6 +78,21 @@ "type": "github" } }, + "impermanence": { + "locked": { + "lastModified": 1737831083, + "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", + "owner": "nix-community", + "repo": "impermanence", + "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "impermanence", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1756542300, @@ -96,11 +111,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1764983851, - "narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=", + "lastModified": 1765762245, + "narHash": "sha256-3iXM/zTqEskWtmZs3gqNiVtRTsEjYAedIaLL0mSBsrk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454", + "rev": "c8cfcd6ccd422e41cc631a0b73ed4d5a925c393d", "type": "github" }, "original": { @@ -112,11 +127,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1765608474, - "narHash": "sha256-9Wx53UK0z8Di5iesJID0tS1dRKwGxI4i7tsSanOHhF0=", + "lastModified": 1765838191, + "narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "28bb483c11a1214a73f9fd2d9928a6e2ea86ec71", + "rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6", "type": "github" }, "original": { @@ -1024,28 +1039,13 @@ "type": "github" } }, - "preservation": { - "locked": { - "lastModified": 1757436102, - "narHash": "sha256-mMI9IanU+Xw+pVogD2oT0I2kTmvz2Un/Apc5+CwUpEY=", - "owner": "nix-community", - "repo": "preservation", - "rev": "93416f4614ad2dfed5b0dcf12f27e57d27a5ab11", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "preservation", - "type": "github" - } - }, "root": { "inputs": { "common": "common", "de_plasma": "de_plasma", "home-manager": "home-manager_2", + "impermanence": "impermanence", "nixpkgs": "nixpkgs_3", - "preservation": "preservation", "ros_neovim": "ros_neovim" } }, diff --git a/hosts/i001/flake.nix b/hosts/i001/flake.nix index 320bd51d..d9149723 100644 --- a/hosts/i001/flake.nix +++ b/hosts/i001/flake.nix @@ -10,8 +10,8 @@ ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; - # impermanence.url = "github:nix-community/impermanence"; - preservation.url = "github:nix-community/preservation"; + impermanence.url = "github:nix-community/impermanence"; + # preservation.url = "github:nix-community/preservation"; }; outputs = @@ -35,8 +35,8 @@ inherit inputs; }; modules = [ - # inputs.impermanence.nixosModules.impermanence - inputs.preservation.nixosModules.preservation + inputs.impermanence.nixosModules.impermanence + # inputs.preservation.nixosModules.preservation inputs.home-manager.nixosModules.default inputs.ros_neovim.nixosModules.default @@ -67,8 +67,8 @@ ./hardware-configuration.nix ./hardware-mounts.nix - # ./impermanence.nix - ./preservation.nix + ./impermanence.nix + # ./preservation.nix ( { config, diff --git a/hosts/i001/hardware-mounts.nix b/hosts/i001/hardware-mounts.nix index 12cd1423..242debc7 100644 --- a/hosts/i001/hardware-mounts.nix +++ b/hosts/i001/hardware-mounts.nix @@ -62,6 +62,7 @@ lib.mkMerge [ "X-mount.mkdir" "X-mount.subdir=@persist" ]; + neededForBoot = true; # NOTE for impermanence only }; } # SWAP (optional) @@ -109,6 +110,18 @@ lib.mkMerge [ # }; } ) + { + # Impermanence fix + boot.initrd.systemd.services.create-needed-for-boot-dirs = { + after = [ + "unlock-bcachefs-custom.service" + ]; + requires = [ + "unlock-bcachefs-custom.service" + ]; + serviceConfig.KeyringMode = "shared"; + }; + } # Bcachefs auto decryption { boot.supportedFilesystems = [ @@ -135,10 +148,12 @@ lib.mkMerge [ # Make this part of the root-fs chain, not just initrd.target wantedBy = [ + "persist.mount" "sysroot.mount" "initrd-root-fs.target" ]; before = [ + "persist.mount" "sysroot.mount" "initrd-root-fs.target" ];