diff --git a/flake.lock b/flake.lock index 46e3c1a..ceb63b8 100644 --- a/flake.lock +++ b/flake.lock @@ -3,7 +3,7 @@ "agenix": { "inputs": { "darwin": "darwin", - "home-manager": "home-manager_2", + "home-manager": "home-manager", "nixpkgs": [ "ragenix", "nixpkgs" @@ -105,27 +105,6 @@ } }, "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1717525419, - "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "master", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_2": { "inputs": { "nixpkgs": [ "ragenix", @@ -147,13 +126,124 @@ "type": "github" } }, - "nixpkgs": { + "home-manager_gdpPocket3": { + "inputs": { + "nixpkgs": [ + "nixpkgs_gpdPocket3" + ] + }, "locked": { - "lastModified": 1717602782, - "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", + "lastModified": 1718530513, + "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.05", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_h002": { + "inputs": { + "nixpkgs": [ + "nixpkgs_h002" + ] + }, + "locked": { + "lastModified": 1718530513, + "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.05", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_joe": { + "inputs": { + "nixpkgs": [ + "nixpkgs_joe" + ] + }, + "locked": { + "lastModified": 1718530513, + "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.05", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs_gpdPocket3": { + "locked": { + "lastModified": 1718717462, + "narHash": "sha256-qddfQLMaWR2gxfEzUM/zFZVK6H1kTv9WBQSBQxbP3MU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", + "rev": "938aa157bbd6e3c6fd7dcb77998b1f92c2ad1631", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_h002": { + "locked": { + "lastModified": 1718714799, + "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_joe": { + "locked": { + "lastModified": 1718714799, + "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_unstable": { + "locked": { + "lastModified": 1718714799, + "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e", "type": "github" }, "original": { @@ -214,7 +304,7 @@ "nypkgs": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs_unstable" ] }, "locked": { @@ -237,7 +327,7 @@ "crane": "crane", "flake-utils": "flake-utils", "nixpkgs": [ - "nixpkgs" + "nixpkgs_unstable" ], "rust-overlay": "rust-overlay" }, @@ -258,7 +348,7 @@ "ringofstorms-nvim": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs_unstable" ], "nvim_plugin-chrisgrieser/nvim-early-retirement": "nvim_plugin-chrisgrieser/nvim-early-retirement", "nvim_plugin-j-hui/fidget.nvim": "nvim_plugin-j-hui/fidget.nvim", @@ -281,8 +371,13 @@ }, "root": { "inputs": { - "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "home-manager_gdpPocket3": "home-manager_gdpPocket3", + "home-manager_h002": "home-manager_h002", + "home-manager_joe": "home-manager_joe", + "nixpkgs_gpdPocket3": "nixpkgs_gpdPocket3", + "nixpkgs_h002": "nixpkgs_h002", + "nixpkgs_joe": "nixpkgs_joe", + "nixpkgs_unstable": "nixpkgs_unstable", "nypkgs": "nypkgs", "ragenix": "ragenix", "ringofstorms-nvim": "ringofstorms-nvim" diff --git a/flake.nix b/flake.nix index d41deb4..1c974c8 100644 --- a/flake.nix +++ b/flake.nix @@ -2,28 +2,39 @@ description = "My systems flake"; inputs = { + nixpkgs_unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + + nixpkgs_joe.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager_joe = { + url = "github:nix-community/home-manager/release-24.05"; + inputs.nixpkgs.follows = "nixpkgs_joe"; + }; + nixpkgs_h002.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager_h002 = { + url = "github:nix-community/home-manager/release-24.05"; + inputs.nixpkgs.follows = "nixpkgs_h002"; + }; + nixpkgs_gpdPocket3.url = "github:nixos/nixpkgs/nixos-24.05"; + home-manager_gdpPocket3 = { + url = "github:nix-community/home-manager/release-24.05"; + inputs.nixpkgs.follows = "nixpkgs_gpdPocket3"; + }; + # Nix utility methods nypkgs = { url = "github:yunfachi/nypkgs"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs_unstable"; }; # Secrets management for nix ragenix = { url = "github:yaxitech/ragenix"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs_unstable"; }; - home-manager = { - url = "github:nix-community/home-manager/master"; - inputs.nixpkgs.follows = "nixpkgs"; # Use system packages list where available - }; - - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - ringofstorms-nvim = { url = "github:RingOfStorms/nvim"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs_unstable"; }; }; @@ -31,8 +42,13 @@ { self, nypkgs, - nixpkgs, - home-manager, + nixpkgs_unstable, + nixpkgs_joe, + home-manager_joe, + nixpkgs_gpdPocket3, + home-manager_gdpPocket3, + nixpkgs_h002, + home-manager_h002, ... }@inputs: let @@ -44,15 +60,6 @@ }; }; myHosts = [ - { - name = "gpdPocket3"; - opts = { - system = "x86_64-linux"; - }; - settings = { - inherit user; - }; - } { name = "joe"; opts = { @@ -60,6 +67,19 @@ }; settings = { inherit user; + nixpkgs = nixpkgs_joe; + home-manager = home-manager_joe; + }; + } + { + name = "gpdPocket3"; + opts = { + system = "x86_64-linux"; + }; + settings = { + inherit user; + nixpkgs = nixpkgs_gpdPocket3; + home-manager = home-manager_gdpPocket3; }; } { @@ -75,6 +95,8 @@ name = "RingOfStorms (Joshua Bell)"; }; }; + nixpkgs = nixpkgs_h002; + home-manager = home-manager_h002; }; } ]; @@ -94,7 +116,7 @@ acc // { "${nixConfig.name}" = - nixpkgs.lib.nixosSystem { + nixConfig.settings.nixpkgs.lib.nixosSystem { # module = nixConfig.overrides.modules or [...] modules = [ ./hosts/_common/configuration.nix ]; specialArgs = inputs // { diff --git a/hosts/_common/components/home_manager.nix b/hosts/_common/components/home_manager.nix index 4cbb20c..1ee240a 100644 --- a/hosts/_common/components/home_manager.nix +++ b/hosts/_common/components/home_manager.nix @@ -1,18 +1,23 @@ -{ config, pkgs, home-manager, settings, ylib, ... } @ inputs: -# Note that we must have the channel added for the import to work below -# `sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager` -# `sudo nix-channel --update` { - imports = - [ - # home manager import - home-manager.nixosModules.home-manager - # home-manager - ]; + config, + settings, + ylib, + ... +}@inputs: +let + home-manager = settings.home-manager; +in +{ + imports = [ home-manager.nixosModules.home-manager ]; + # Home manager options security.polkit.enable = true; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; - home-manager.extraSpecialArgs = { inherit settings; inherit ylib; inherit (inputs) ragenix; inherit (config) age; }; + home-manager.extraSpecialArgs = { + inherit settings; + inherit ylib; + inherit (inputs) ragenix; + inherit (config) age; + }; } -