refactor: clean up flake outputs

This commit is contained in:
arcnmx 2024-02-02 11:00:00 -08:00
parent 437c83acc0
commit 7da0924d91
15 changed files with 233 additions and 203 deletions

View file

@ -1,34 +1,58 @@
{inputs}: let
patchedInputs = import ./patchedInputs.nix {inherit inputs;};
inherit
(import ./overlays {
inputs = patchedInputs;
})
pkgs
;
inherit (inputs.nixpkgs) lib;
tree = import ./tree.nix {
inherit pkgs;
inputs = patchedInputs;
inherit inputs;
};
systems = import ./systems {
inherit inputs lib std pkgs;
inherit inputs;
tree = tree.impure;
};
outputs =
inputs.flake-utils.lib.eachDefaultSystem
(system: rec {
devShells.default = import ./devShell.nix {inherit system inputs;};
packages = import ./packages {inherit system inputs lib;};
legacyPackages.pkgs = pkgs.${system};
(system: let
legacyPackages = inputs.self.legacyPackages.${system};
inherit (legacyPackages) pkgs;
in {
devShells = import ./devShells.nix {inherit system inputs;};
packages = import ./packages {inherit system inputs;};
legacyPackages = {
inherit (import ./overlays {inherit system inputs;}) pkgs;
patchedNixpkgs = pkgs.applyPatches {
name = "nixpkgs";
src = inputs.nixpkgs;
patches = [
inputs.nixpkgs-patch-k8s-pki
];
};
deploy-rs = let
deployLib =
inputs.deploy-rs.lib.${system}
or rec {
activate = throw "deploy-rs.lib.${system} unsupported";
setActivate = activate;
deployChecks = _: {};
};
deploy-rs =
inputs.deploy-rs.packages.${system}.default
or pkgs.${system}.deploy-rs.deploy-rs
or pkgs.${system}.deploy-rs
or {
name = "deploy-rs";
outPath = throw "deploy-rs.packages.${system} unsupported";
meta = {};
};
in {
inherit (deploy-rs) name outPath meta;
inherit (deployLib) activate setActivate deployChecks;
};
};
checks = legacyPackages.deploy-rs.deployChecks inputs.self.deploy;
});
std = import ./std.nix {inherit inputs;};
inherit (std) set;
checks = set.map (_: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib;
in
{
inherit tree std lib checks;
inputs = patchedInputs;
}
// systems
// outputs
in {
inherit (outputs) devShells legacyPackages packages checks;
inherit (systems) deploy nixosConfigurations;
lib = {
std = import ./std.nix {inherit inputs;};
nixlib = inputs.nixpkgs.lib;
inherit tree;
};
}