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": {
"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"

View file

@ -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 // {

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 =
[
# 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;
};
}