Manually merging: - README.md: I added the description from universe/README.md into the heading of dotfiles/README.md. - .envrc: dotfiles/.envrc was a superset of universe/.envrc - .gitignore: Adding some of the ignored patterns from universe/.gitignore to dotfiles/.gitignore Everything else here should be a simple rename.
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			939 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			939 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # At the time of this writing, this configuration was taken from @tazjin's
 | |
| # default.nix from his depot. I've added, changed, and removed that parts that I
 | |
| # don't need, and this is what remains.
 | |
| { ... }@args:
 | |
| 
 | |
| with builtins;
 | |
| 
 | |
| let
 | |
|   fix = f: let x = f x; in x;
 | |
| 
 | |
|   # Global configuration that all packages are called with.
 | |
|   config = pkgs: {
 | |
|     inherit pkgs;
 | |
|   };
 | |
| 
 | |
|   readTree' = import ~/depot/nix/readTree {};
 | |
| 
 | |
|   # TODO: Find a better way to expose entire monorepo without introducing
 | |
|   # "infinite recursion".
 | |
|   localPkgs = readTree: {
 | |
|     blog = readTree ./blog;
 | |
|     lisp = readTree ./lisp;
 | |
|     third_party = readTree ./third_party;
 | |
|   };
 | |
| in fix(self: {
 | |
|   config = config self;
 | |
| 
 | |
|   # Expose readTree for downstream repo consumers.
 | |
|   readTree = {
 | |
|     __functor = x: (readTree' x.config);
 | |
|     config = self.config;
 | |
|   };
 | |
| }
 | |
| 
 | |
| # Add local packages as structured by readTree
 | |
| // (localPkgs (readTree' (self.config // { inherit (self) lib; })))
 | |
| )
 |