- Created a gopkgs directory and registered it with default.nix's readTree - Moved monzo_ynab/utils -> gopkgs - Consumed utils.go in main.go - Renamed monzo_ynab -> job
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1,011 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1,011 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;
 | |
|     gopkgs = readTree ./gopkgs;
 | |
|     monzo_ynab = readTree ./monzo_ynab;
 | |
|     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; })))
 | |
| )
 |