remote install config
This commit is contained in:
28
flake.nix
28
flake.nix
@@ -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 = { };
|
||||
|
||||
Reference in New Issue
Block a user