| 
									
										
										
										
											2020-02-10 16:36:53 +01:00
										 |  |  | # Experimental flake interface to Nixpkgs. | 
					
						
							|  |  |  | # See https://github.com/NixOS/rfcs/pull/49 for details. | 
					
						
							| 
									
										
										
										
											2019-02-11 12:27:17 +01:00
										 |  |  | { | 
					
						
							|  |  |  |   description = "A collection of packages for the Nix package manager"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-30 11:48:43 +02:00
										 |  |  |   outputs = { self }: | 
					
						
							| 
									
										
										
										
											2019-06-19 12:43:26 +02:00
										 |  |  |     let | 
					
						
							|  |  |  |       jobs = import ./pkgs/top-level/release.nix { | 
					
						
							| 
									
										
										
										
											2019-08-30 11:48:43 +02:00
										 |  |  |         nixpkgs = self; | 
					
						
							| 
									
										
										
										
											2019-06-19 12:43:26 +02:00
										 |  |  |       }; | 
					
						
							| 
									
										
										
										
											2019-10-15 18:17:21 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 18:26:38 +02:00
										 |  |  |       lib = import ./lib; | 
					
						
							| 
									
										
										
										
											2019-10-15 18:17:21 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-06 07:48:13 +01:00
										 |  |  |       systems = [ | 
					
						
							|  |  |  |         "x86_64-linux" | 
					
						
							|  |  |  |         "i686-linux" | 
					
						
							|  |  |  |         "x86_64-darwin" | 
					
						
							|  |  |  |         "aarch64-linux" | 
					
						
							|  |  |  |         "armv6l-linux" | 
					
						
							|  |  |  |         "armv7l-linux" | 
					
						
							|  |  |  |       ]; | 
					
						
							| 
									
										
										
										
											2019-10-15 18:17:21 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |       forAllSystems = f: lib.genAttrs systems (system: f system); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-19 12:43:26 +02:00
										 |  |  |     in | 
					
						
							| 
									
										
										
										
											2019-02-11 12:27:17 +01:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2020-07-23 17:36:45 +02:00
										 |  |  |       lib = lib.extend (final: prev: { | 
					
						
							| 
									
										
										
										
											2019-09-13 18:26:38 +02:00
										 |  |  |         nixosSystem = { modules, ... } @ args: | 
					
						
							|  |  |  |           import ./nixos/lib/eval-config.nix (args // { | 
					
						
							| 
									
										
										
										
											2020-09-10 23:12:58 -07:00
										 |  |  |             modules = | 
					
						
							|  |  |  |               let | 
					
						
							|  |  |  |                 vmConfig = (import ./nixos/lib/eval-config.nix | 
					
						
							|  |  |  |                   (args // { | 
					
						
							|  |  |  |                     modules = modules ++ [ ./nixos/modules/virtualisation/qemu-vm.nix ]; | 
					
						
							|  |  |  |                   })).config; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 vmWithBootLoaderConfig = (import ./nixos/lib/eval-config.nix | 
					
						
							|  |  |  |                   (args // { | 
					
						
							|  |  |  |                     modules = modules ++ [ | 
					
						
							|  |  |  |                       ./nixos/modules/virtualisation/qemu-vm.nix | 
					
						
							|  |  |  |                       { virtualisation.useBootLoader = true; } | 
					
						
							| 
									
										
										
										
											2021-01-05 20:29:52 +01:00
										 |  |  |                       ({ config, ... }: { | 
					
						
							|  |  |  |                         virtualisation.useEFIBoot = | 
					
						
							|  |  |  |                           config.boot.loader.systemd-boot.enable || | 
					
						
							|  |  |  |                           config.boot.loader.efi.canTouchEfiVariables; | 
					
						
							|  |  |  |                       }) | 
					
						
							| 
									
										
										
										
											2020-09-10 23:12:58 -07:00
										 |  |  |                     ]; | 
					
						
							|  |  |  |                   })).config; | 
					
						
							|  |  |  |               in | 
					
						
							|  |  |  |               modules ++ [ | 
					
						
							|  |  |  |                 { | 
					
						
							|  |  |  |                   system.nixos.versionSuffix = | 
					
						
							| 
									
										
										
										
											2020-10-12 23:12:41 +02:00
										 |  |  |                     ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}"; | 
					
						
							| 
									
										
										
										
											2020-07-23 17:36:45 +02:00
										 |  |  |                   system.nixos.revision = final.mkIf (self ? rev) self.rev; | 
					
						
							| 
									
										
										
										
											2020-09-10 23:12:58 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |                   system.build = { | 
					
						
							|  |  |  |                     vm = vmConfig.system.build.vm; | 
					
						
							|  |  |  |                     vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm; | 
					
						
							|  |  |  |                   }; | 
					
						
							| 
									
										
										
										
											2019-09-13 18:26:38 +02:00
										 |  |  |                 } | 
					
						
							|  |  |  |               ]; | 
					
						
							|  |  |  |           }); | 
					
						
							| 
									
										
										
										
											2020-07-23 17:36:45 +02:00
										 |  |  |       }); | 
					
						
							| 
									
										
										
										
											2019-02-11 12:27:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-10 16:25:33 +01:00
										 |  |  |       checks.x86_64-linux.tarball = jobs.tarball; | 
					
						
							| 
									
										
										
										
											2019-05-29 21:21:56 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-19 12:43:26 +02:00
										 |  |  |       htmlDocs = { | 
					
						
							|  |  |  |         nixpkgsManual = jobs.manual; | 
					
						
							|  |  |  |         nixosManual = (import ./nixos/release-small.nix { | 
					
						
							| 
									
										
										
										
											2019-08-30 11:48:43 +02:00
										 |  |  |           nixpkgs = self; | 
					
						
							| 
									
										
										
										
											2019-06-19 12:43:26 +02:00
										 |  |  |         }).nixos.manual.x86_64-linux; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-15 18:17:21 +02:00
										 |  |  |       legacyPackages = forAllSystems (system: import ./. { inherit system; }); | 
					
						
							| 
									
										
										
										
											2019-09-13 19:01:23 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |       nixosModules = { | 
					
						
							| 
									
										
										
										
											2020-02-10 16:25:33 +01:00
										 |  |  |         notDetected = import ./nixos/modules/installer/scan/not-detected.nix; | 
					
						
							| 
									
										
										
										
											2019-09-13 19:01:23 +02:00
										 |  |  |       }; | 
					
						
							| 
									
										
										
										
											2019-02-11 12:27:17 +01:00
										 |  |  |     }; | 
					
						
							|  |  |  | } |