2021-03-30 20:10:58 +02:00
|
|
|
{ dev, nixos, inputs, ... }:
|
|
|
|
let
|
|
|
|
inherit (dev) os;
|
|
|
|
inherit (inputs) utils deploy;
|
|
|
|
evalFlakeArgs = dev.callLibs ./evalArgs.nix;
|
|
|
|
in
|
|
|
|
|
|
|
|
{ self, ... } @ args:
|
|
|
|
let
|
|
|
|
|
2021-03-26 19:57:24 +01:00
|
|
|
cfg = (evalFlakeArgs { inherit args; }).config;
|
2021-03-30 20:10:58 +02:00
|
|
|
|
|
|
|
multiPkgs = os.mkPkgs { inherit (cfg) extern overrides; };
|
|
|
|
|
|
|
|
outputs = {
|
|
|
|
nixosConfigurations = os.mkHosts {
|
|
|
|
inherit self multiPkgs;
|
|
|
|
inherit (cfg) extern suites overrides;
|
|
|
|
dir = cfg.hosts;
|
|
|
|
};
|
|
|
|
|
|
|
|
homeConfigurations = os.mkHomeConfigurations;
|
|
|
|
|
|
|
|
nixosModules = cfg.modules;
|
|
|
|
|
|
|
|
homeModules = cfg.userModules;
|
|
|
|
|
|
|
|
overlay = cfg.packages;
|
|
|
|
inherit (cfg) overlays;
|
|
|
|
|
|
|
|
deploy.nodes = os.mkNodes deploy self.nixosConfigurations;
|
|
|
|
};
|
|
|
|
|
|
|
|
systemOutputs = utils.lib.eachDefaultSystem (system:
|
|
|
|
let
|
|
|
|
pkgs = multiPkgs.${system};
|
2021-04-10 19:59:10 +02:00
|
|
|
pkgs-lib = dev.pkgs-lib.${system};
|
2021-03-30 20:10:58 +02:00
|
|
|
# all packages that are defined in ./pkgs
|
|
|
|
legacyPackages = os.mkPackages { inherit pkgs; };
|
|
|
|
in
|
|
|
|
{
|
2021-04-10 19:59:10 +02:00
|
|
|
checks = pkgs-lib.tests.mkChecks {
|
|
|
|
inherit (self.deploy) nodes;
|
|
|
|
hosts = self.nixosConfigurations;
|
|
|
|
homes = self.homeConfigurations;
|
|
|
|
};
|
2021-03-30 20:10:58 +02:00
|
|
|
|
|
|
|
inherit legacyPackages;
|
|
|
|
packages = dev.filterPackages system legacyPackages;
|
|
|
|
|
2021-04-10 19:59:10 +02:00
|
|
|
devShell = pkgs-lib.shell;
|
2021-03-30 20:10:58 +02:00
|
|
|
});
|
|
|
|
in
|
2021-04-10 03:22:08 +02:00
|
|
|
outputs // systemOutputs
|
2021-03-30 20:10:58 +02:00
|
|
|
|