remote install config

This commit is contained in:
2026-04-24 14:48:12 -05:00
parent 015e786e23
commit 613e37d58b
11 changed files with 283 additions and 245 deletions

View File

@@ -19,7 +19,10 @@
inputs.nixpkgs.follows = "cmpkgs";
};
determinate.url = "github:DeterminateSystems/determinate";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "cmpkgs";
};
};
outputs = inputs:
@@ -42,8 +45,8 @@
mkSystem = n: _v:
let
defaults = {
npkgs = inputs.cmpkgs;
path = ./hosts/${n}/configuration.nix;
npkgs = inputs.cmpkgs;
path = ./hosts/${n}/configuration.nix;
extraModules = [ ];
};
v = defaults // _v;
@@ -52,10 +55,25 @@
modules = [
v.path
inputs.home-manager.nixosModules.home-manager
inputs.disko.nixosModules.disko
inputs.sops-nix.nixosModules.sops
] ++ v.extraModules;
specialArgs = { inherit inputs; };
};
mkIso = n: _v:
let
defaults = {
npkgs = inputs.cmpkgs;
path = ./hosts/${n}/configuration.nix;
};
v = defaults // _v;
in
v.npkgs.lib.nixosSystem {
modules = [ v.path ];
specialArgs = { inherit inputs; };
};
## Top-level nixos configs, keyed by system
nixosConfigsEx = {
"x86_64-linux" = {
@@ -65,7 +83,9 @@
};
nixosConfigs = lib.foldl' (op: nul: nul // op) { } (lib.attrValues nixosConfigsEx);
nixosConfigurations = lib.mapAttrs (n: v: mkSystem n v) nixosConfigs;
nixosConfigurations = lib.mapAttrs (n: v: mkSystem n v) nixosConfigs // {
iso = mkIso "iso" { };
};
toplevels = lib.mapAttrs (_: v: v.config.system.build.toplevel) nixosConfigurations;
nixosModules = { };