21 lines
		
	
	
		
			631 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			631 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {lib, ...}:
 | |
| with lib;
 | |
| let
 | |
|   # get all files in folder
 | |
|   getDir = dir: builtins.readDir dir;
 | |
| 
 | |
|   # find all files ending in ".nix" which are not this file, or directories, which may or may not contain a default.nix
 | |
|   files = dir: filterAttrs
 | |
|     (file: type: (type == "regular" && hasSuffix ".nix" file && file != "default.nix") || type == "directory")
 | |
|     (getDir dir);
 | |
|   # Turn the attrset into a list of the filenames
 | |
|   flatten = dir: mapAttrsToList (file: type: file) (files dir);
 | |
|   # Turn the filenames into absolute paths
 | |
|   makeAbsolute = dir: map (file: ./. + "/${file}") (flatten dir);
 | |
| in
 | |
| {
 | |
| 
 | |
|   imports = makeAbsolute ./.;
 | |
| 
 | |
| }
 | 
