Unify unstable and stable

This commit is contained in:
Greg Hellings
2022-10-17 10:46:50 -05:00
parent 8ddad3e1eb
commit e6123ec212
4 changed files with 119 additions and 85 deletions
Generated
+40 -40
View File
@@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1662241716, "lastModified": 1665870395,
"narHash": "sha256-urqPvSvvGUhkwzTDxUI8N1nsdMysbAfjmBNZaTYBZRU=", "narHash": "sha256-Tsbqb27LDNxOoPLh0gw2hIb6L/6Ow/6lIBvqcHzEKBI=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "c96da5835b76d3d8e8d99a0fec6fe32f8539ee2e", "rev": "a630400067c6d03c9b3e0455347dc8559db14288",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -25,11 +25,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1662478528, "lastModified": 1665392861,
"narHash": "sha256-Myjd0HPL5lXri3NXOcJ6gP7IKod2eMweQBKM4uxgEGw=", "narHash": "sha256-bCd8fYJMAb0LzabsiXl4nxECDoz483bJOCa2hjox7N0=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "3b69bf3cc26ae19de847bfe54d6ab22d7381a90a", "rev": "ef56fd8979b5f4e800c4716f62076e00600b1172",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -42,15 +42,15 @@
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "stable"
] ]
}, },
"locked": { "locked": {
"lastModified": 1656169755, "lastModified": 1665475263,
"narHash": "sha256-Nlnm4jeQWEGjYrE6hxi/7HYHjBSZ/E0RtjCYifnNsWk=", "narHash": "sha256-T4at7d+KsQNWh5rfjvOtQCaIMWjSDlSgQZKvxb+LcEY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4a3d01fb53f52ac83194081272795aa4612c2381", "rev": "17208be516fc36e2ab0ceb064d931e90eb88b2a3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -62,43 +62,27 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1638587357, "lastModified": 1665732960,
"narHash": "sha256-2ySMW3QARG8BsRPmwe7clTbdCuaObromOKewykP+UJc=", "narHash": "sha256-WBZ+uSHKFyjvd0w4inbm0cNExYTn8lpYFcHEes8tmec=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e34c5379866833f41e2a36f309912fa675d687c7", "rev": "4428e23312933a196724da2df7ab78eb5e67a88e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-21.11", "ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1662099760,
"narHash": "sha256-MdZLCTJPeHi/9fg6R9fiunyDwP3XHJqDd51zWWz9px0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "67e45078141102f45eff1589a831aeaa3182b41e",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-22.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixunstable": { "nixunstable": {
"locked": { "locked": {
"lastModified": 1662019588, "lastModified": 1665848363,
"narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=", "narHash": "sha256-3Jow1YxzPtQnck1bAAvbVxgRH4gNnkIdw871Vm6UtAU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2da64a81275b68fdad38af669afeda43d401e94b", "rev": "83b198a2083774844962c854f811538323f9f7b1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -110,11 +94,11 @@
}, },
"nurpkgs": { "nurpkgs": {
"locked": { "locked": {
"lastModified": 1662716683, "lastModified": 1665979830,
"narHash": "sha256-NU+YC3jT99fp8CPhtm+mgM/c8PP6DwIRzIGkuCO3Vss=", "narHash": "sha256-0xcqP+Pr2zeX8A2BpqodcPwN5sR0TfC8twuXUjzG2g4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "44284844e8329dfd07163965d0b9e2c3192911bc", "rev": "704e1ef5bdb1af57b4f7988abf2ef80c897dfc9b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -128,9 +112,25 @@
"agenix": "agenix", "agenix": "agenix",
"darwin": "darwin", "darwin": "darwin",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs_2",
"nixunstable": "nixunstable", "nixunstable": "nixunstable",
"nurpkgs": "nurpkgs" "nurpkgs": "nurpkgs",
"stable": "stable"
}
},
"stable": {
"locked": {
"lastModified": 1665927063,
"narHash": "sha256-2oImLqwQqVOQhTXsGUahqrYpe+Pufq+8XTsceYwBfJs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "8de8b98839d1f20089582cfe1a81207258fcc1f1",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-22.05",
"repo": "nixpkgs",
"type": "github"
} }
} }
}, },
+44 -43
View File
@@ -5,12 +5,12 @@
description = "Greg's machines!"; description = "Greg's machines!";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-22.05"; stable.url = "github:nixos/nixpkgs/nixos-22.05";
nixunstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixunstable.url = "github:nixos/nixpkgs/nixos-unstable";
agenix.url = "github:ryantm/agenix"; agenix.url = "github:ryantm/agenix";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-22.05"; url = "github:nix-community/home-manager/release-22.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "stable";
}; };
darwin = { darwin = {
url = "github:lnl7/nix-darwin/master"; url = "github:lnl7/nix-darwin/master";
@@ -19,69 +19,69 @@
nurpkgs.url = "github:nix-community/NUR"; nurpkgs.url = "github:nix-community/NUR";
}; };
outputs = {nixpkgs, nixunstable, agenix, home-manager, nurpkgs, self, ...}@inputs: outputs = {stable, nixunstable, agenix, home-manager, nurpkgs, self, ...}@inputs:
let let
local_overlay = import ./overlays; local_overlay = import ./overlays;
overlays = [ overlays = [
agenix.overlay
local_overlay local_overlay
nurpkgs.overlay nurpkgs.overlay
]; ];
overlaid = system: import nixpkgs {
inherit overlays system;
};
mods = hostname: [
{ nixpkgs.overlays = overlays; }
agenix.nixosModule
./modules-all
./modules-linux
./hosts/${hostname}
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit nixunstable;
};
}
];
machine = system: name: nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = inputs;
modules = mods name;
};
darwinMods = hostname: [ darwinMods = hostname: [
{ nixpkgs.overlays = overlays; } { stable.overlays = overlays; }
inputs.agenix.nixosModule inputs.agenix.nixosModule
./modules-all ./modules-all
./modules-darwin ./modules-darwin
./hosts/${hostname} ./hosts/${hostname}
]; ];
unstableMachine = system: name: inputs.nixunstable.lib.nixosSystem { machine = {
system = system; system ? "x86_64-linux",
modules = mods name; name,
channel ? stable
}:
let
nixpkgs = channel;
in nixpkgs.lib.nixosSystem {
inherit system;
modules = [
{ nixpkgs.overlays = overlays; }
agenix.nixosModule
./modules-all
./modules-linux
./hosts/${name}
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit nixpkgs;
};
}
];
specialArgs = { specialArgs = {
nixpkgs = inputs.nixunstable;
nixunstable = inputs.nixunstable;
agenix = inputs.agenix;
home-manager = inputs.home-manager; home-manager = inputs.home-manager;
nur = inputs.nur; inherit nixpkgs;
}; };
}; };
in { in {
nixosConfigurations = { nixosConfigurations = {
"2maccabees" = unstableMachine "aarch64-linux" "2maccabees"; "2maccabees" = machine {
system = "aarch64-linux";
name = "2maccabees";
channel = nixunstable;
};
"linode" = machine "x86_64-linux" "linode";
"jude" = unstableMachine "x86_64-linux" "jude"; jude = machine {
name = "jude";
channel = nixunstable;
};
"lappy" = machine "x86_64-linux" "lappy"; "linode" = machine { name = "linode"; };
"lappy" = machine { name = "lappy"; };
"iso" = machine "x86_64-linux" "iso"; "iso" = machine { name = "iso"; };
}; };
darwinConfigurations = { darwinConfigurations = {
@@ -97,7 +97,8 @@
homeConfigurations = ( homeConfigurations = (
import ./home { import ./home {
inherit nixpkgs nixunstable agenix home-manager nurpkgs; inherit nixunstable agenix home-manager nurpkgs;
nixpkgs = nixunstable;
} }
); );
@@ -107,6 +108,6 @@
./modules-linux ./modules-linux
./modules-darwin ./modules-darwin
]; ];
packages = import ./overlays/packages.nix { pkgs = nixpkgs; }; packages = import ./overlays/packages.nix { pkgs = stable; };
}; };
} }
+33
View File
@@ -0,0 +1,33 @@
{ ... }:
let
local_overlay = import ./overlays;
in {
makeMachine =
{system, name, pkgs,
agenix ? import <agenix>,
home-manager ? import <home-manager>}:
let
mods = hostname: [
agenix.nixosModule
./modules-all
./modules-linux
./hosts/${hostname}
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
nixunstable = pkgs;
};
}
];
in (pkgs.lib.nixosSystem {
inherit system;
modules = (mods name);
specialArgs = {
nixpkgs = pkgs;
agenix = agenix;
home-manager = home-manager;
};
});
}
+2 -2
View File
@@ -1,4 +1,4 @@
{ pkgs, agenix, ... }: { pkgs, ... }:
let let
myPackages = pypackages: with pypackages; [ myPackages = pypackages: with pypackages; [
@@ -10,7 +10,7 @@ let
in { in {
# Base packages that need to be in all my hosts # Base packages that need to be in all my hosts
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
agenix.defaultPackage."${system}" agenix
android-file-transfer android-file-transfer
bitwarden-cli bitwarden-cli
diffutils diffutils