devos/lib/mkFlake/default.nix

56 lines
1.2 KiB
Nix
Raw Normal View History

2021-04-18 03:46:20 +02:00
{ lib, utils, deploy, ... }:
let
inherit (dev) os;
in
_: { self, ... } @ args:
let
2021-04-19 01:30:07 +02:00
userSelf = self;
2021-04-18 03:35:05 +02:00
cfg = (lib.mkFlake.evalOldArgs { inherit args; }).config;
multiPkgs = os.mkPkgs { inherit (cfg) extern overrides; };
outputs = {
nixosConfigurations = os.mkHosts {
2021-04-19 01:30:07 +02:00
inherit userSelf multiPkgs;
inherit (cfg) extern suites overrides;
dir = cfg.hosts;
};
homeConfigurations = os.mkHomeConfigurations;
nixosModules = cfg.modules;
homeModules = cfg.userModules;
overlay = cfg.packages;
inherit (cfg) overlays;
2021-04-19 01:30:07 +02:00
deploy.nodes = os.mkNodes deploy userSelf.nixosConfigurations;
};
systemOutputs = utils.lib.eachDefaultSystem (system:
let
pkgs = multiPkgs.${system};
2021-04-18 03:35:05 +02:00
pkgs-lib = lib.pkgs-lib.${system};
# all packages that are defined in ./pkgs
legacyPackages = os.mkPackages { inherit pkgs; };
in
{
checks = pkgs-lib.tests.mkChecks {
2021-04-19 01:30:07 +02:00
inherit (userSelf.deploy) nodes;
hosts = userSelf.nixosConfigurations;
homes = userSelf.homeConfigurations;
};
inherit legacyPackages;
2021-04-18 03:35:05 +02:00
packages = lib.filterPackages system legacyPackages;
devShell = pkgs-lib.shell;
});
in
2021-04-10 03:22:08 +02:00
outputs // systemOutputs