Add nixos-unstable overlay

This commit is contained in:
Jordan Holt 2024-01-20 17:46:14 +00:00
parent 71d953d253
commit 238b7c503c
Signed by: jordan
GPG Key ID: B8CFFF61F1CCF520
2 changed files with 34 additions and 13 deletions

16
flake.lock generated
View File

@ -188,6 +188,21 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": {
"locked": {
"lastModified": 1705496572,
"narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "842d9d80cfd4560648c785f8a4e6f3b096790e19",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1702272962, "lastModified": 1702272962,
@ -228,6 +243,7 @@
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable",
"secrets": "secrets", "secrets": "secrets",
"thunderbird-gnome-theme": "thunderbird-gnome-theme" "thunderbird-gnome-theme": "thunderbird-gnome-theme"
} }

View File

@ -3,6 +3,8 @@
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixos-23.11"; nixpkgs.url = "nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
# nixpkgs-master.url = "nixpkgs";
agenix.url = "github:ryantm/agenix"; agenix.url = "github:ryantm/agenix";
deploy-rs.url = "github:serokell/deploy-rs"; deploy-rs.url = "github:serokell/deploy-rs";
disko = { disko = {
@ -28,12 +30,18 @@
}; };
}; };
outputs = inputs @ { self, nixpkgs, agenix, deploy-rs, disko, home-manager, nixos-hardware, secrets, ... }: outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, agenix, deploy-rs, disko, home-manager, nixos-hardware, secrets, ... }:
let let
nixpkgsForSystem = system: inputs.nixpkgs; mkPkgsForSystem = system: inputs.nixpkgs;
overlays = [ overlays = [
agenix.overlays.default agenix.overlays.default
(import ./overlays/gnome.nix) (import ./overlays/gnome.nix)
(
final: prev: {
unstable = import inputs.nixpkgs-unstable { system = final.system; };
custom = self.packages { system = final.system; };
}
)
]; ];
commonModules = [ commonModules = [
agenix.nixosModules.age agenix.nixosModules.age
@ -41,9 +49,9 @@
home-manager.nixosModule home-manager.nixosModule
./modules ./modules
]; ];
nixosSystem = { system, name, extraModules ? [] }: mkNixosSystem = { system, name, extraModules ? [] }:
let let
nixpkgs = nixpkgsForSystem system; nixpkgs = mkPkgsForSystem system;
lib = (import nixpkgs { inherit overlays system; }).lib; lib = (import nixpkgs { inherit overlays system; }).lib;
in in
inputs.nixpkgs.lib.nixosSystem { inputs.nixpkgs.lib.nixosSystem {
@ -58,9 +66,6 @@
config.allowUnfree = true; config.allowUnfree = true;
}; };
networking.hostName = name; networking.hostName = name;
nix = {
extraOptions = "experimental-features = nix-command flakes";
};
}) })
./hosts/${name} ./hosts/${name}
] ++ extraModules; ] ++ extraModules;
@ -68,12 +73,12 @@
in in
{ {
nixosConfigurations = { nixosConfigurations = {
atlas = nixosSystem { system = "x86_64-linux"; name = "atlas"; }; atlas = mkNixosSystem { system = "x86_64-linux"; name = "atlas"; };
eos = nixosSystem { system = "x86_64-linux"; name = "eos"; }; eos = mkNixosSystem { system = "x86_64-linux"; name = "eos"; };
helios = nixosSystem { system = "x86_64-linux"; name = "helios"; }; helios = mkNixosSystem { system = "x86_64-linux"; name = "helios"; };
hypnos = nixosSystem { system = "x86_64-linux"; name = "hypnos"; }; hypnos = mkNixosSystem { system = "x86_64-linux"; name = "hypnos"; };
odyssey = nixosSystem { system = "x86_64-linux"; name = "odyssey"; }; odyssey = mkNixosSystem { system = "x86_64-linux"; name = "odyssey"; };
pi = nixosSystem { system = "aarch64-linux"; name = "pi"; extraModules = [ nixos-hardware.nixosModules.raspberry-pi-4 ]; }; pi = mkNixosSystem { system = "aarch64-linux"; name = "pi"; extraModules = [ nixos-hardware.nixosModules.raspberry-pi-4 ]; };
}; };
deploy.nodes.pi = { deploy.nodes.pi = {