diff --git a/flake.lock b/flake.lock index 44d866a..59c9eef 100644 --- a/flake.lock +++ b/flake.lock @@ -187,7 +187,11 @@ }, "disko": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": [ + "system", + "diskoConfig", + "nixpkgs" + ] }, "locked": { "lastModified": 1728334376, @@ -198,7 +202,24 @@ "type": "github" }, "original": { - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/disko", + "owner": "nix-community", + "repo": "disko", + "type": "github" + } + }, + "diskoConfig": { + "inputs": { + "disko": "disko", + "nixpkgs": "nixpkgs_9" + }, + "locked": { + "lastModified": 1, + "narHash": "sha256-p0w6mKHEYmWJF+2GAcug7yKXzjOhKTWIV4YAoVV6NaM=", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/disko", + "type": "path" + }, + "original": { + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/disko", "type": "path" } }, @@ -970,12 +991,12 @@ }, "locked": { "lastModified": 1, - "narHash": "sha256-Y+1PqDnNncMOtfzxU3d69VtMGRgCOnmgzruIA8UAL38=", - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/impermanence", + "narHash": "sha256-7aqujZhN/iKH7WYa1gCR3H60IMxfmh17AxEP7G2NAAA=", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/impermanence", "type": "path" }, "original": { - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/impermanence", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/impermanence", "type": "path" } }, @@ -1027,11 +1048,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-44GWVRPvMv2i9dkN0/eSCBkSW2xOGC32KWQYF0gOdc8=", - "path": "/nix/store/4ph3kjb0v3abp5i24yx8bdaj81mlnbh2-source/home", + "path": "/nix/store/614181rkgzsqwgwg41ymc1w3j6i3qsxc-source/home", "type": "path" }, "original": { - "path": "/nix/store/4ph3kjb0v3abp5i24yx8bdaj81mlnbh2-source/home", + "path": "/nix/store/614181rkgzsqwgwg41ymc1w3j6i3qsxc-source/home", "type": "path" } }, @@ -1277,11 +1298,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1727672256, - "narHash": "sha256-9/79hjQc9+xyH+QxeMcRsA6hDyw6Z9Eo1/oxjvwirLk=", + "lastModified": 1728500571, + "narHash": "sha256-dOymOQ3AfNI4Z337yEwHGohrVQb4yPODCW9MDUyAc4w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1719f27dd95fd4206afb9cec9f415b539978827e", + "rev": "d51c28603def282a24fa034bcb007e2bcb5b5dd0", "type": "github" }, "original": { @@ -1293,16 +1314,16 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1725194671, - "narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=", - "owner": "NixOS", + "lastModified": 1728500571, + "narHash": "sha256-dOymOQ3AfNI4Z337yEwHGohrVQb4yPODCW9MDUyAc4w=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "b833ff01a0d694b910daca6e2ff4a3f26dee478c", + "rev": "d51c28603def282a24fa034bcb007e2bcb5b5dd0", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -1413,11 +1434,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-6oCDKhDSqJMWeODXDHD5XorN7/+KXBBIPZ2z+obwUNY=", - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/packages", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/packages", "type": "path" }, "original": { - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/packages", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/packages", "type": "path" } }, @@ -1503,11 +1524,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-96Dpr1ejZUBA7m2x2YfNJJxwDRj7Z8r5QV4UrGGxdoU=", - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/programs", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/programs", "type": "path" }, "original": { - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/programs", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/programs", "type": "path" } }, @@ -1584,11 +1605,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-1lPCRKFKK2qmdS+akk6dkrSjXOBe0iBgQp6oTi5vCWM=", - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/sddm", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/sddm", "type": "path" }, "original": { - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/sddm", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/sddm", "type": "path" } }, @@ -1649,17 +1670,17 @@ "locked": { "lastModified": 1, "narHash": "sha256-77xH7oSwHTKWMPseY3d8isc0oV0SgNM+CdrIxhRBOzQ=", - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/services", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/services", "type": "path" }, "original": { - "path": "/nix/store/0vbi7ydq3snblz8zjw9jdhx36c8qis8y-source/services", + "path": "/nix/store/2v9fyg6kws0i1cgvxb3ry91zfrnqzhyv-source/services", "type": "path" } }, "system": { "inputs": { - "disko": "disko", + "diskoConfig": "diskoConfig", "impermanence": "impermanence", "pckgs": "pckgs", "prgms": "prgms_2", @@ -1668,12 +1689,12 @@ }, "locked": { "lastModified": 1, - "narHash": "sha256-TiB1Oc14weyDgkA0rI9aAOwuMb4s2tnGayCekZXUTWY=", - "path": "/nix/store/4ph3kjb0v3abp5i24yx8bdaj81mlnbh2-source/system", + "narHash": "sha256-yvZBqs68CVsRhNIXV0NGZpmBtOHzbCenOmIs/ov1eMo=", + "path": "/nix/store/614181rkgzsqwgwg41ymc1w3j6i3qsxc-source/system", "type": "path" }, "original": { - "path": "/nix/store/4ph3kjb0v3abp5i24yx8bdaj81mlnbh2-source/system", + "path": "/nix/store/614181rkgzsqwgwg41ymc1w3j6i3qsxc-source/system", "type": "path" } }, diff --git a/flake.nix b/flake.nix index 632021f..ad32334 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,7 @@ nathan.url = "./home"; system.url = "./system"; - system.inputs.diskoConfig.inputs.nixpkgs.follows = "nixpkgs"; + #system.inputs.diskoConfig.inputs.nixpkgs.follows = "nixpkgs"; }; @@ -53,7 +53,7 @@ }; nixosConfigurations.iso = nixpkgs.lib.nixosSystem { - inherit iso_system; + #inherit iso_system; specialArgs = { core_inputs = (core_inputs // { inherit host username; }); diff --git a/system/disko/default.nix b/system/disko/default.nix index bdf96d4..a66bc03 100644 --- a/system/disko/default.nix +++ b/system/disko/default.nix @@ -32,5 +32,9 @@ ./impermanent.nix ]; }) + + (lib.mkIf (!config.disko.enable) { + disko.impermanent = lib.mkForce false; + }) ]); } diff --git a/system/disko/flake.nix b/system/disko/flake.nix index 5535215..beea6e8 100644 --- a/system/disko/flake.nix +++ b/system/disko/flake.nix @@ -11,7 +11,7 @@ module = { config, lib, pkgs, devices, ... }: { imports = [ - (./default.nix { inherit devices; }) + (import ./default.nix { inherit config lib pkgs devices; }) inputs.disko.nixosModules.default ]; }; diff --git a/system/impermanence/default.nix b/system/impermanence/default.nix index d38bc90..b67df83 100644 --- a/system/impermanence/default.nix +++ b/system/impermanence/default.nix @@ -2,28 +2,34 @@ options = {}; - config = lib.mkIf config.disko.impermanent { - imports = [ - self.inputs.impermanence.nixosModules.impermanence - ]; + config = lib.mkMerge [ - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist/system" = { - hideMounts = true; - directories = [ - "/etc/nixos" - "/etc/shadow" - "/var/log" - "/var/lib/bluetooth" - "/var/lib/nixos" - "/var/lib/systemd/coredump" - "/etc/NetworkManager/system-connections" - ]; - files = [ - "/etc/machine-id" - ]; - }; + { + imports = [ + self.inputs.impermanence.nixosModules.impermanence + ]; + } - programs.fuse.userAllowOther = true; - }; + (lib.mkIf config.disko.impermanent { + + fileSystems."/persist".neededForBoot = true; + environment.persistence."/persist/system" = { + hideMounts = true; + directories = [ + "/etc/nixos" + "/etc/shadow" + "/var/log" + "/var/lib/bluetooth" + "/var/lib/nixos" + "/var/lib/systemd/coredump" + "/etc/NetworkManager/system-connections" + ]; + files = [ + "/etc/machine-id" + ]; + }; + + programs.fuse.userAllowOther = true; + }) + ]; } diff --git a/system/impermanence/flake.nix b/system/impermanence/flake.nix index 302d65e..0cce1bc 100644 --- a/system/impermanence/flake.nix +++ b/system/impermanence/flake.nix @@ -5,6 +5,6 @@ outputs = { self, ... }: { - module = import ./. { inherit self; }; + module = { config, lib, ... }: import ./. { inherit config lib self; }; }; }