Clean up the filtering
This commit is contained in:
		
							parent
							
								
									ea430a68d0
								
							
						
					
					
						commit
						1110dde8dc
					
				@ -4,24 +4,23 @@
 | 
			
		||||
# be added to the cache.
 | 
			
		||||
{ pkgs ? import <nixpkgs> {} }:
 | 
			
		||||
 | 
			
		||||
let filterSet =
 | 
			
		||||
      (f: g: s: builtins.listToAttrs
 | 
			
		||||
        (map
 | 
			
		||||
          (n: { name = n; value = builtins.getAttr n s; })
 | 
			
		||||
          (builtins.filter
 | 
			
		||||
            (n: f n && g (builtins.getAttr n s))
 | 
			
		||||
            (builtins.attrNames s)
 | 
			
		||||
          )
 | 
			
		||||
let
 | 
			
		||||
  filterSet =
 | 
			
		||||
    (f: g: s: builtins.listToAttrs
 | 
			
		||||
      (map
 | 
			
		||||
        (n: { name = n; value = builtins.getAttr n s; })
 | 
			
		||||
        (builtins.filter
 | 
			
		||||
          (n: f n && g (builtins.getAttr n s))
 | 
			
		||||
          (builtins.attrNames s)
 | 
			
		||||
        )
 | 
			
		||||
      );
 | 
			
		||||
      )
 | 
			
		||||
    );
 | 
			
		||||
  isReserved = n: builtins.elem n ["lib" "overlays" "modules"];
 | 
			
		||||
  isBroken = p: ({ meta.broken = false; } // p).meta.broken;
 | 
			
		||||
in filterSet
 | 
			
		||||
     (n: !(n=="lib"||n=="overlays"||n=="modules")) # filter out non-packages
 | 
			
		||||
     (n: !(isReserved n)) # filter out non-packages
 | 
			
		||||
     (p: (builtins.isAttrs p)
 | 
			
		||||
       && !(
 | 
			
		||||
             (builtins.hasAttr "meta" p)
 | 
			
		||||
             && (builtins.hasAttr "broken" p.meta)
 | 
			
		||||
             && (p.meta.broken)
 | 
			
		||||
           )
 | 
			
		||||
       && !(isBroken p)
 | 
			
		||||
     )
 | 
			
		||||
     (import ./default.nix { inherit pkgs; })
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										22
									
								
								overlay.nix
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								overlay.nix
									
									
									
									
									
								
							@ -4,18 +4,20 @@
 | 
			
		||||
 | 
			
		||||
self: super:
 | 
			
		||||
 | 
			
		||||
let filterSet =
 | 
			
		||||
      (f: g: s: builtins.listToAttrs
 | 
			
		||||
        (map
 | 
			
		||||
          (n: { name = n; value = builtins.getAttr n s; })
 | 
			
		||||
          (builtins.filter
 | 
			
		||||
            (n: f n && g (builtins.getAttr n s))
 | 
			
		||||
            (builtins.attrNames s)
 | 
			
		||||
          )
 | 
			
		||||
let
 | 
			
		||||
  filterSet =
 | 
			
		||||
    (f: g: s: builtins.listToAttrs
 | 
			
		||||
      (map
 | 
			
		||||
        (n: { name = n; value = builtins.getAttr n s; })
 | 
			
		||||
        (builtins.filter
 | 
			
		||||
          (n: f n && g (builtins.getAttr n s))
 | 
			
		||||
          (builtins.attrNames s)
 | 
			
		||||
        )
 | 
			
		||||
      );
 | 
			
		||||
      )
 | 
			
		||||
    );
 | 
			
		||||
  isReserved = n: builtins.elem n ["lib" "overlays" "modules"];
 | 
			
		||||
in filterSet
 | 
			
		||||
     (n: !(n=="lib"||n=="overlays"||n=="modules")) # filter out non-packages
 | 
			
		||||
     (n: !(isReserved n)) # filter out non-packages
 | 
			
		||||
     (p: true) # all packages are ok
 | 
			
		||||
     (import ./default.nix { pkgs = super; })
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user