aboutsummaryrefslogtreecommitdiffhomepage
path: root/ci.nix
diff options
context:
space:
mode:
Diffstat (limited to 'ci.nix')
-rw-r--r--ci.nix46
1 files changed, 29 insertions, 17 deletions
diff --git a/ci.nix b/ci.nix
index f84dd96..4fa1017 100644
--- a/ci.nix
+++ b/ci.nix
@@ -9,29 +9,42 @@
# then your CI will be able to build and cache only those packages for
# which this is possible.
-{ pkgs ? import <nixpkgs> { } }:
+{
+ pkgs ? import <nixpkgs> { },
+}:
with builtins;
let
isReserved = n: n == "lib" || n == "overlays" || n == "modules";
isDerivation = p: isAttrs p && p ? type && p.type == "derivation";
- isBuildable = p: let
- licenseFromMeta = p.meta.license or [];
- licenseList = if builtins.isList licenseFromMeta then licenseFromMeta else [licenseFromMeta];
- in !(p.meta.broken or false) && builtins.all (license: license.free or true) licenseList;
+ isBuildable =
+ p:
+ let
+ licenseFromMeta = p.meta.license or [ ];
+ licenseList = if builtins.isList licenseFromMeta then licenseFromMeta else [ licenseFromMeta ];
+ in
+ !(p.meta.broken or false) && builtins.all (license: license.free or true) licenseList;
isCacheable = p: !(p.preferLocalBuild or false);
shouldRecurseForDerivations = p: isAttrs p && p.recurseForDerivations or false;
- nameValuePair = n: v: { name = n; value = v; };
+ nameValuePair = n: v: {
+ name = n;
+ value = v;
+ };
concatMap = builtins.concatMap or (f: xs: concatLists (map f xs));
- flattenPkgs = s:
+ flattenPkgs =
+ s:
let
- f = p:
- if shouldRecurseForDerivations p then flattenPkgs p
- else if isDerivation p then [ p ]
- else [ ];
+ f =
+ p:
+ if shouldRecurseForDerivations p then
+ flattenPkgs p
+ else if isDerivation p then
+ [ p ]
+ else
+ [ ];
in
concatMap f (attrValues s);
@@ -39,12 +52,11 @@ let
nurAttrs = import ./default.nix { inherit pkgs; };
- nurPkgs =
- flattenPkgs
- (listToAttrs
- (map (n: nameValuePair n nurAttrs.${n})
- (filter (n: !isReserved n)
- (attrNames nurAttrs))));
+ nurPkgs = flattenPkgs (
+ listToAttrs (
+ map (n: nameValuePair n nurAttrs.${n}) (filter (n: !isReserved n) (attrNames nurAttrs))
+ )
+ );
in
rec {