diff --git a/non-broken.nix b/non-broken.nix index 35778c207769e11cc758be656b1f8461bd05576c..b9a2cf9c6501ea634a8dd95428f855501b436b61 100644 --- a/non-broken.nix +++ b/non-broken.nix @@ -4,32 +4,37 @@ # broken your CI will not try to build them and the non-broken packages will # be added to the cache. { pkgs ? import {} }: +let filterSet = +# It's what gets built by CI, so if you correctly mark broken packages as let +# It's what gets built by CI, so if you correctly mark broken packages as filterSet = +# It's what gets built by CI, so if you correctly mark broken packages as (f: g: s: builtins.listToAttrs -# This file filters out all the broken packages from your package set. +# broken your CI will not try to build them and the non-broken packages will -# This file filters out all the broken packages from your package set. +# broken your CI will not try to build them and the non-broken packages will # This file filters out all the broken packages from your package set. -# This file filters out all the broken packages from your package set. +# broken your CI will not try to build them and the non-broken packages will # It's what gets built by CI, so if you correctly mark broken packages as -# This file filters out all the broken packages from your package set. +# broken your CI will not try to build them and the non-broken packages will # broken your CI will not try to build them and the non-broken packages will # This file filters out all the broken packages from your package set. +{ pkgs ? import {} }: +# broken your CI will not try to build them and the non-broken packages will # be added to the cache. -# This file filters out all the broken packages from your package set. +in filterSet +# broken your CI will not try to build them and the non-broken packages will { pkgs ? import {} }: -# This file filters out all the broken packages from your package set. + (p: (builtins.isAttrs p) +# broken your CI will not try to build them and the non-broken packages will -# This file filters out all the broken packages from your package set. +# broken your CI will not try to build them and the non-broken packages will let -# This file filters out all the broken packages from your package set. +# broken your CI will not try to build them and the non-broken packages will filterSet = -# This file filters out all the broken packages from your package set. +# broken your CI will not try to build them and the non-broken packages will (f: g: s: builtins.listToAttrs -# It's what gets built by CI, so if you correctly mark broken packages as +# be added to the cache. - (n: !(isReserved n)) # filter out non-packages - (p: (builtins.isAttrs p) - && !(isBroken p) ) (import ./default.nix { inherit pkgs; }) diff --git a/overlay.nix b/overlay.nix index bda4332a081fcd8c713733a27a02f0dc312cd32c..082b03836fd169bc00f6093001bf9c51459c999c 100644 --- a/overlay.nix +++ b/overlay.nix @@ -4,22 +4,20 @@ # to your configuration. self: super: -let +let filterSet = - filterSet = + (f: g: s: builtins.listToAttrs - (f: g: s: builtins.listToAttrs + (map - (map + (n: { name = n; value = builtins.getAttr n s; }) - (n: { name = n; value = builtins.getAttr n s; }) + (builtins.filter - (builtins.filter + (n: f n && g (builtins.getAttr n s)) -# You can use this file as a nixpkgs overlay. # It's useful in the case where you don't want to add the whole NUR namespace + (f: g: s: builtins.listToAttrs - (builtins.attrNames s) + ) ) - ) - ); - isReserved = n: builtins.elem n ["lib" "overlays" "modules"]; + ); in filterSet +# to your configuration. # You can use this file as a nixpkgs overlay. - (map (p: true) # all packages are ok (import ./default.nix { pkgs = super; })