diff options
| author | seth <[email protected]> | 2024-07-09 05:31:33 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2024-07-09 15:38:51 -0400 |
| commit | dcf455b299342c52d17bf73e1046898094a99adf (patch) | |
| tree | 98edb1a485299be24a25827bedcf02fdae451a68 /dev/hydraJobs.nix | |
| parent | 01be52c037e8a457ac51bd37b755295baa7c83c6 (diff) | |
dev: document hydraJobs and devShells
Diffstat (limited to 'dev/hydraJobs.nix')
| -rw-r--r-- | dev/hydraJobs.nix | 24 |
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 // { |
