rearrange flake output attributes

This commit is contained in:
Bryton Hall 2023-07-08 00:05:17 -04:00
parent 5a28ca925b
commit 5fd83ecd81

103
flake.nix
View file

@ -19,6 +19,12 @@
(system: f inputs.nixpkgs.legacyPackages.${system}); (system: f inputs.nixpkgs.legacyPackages.${system});
in in
{ {
nixosModules.kubenix = import ./modules;
overlays.default = _final: prev: {
kubenix.evalModules = self.evalModules.${prev.system};
};
# evalModules with same interface as lib.evalModules and kubenix as special argument # evalModules with same interface as lib.evalModules and kubenix as special argument
evalModules = eachSystem (pkgs: evalModules = eachSystem (pkgs:
attrs @ { module ? null, modules ? [ module ], ... }: attrs @ { module ? null, modules ? [ module ], ... }:
@ -51,37 +57,24 @@
attrs') attrs')
); );
devShells = eachSystem (pkgs: { packages = eachSystem (pkgs: {
default = pkgs.mkShell { default = pkgs.callPackage ./pkgs/kubenix.nix {
buildInputs = with pkgs; [ inherit (self.packages.${system});
dive evalModules = self.evalModules.${pkgs.system};
k9s
kube3d
kubie
];
packages = [
(pkgs.writeShellScriptBin "evalnix" ''
# check nix parsing (e.g., in CI)
${pkgs.fd}/bin/fd --extension nix --exec nix-instantiate --parse --quiet {} >/dev/null
'')
];
}; };
}); docs = import ./docs {
inherit pkgs;
formatter = eachSystem (pkgs: (inputs.treefmt.lib.evalModule pkgs { options = (self.evalModules.${pkgs.system} {
projectRootFile = "flake.nix"; modules = builtins.attrValues (builtins.removeAttrs
programs = { # the submodules module currently doesn't evaluate:
nixpkgs-fmt.enable = true; # error: No module found name/latest
black.enable = true; # not sure how important that documentation is at this time
prettier.enable = true; self.nixosModules.kubenix [ "submodule" "submodules" ]);
shfmt.enable = true; }).options;
}; };
settings.global.excludes = [ } // pkgs.lib.attrsets.mapAttrs' (name: value: pkgs.lib.attrsets.nameValuePair "generate-${name}" value)
"docs/themes/*" (builtins.removeAttrs (pkgs.callPackage ./pkgs/generators { }) [ "override" "overrideDerivation" ])
"docs/layouts/*" );
"modules/generated/*"
];
}).config.build.wrapper);
apps = eachSystem (pkgs: { apps = eachSystem (pkgs: {
docs = { docs = {
@ -124,25 +117,37 @@
}; };
}); });
packages = eachSystem (pkgs: { devShells = eachSystem (pkgs: {
default = pkgs.callPackage ./pkgs/kubenix.nix { default = pkgs.mkShell {
inherit (self.packages.${system}); buildInputs = with pkgs; [
evalModules = self.evalModules.${pkgs.system}; dive
k9s
kube3d
kubie
];
packages = [
(pkgs.writeShellScriptBin "evalnix" ''
# check nix parsing (e.g., in CI)
${pkgs.fd}/bin/fd --extension nix --exec nix-instantiate --parse --quiet {} >/dev/null
'')
];
}; };
docs = import ./docs { });
inherit pkgs;
options = (self.evalModules.${pkgs.system} { formatter = eachSystem (pkgs: (inputs.treefmt.lib.evalModule pkgs {
modules = builtins.attrValues (builtins.removeAttrs projectRootFile = "flake.nix";
# the submodules module currently doesn't evaluate: programs = {
# error: No module found name/latest nixpkgs-fmt.enable = true;
# not sure how important that documentation is a this time black.enable = true;
self.nixosModules.kubenix [ "submodule" "submodules" ]); prettier.enable = true;
}).options; shfmt.enable = true;
}; };
} settings.global.excludes = [
// pkgs.lib.attrsets.mapAttrs' (name: value: pkgs.lib.attrsets.nameValuePair "generate-${name}" value) "docs/themes/*"
(builtins.removeAttrs (pkgs.callPackage ./pkgs/generators { }) [ "override" "overrideDerivation" ]) "docs/layouts/*"
); "modules/generated/*"
];
}).config.build.wrapper);
checks = eachSystem (pkgs: checks = eachSystem (pkgs:
let let
@ -165,11 +170,5 @@
}) })
(import ./versions.nix).versions) (import ./versions.nix).versions)
); );
nixosModules.kubenix = import ./modules;
overlays.default = _final: prev: {
kubenix.evalModules = self.evalModules.${prev.system};
};
}; };
} }