summaryrefslogtreecommitdiff
path: root/ci.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2023-12-16 12:12:20 -0500
committerseth <[email protected]>2023-12-16 13:09:49 -0500
commit0ed2febd06cbf1d4e0af957e2981296ea1b373ab (patch)
treec8a39869da8aad241c10571793eb33f516672319 /ci.nix
parentc648beab27adbbf2bfd8bafad56ae54bb3e1b195 (diff)
ci: back to garnix once again
i kinda miss hci but im done switching until i get infra for it
Diffstat (limited to 'ci.nix')
-rw-r--r--ci.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/ci.nix b/ci.nix
new file mode 100644
index 0000000..c2d3ae6
--- /dev/null
+++ b/ci.nix
@@ -0,0 +1,35 @@
+{self, ...}: {
+ perSystem = {
+ lib,
+ pkgs,
+ system,
+ config,
+ ...
+ }: {
+ packages = let
+ allConfigurations = [
+ "nixosConfigurations"
+ "darwinConfigurations"
+ "homeConfigurations"
+ ];
+
+ configurations = lib.pipe allConfigurations [
+ (configs: lib.getAttrs configs self)
+ builtins.attrValues
+ (lib.concatMap builtins.attrValues)
+ (lib.filter (deriv: deriv.pkgs.system == system))
+ (map (deriv: deriv.config.system.build.toplevel or deriv.activationPackage))
+ ];
+
+ required = [
+ configurations
+ (builtins.attrValues config.checks)
+ (builtins.attrValues config.devShells)
+ ];
+ in {
+ ciGate = pkgs.writeText "ci-gate" ''
+ ${lib.concatMapStringsSep "\n" toString required}
+ '';
+ };
+ };
+}