work on mapping packages
This commit is contained in:
		
							
								
								
									
										18
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										18
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @@ -37,8 +37,7 @@ | |||||||
|     "root": { |     "root": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|         "flake-utils": "flake-utils", |         "flake-utils": "flake-utils", | ||||||
|         "nixpkgs": "nixpkgs", |         "nixpkgs": "nixpkgs" | ||||||
|         "systems": "systems_2" |  | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "systems": { |     "systems": { | ||||||
| @@ -55,21 +54,6 @@ | |||||||
|         "repo": "default", |         "repo": "default", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |  | ||||||
|     "systems_2": { |  | ||||||
|       "locked": { |  | ||||||
|         "lastModified": 1681028828, |  | ||||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", |  | ||||||
|         "owner": "nix-systems", |  | ||||||
|         "repo": "default", |  | ||||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", |  | ||||||
|         "type": "github" |  | ||||||
|       }, |  | ||||||
|       "original": { |  | ||||||
|         "owner": "nix-systems", |  | ||||||
|         "repo": "default", |  | ||||||
|         "type": "github" |  | ||||||
|       } |  | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   "root": "root", |   "root": "root", | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								flake.nix
									
									
									
									
									
								
							| @@ -4,7 +4,6 @@ | |||||||
|   inputs = { |   inputs = { | ||||||
|     nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; |     nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; | ||||||
|     flake-utils.url = "github:numtide/flake-utils"; |     flake-utils.url = "github:numtide/flake-utils"; | ||||||
|     systems.url = "github:nix-systems/default"; |  | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   outputs = |   outputs = | ||||||
| @@ -12,7 +11,6 @@ | |||||||
|       self, |       self, | ||||||
|       nixpkgs, |       nixpkgs, | ||||||
|       flake-utils, |       flake-utils, | ||||||
|       systems, |  | ||||||
|     }: |     }: | ||||||
|  |  | ||||||
|     { |     { | ||||||
| @@ -33,9 +31,27 @@ | |||||||
|             }; |             }; | ||||||
|             inherit (pkgs) lib; |             inherit (pkgs) lib; | ||||||
|             scope = lib.makeScope pkgs.newScope (final: self.overlays.default (pkgs // final) pkgs); |             scope = lib.makeScope pkgs.newScope (final: self.overlays.default (pkgs // final) pkgs); | ||||||
|  |             recursePackage = | ||||||
|  |               name: pkg: | ||||||
|  |               let | ||||||
|  |                 isDrv = lib.isDerivation pkg; | ||||||
|  |                 isAttrs = lib.isAttrs pkg; | ||||||
|  |               in | ||||||
|  |               if isDrv then | ||||||
|  |                 [ | ||||||
|  |                   (lib.nameValuePair name pkg) | ||||||
|  |                 ] | ||||||
|  |               else if isAttrs then | ||||||
|  |                 lib.mapAttrsToList (nameNew: subPkg: recursePackage "${name}-${nameNew}" subPkg) pkg | ||||||
|  |               else | ||||||
|  |                 [ ]; | ||||||
|  |             flatPackages = builtins.listToAttrs ( | ||||||
|  |               lib.lists.flatten (lib.mapAttrsToList (name: pkg: recursePackage name pkg) scope) | ||||||
|  |             ); | ||||||
|             workingPackages = lib.filterAttrs (_: pkg: !pkg.meta.broken) self.packages.${system}; |             workingPackages = lib.filterAttrs (_: pkg: !pkg.meta.broken) self.packages.${system}; | ||||||
|           in |           in | ||||||
|           { |           { | ||||||
|  |             inherit flatPackages; | ||||||
|             inherit pkgs; |             inherit pkgs; | ||||||
|             packages = lib.filterAttrs ( |             packages = lib.filterAttrs ( | ||||||
|               _: pkg: lib.isDerivation pkg && (lib.meta.availableOn pkgs.stdenv.hostPlatform pkg) |               _: pkg: lib.isDerivation pkg && (lib.meta.availableOn pkgs.stdenv.hostPlatform pkg) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user