git-subtree-dir: trivionomicon git-subtree-mainline:00d3799f90git-subtree-split:0ae8676d50
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			453 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			453 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  lib,
 | 
						|
  root,
 | 
						|
  exclude ? ["default"],
 | 
						|
}:
 | 
						|
with builtins;
 | 
						|
with lib;
 | 
						|
# http://chriswarbo.net/projects/nixos/useful_hacks.html
 | 
						|
  let
 | 
						|
    basename = removeSuffix ".nix";
 | 
						|
 | 
						|
    isMatch = name: type:
 | 
						|
      (hasSuffix ".nix" name || type == "directory")
 | 
						|
      && ! elem (basename name) exclude;
 | 
						|
 | 
						|
    entry = name: _: {
 | 
						|
      name = basename name;
 | 
						|
      value = import (root + "/${name}");
 | 
						|
    };
 | 
						|
  in
 | 
						|
    mapAttrs' entry (filterAttrs isMatch (readDir root))
 |