use impermanence and try to fix ordering

This commit is contained in:
RingOfStorms (Joshua Bell) 2025-12-17 12:00:58 -06:00
parent 75b37cc9ec
commit b4b952b6e3
3 changed files with 54 additions and 39 deletions

66
hosts/i001/flake.lock generated
View file

@ -3,11 +3,11 @@
"common": { "common": {
"locked": { "locked": {
"dir": "flakes/common", "dir": "flakes/common",
"lastModified": 1765746440, "lastModified": 1765991726,
"narHash": "sha256-neLhMrA1aHl1OuPvDAyB3dkycam85UF9WmV/LB1UNEw=", "narHash": "sha256-oblFg2soKB7yi9DDXbzWKn8tnA1aoojKrA3+aVx+wb0=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "eb0c38f508bfe5bd11d186b3aadbe32ec8df19fe", "rev": "75b37cc9ec2014dd8dea941bb3faf9c0b665c6d0",
"revCount": 898, "revCount": 941,
"type": "git", "type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
}, },
@ -23,11 +23,11 @@
}, },
"locked": { "locked": {
"dir": "flakes/de_plasma", "dir": "flakes/de_plasma",
"lastModified": 1765746440, "lastModified": 1765991726,
"narHash": "sha256-neLhMrA1aHl1OuPvDAyB3dkycam85UF9WmV/LB1UNEw=", "narHash": "sha256-oblFg2soKB7yi9DDXbzWKn8tnA1aoojKrA3+aVx+wb0=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "eb0c38f508bfe5bd11d186b3aadbe32ec8df19fe", "rev": "75b37cc9ec2014dd8dea941bb3faf9c0b665c6d0",
"revCount": 898, "revCount": 941,
"type": "git", "type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
}, },
@ -64,11 +64,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1765605144, "lastModified": 1765979862,
"narHash": "sha256-RM2xs+1HdHxesjOelxoA3eSvXShC8pmBvtyTke4Ango=", "narHash": "sha256-/r9/1KamvbHJx6I40H4HsSXnEcBAkj46ZwibhBx9kg0=",
"owner": "rycee", "owner": "rycee",
"repo": "home-manager", "repo": "home-manager",
"rev": "90b62096f099b73043a747348c11dbfcfbdea949", "rev": "d3135ab747fd9dac250ffb90b4a7e80634eacbe9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -78,6 +78,21 @@
"type": "github" "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": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1756542300, "lastModified": 1756542300,
@ -96,11 +111,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1764983851, "lastModified": 1765762245,
"narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=", "narHash": "sha256-3iXM/zTqEskWtmZs3gqNiVtRTsEjYAedIaLL0mSBsrk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454", "rev": "c8cfcd6ccd422e41cc631a0b73ed4d5a925c393d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -112,11 +127,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1765608474, "lastModified": 1765838191,
"narHash": "sha256-9Wx53UK0z8Di5iesJID0tS1dRKwGxI4i7tsSanOHhF0=", "narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "28bb483c11a1214a73f9fd2d9928a6e2ea86ec71", "rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1024,28 +1039,13 @@
"type": "github" "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": { "root": {
"inputs": { "inputs": {
"common": "common", "common": "common",
"de_plasma": "de_plasma", "de_plasma": "de_plasma",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"impermanence": "impermanence",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"preservation": "preservation",
"ros_neovim": "ros_neovim" "ros_neovim": "ros_neovim"
} }
}, },

View file

@ -10,8 +10,8 @@
ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim";
# impermanence.url = "github:nix-community/impermanence"; impermanence.url = "github:nix-community/impermanence";
preservation.url = "github:nix-community/preservation"; # preservation.url = "github:nix-community/preservation";
}; };
outputs = outputs =
@ -35,8 +35,8 @@
inherit inputs; inherit inputs;
}; };
modules = [ modules = [
# inputs.impermanence.nixosModules.impermanence inputs.impermanence.nixosModules.impermanence
inputs.preservation.nixosModules.preservation # inputs.preservation.nixosModules.preservation
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
inputs.ros_neovim.nixosModules.default inputs.ros_neovim.nixosModules.default
@ -67,8 +67,8 @@
./hardware-configuration.nix ./hardware-configuration.nix
./hardware-mounts.nix ./hardware-mounts.nix
# ./impermanence.nix ./impermanence.nix
./preservation.nix # ./preservation.nix
( (
{ {
config, config,

View file

@ -62,6 +62,7 @@ lib.mkMerge [
"X-mount.mkdir" "X-mount.mkdir"
"X-mount.subdir=@persist" "X-mount.subdir=@persist"
]; ];
neededForBoot = true; # NOTE for impermanence only
}; };
} }
# SWAP (optional) # 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 # Bcachefs auto decryption
{ {
boot.supportedFilesystems = [ boot.supportedFilesystems = [
@ -135,10 +148,12 @@ lib.mkMerge [
# Make this part of the root-fs chain, not just initrd.target # Make this part of the root-fs chain, not just initrd.target
wantedBy = [ wantedBy = [
"persist.mount"
"sysroot.mount" "sysroot.mount"
"initrd-root-fs.target" "initrd-root-fs.target"
]; ];
before = [ before = [
"persist.mount"
"sysroot.mount" "sysroot.mount"
"initrd-root-fs.target" "initrd-root-fs.target"
]; ];