separate out nixpkgs per host

This commit is contained in:
RingOfStorms (Josh) 2024-06-20 12:51:12 -05:00
parent 7db5442cc0
commit b12cc50714
3 changed files with 187 additions and 65 deletions

157
flake.lock generated
View file

@ -3,7 +3,7 @@
"agenix": { "agenix": {
"inputs": { "inputs": {
"darwin": "darwin", "darwin": "darwin",
"home-manager": "home-manager_2", "home-manager": "home-manager",
"nixpkgs": [ "nixpkgs": [
"ragenix", "ragenix",
"nixpkgs" "nixpkgs"
@ -105,27 +105,6 @@
} }
}, },
"home-manager": { "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": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"ragenix", "ragenix",
@ -147,13 +126,124 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "home-manager_gdpPocket3": {
"inputs": {
"nixpkgs": [
"nixpkgs_gpdPocket3"
]
},
"locked": { "locked": {
"lastModified": 1717602782, "lastModified": 1718530513,
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", "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", "owner": "nixos",
"repo": "nixpkgs", "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" "type": "github"
}, },
"original": { "original": {
@ -214,7 +304,7 @@
"nypkgs": { "nypkgs": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs_unstable"
] ]
}, },
"locked": { "locked": {
@ -237,7 +327,7 @@
"crane": "crane", "crane": "crane",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs_unstable"
], ],
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
@ -258,7 +348,7 @@
"ringofstorms-nvim": { "ringofstorms-nvim": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs_unstable"
], ],
"nvim_plugin-chrisgrieser/nvim-early-retirement": "nvim_plugin-chrisgrieser/nvim-early-retirement", "nvim_plugin-chrisgrieser/nvim-early-retirement": "nvim_plugin-chrisgrieser/nvim-early-retirement",
"nvim_plugin-j-hui/fidget.nvim": "nvim_plugin-j-hui/fidget.nvim", "nvim_plugin-j-hui/fidget.nvim": "nvim_plugin-j-hui/fidget.nvim",
@ -281,8 +371,13 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager_gdpPocket3": "home-manager_gdpPocket3",
"nixpkgs": "nixpkgs", "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", "nypkgs": "nypkgs",
"ragenix": "ragenix", "ragenix": "ragenix",
"ringofstorms-nvim": "ringofstorms-nvim" "ringofstorms-nvim": "ringofstorms-nvim"

View file

@ -2,28 +2,39 @@
description = "My systems flake"; description = "My systems flake";
inputs = { 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 # Nix utility methods
nypkgs = { nypkgs = {
url = "github:yunfachi/nypkgs"; url = "github:yunfachi/nypkgs";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs_unstable";
}; };
# Secrets management for nix # Secrets management for nix
ragenix = { ragenix = {
url = "github:yaxitech/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 = { ringofstorms-nvim = {
url = "github:RingOfStorms/nvim"; url = "github:RingOfStorms/nvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs_unstable";
}; };
}; };
@ -31,8 +42,13 @@
{ {
self, self,
nypkgs, nypkgs,
nixpkgs, nixpkgs_unstable,
home-manager, nixpkgs_joe,
home-manager_joe,
nixpkgs_gpdPocket3,
home-manager_gdpPocket3,
nixpkgs_h002,
home-manager_h002,
... ...
}@inputs: }@inputs:
let let
@ -44,15 +60,6 @@
}; };
}; };
myHosts = [ myHosts = [
{
name = "gpdPocket3";
opts = {
system = "x86_64-linux";
};
settings = {
inherit user;
};
}
{ {
name = "joe"; name = "joe";
opts = { opts = {
@ -60,6 +67,19 @@
}; };
settings = { settings = {
inherit user; 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)"; name = "RingOfStorms (Joshua Bell)";
}; };
}; };
nixpkgs = nixpkgs_h002;
home-manager = home-manager_h002;
}; };
} }
]; ];
@ -94,7 +116,7 @@
acc acc
// { // {
"${nixConfig.name}" = "${nixConfig.name}" =
nixpkgs.lib.nixosSystem { nixConfig.settings.nixpkgs.lib.nixosSystem {
# module = nixConfig.overrides.modules or [...] # module = nixConfig.overrides.modules or [...]
modules = [ ./hosts/_common/configuration.nix ]; modules = [ ./hosts/_common/configuration.nix ];
specialArgs = inputs // { specialArgs = inputs // {

View file

@ -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 = config,
[ settings,
# home manager import ylib,
home-manager.nixosModules.home-manager ...
# home-manager }@inputs:
]; let
home-manager = settings.home-manager;
in
{
imports = [ home-manager.nixosModules.home-manager ];
# Home manager options # Home manager options
security.polkit.enable = true; security.polkit.enable = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = 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;
};
} }