summaryrefslogtreecommitdiff
path: root/dev/hydraJobs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'dev/hydraJobs.nix')
-rw-r--r--dev/hydraJobs.nix24
1 files changed, 24 insertions, 0 deletions
diff --git a/dev/hydraJobs.nix b/dev/hydraJobs.nix
index 9cc4617..7b55f57 100644
--- a/dev/hydraJobs.nix
+++ b/dev/hydraJobs.nix
@@ -5,16 +5,40 @@
...
}:
let
+ # architecture of "main" CI machine
ciSystem = "x86_64-linux";
+
+ /**
+ Map a NixOS, nix-darwin, or home-manager configuration to a final derivation
+
+ # Type
+
+ ```
+ derivFromCfg :: AttrSet -> Attrset
+ ```
+ */
derivFromCfg = deriv: deriv.config.system.build.toplevel or deriv.activationPackage;
+
+ /**
+ Map an attribute set of NixOS, nix-darwin, or home-manager configurations to their final derivation
+
+ # Type
+
+ ```
+ mapCfgsToDerivs :: AttrSet -> Attrset
+ ```
+ */
mapCfgsToDerivs = lib.mapAttrs (lib.const derivFromCfg);
in
{
flake.hydraJobs = withSystem ciSystem (
{ pkgs, self', ... }:
{
+ # i don't care to run these for each system, as they should be the same
+ # and don't need to be cached
inherit (self') checks;
inherit (self') devShells;
+
darwinConfigurations = mapCfgsToDerivs self.darwinConfigurations;
homeConfigurations = mapCfgsToDerivs self.homeConfigurations;
nixosConfigurations = mapCfgsToDerivs self.nixosConfigurations // {