Update flake.nix
This commit is contained in:
33
flake.nix
33
flake.nix
@@ -38,24 +38,27 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs:
|
outputs = inputs:
|
||||||
let gen = import ./generator.nix { inherit inputs; };
|
let
|
||||||
|
lib = inputs.nixpkgs.lib;
|
||||||
|
gen = import ./generator.nix { inherit inputs; };
|
||||||
|
systemsDir = ./systems;
|
||||||
|
systemNames = lib.attrNames (lib.filterAttrs
|
||||||
|
(name: type: type == "directory" && builtins.pathExists (systemsDir + "/${name}/cfg.nix"))
|
||||||
|
(builtins.readDir systemsDir));
|
||||||
|
hostsByType = systemType:
|
||||||
|
lib.filter
|
||||||
|
(host: (import (systemsDir + "/${host}/cfg.nix")).syscfg.type == systemType)
|
||||||
|
systemNames;
|
||||||
|
generateHosts = systemType:
|
||||||
|
builtins.listToAttrs (map
|
||||||
|
(host: lib.nameValuePair host (gen.generate { inherit host; }))
|
||||||
|
(hostsByType systemType));
|
||||||
in {
|
in {
|
||||||
devShells = import ./shells { inherit inputs; };
|
devShells = import ./shells { inherit inputs; };
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = generateHosts "nixos";
|
||||||
valinor = gen.generate { host = "valinor"; };
|
darwinConfigurations = generateHosts "macos";
|
||||||
iriy = gen.generate { host = "iriy"; };
|
homeConfigurations = generateHosts "home";
|
||||||
efir = gen.generate { host = "efir"; };
|
|
||||||
avalon = gen.generate { host = "avalon"; };
|
|
||||||
ci = gen.generate { host = "ci"; };
|
|
||||||
sandbox = gen.generate { host = "sandbox"; };
|
|
||||||
gateway = gen.generate { host = "gateway"; };
|
|
||||||
};
|
|
||||||
darwinConfigurations = { asgard = gen.generate { host = "asgard"; }; };
|
|
||||||
homeConfigurations = {
|
|
||||||
yomi = gen.generate { host = "example"; };
|
|
||||||
example = gen.generate { host = "example"; };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# ===== Unsupported/NotImplemented ======
|
# ===== Unsupported/NotImplemented ======
|
||||||
|
|||||||
Reference in New Issue
Block a user