| 
									
										
										
										
											2018-09-08 21:49:08 +00:00
										 |  |  |  | with import ../lib; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | { nixpkgs ? { outPath = cleanSource ./..; revCount = 130979; shortRev = "gfedcba"; } | 
					
						
							| 
									
										
										
										
											2013-10-10 12:16:20 +02:00
										 |  |  |  | , stableBranch ? false | 
					
						
							| 
									
										
										
										
											2017-04-14 17:59:54 -04:00
										 |  |  |  | , supportedSystems ? [ "x86_64-linux" "aarch64-linux" ] | 
					
						
							| 
									
										
										
										
											2018-09-08 21:49:12 +00:00
										 |  |  |  | , configuration ? {} | 
					
						
							| 
									
										
										
										
											2012-04-09 12:49:03 +00:00
										 |  |  |  | }: | 
					
						
							| 
									
										
										
										
											2012-04-05 13:00:30 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 18:29:43 +02:00
										 |  |  |  | with import ../pkgs/top-level/release-lib.nix { inherit supportedSystems; }; | 
					
						
							| 
									
										
										
										
											2015-03-20 19:23:55 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  | let | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-31 22:05:38 +09:00
										 |  |  |  |   version = fileContents ../.version; | 
					
						
							| 
									
										
										
										
											2013-10-10 12:16:20 +02:00
										 |  |  |  |   versionSuffix = | 
					
						
							| 
									
										
										
										
											2014-05-01 14:52:07 +02:00
										 |  |  |  |     (if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}"; | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-29 20:02:26 +01:00
										 |  |  |  |   importTest = fn: args: system: import fn ({ | 
					
						
							|  |  |  |  |     inherit system; | 
					
						
							|  |  |  |  |   } // args); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-07 17:28:18 +01:00
										 |  |  |  |   # Note: only supportedSystems are considered. | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   callTestOnMatchingSystems = systems: fn: args: | 
					
						
							|  |  |  |  |     forMatchingSystems | 
					
						
							| 
									
										
										
										
											2018-03-07 17:28:18 +01:00
										 |  |  |  |       (intersectLists supportedSystems systems) | 
					
						
							|  |  |  |  |       (system: hydraJob (importTest fn args system)); | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   callTest = callTestOnMatchingSystems supportedSystems; | 
					
						
							| 
									
										
										
										
											2016-02-29 20:02:26 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   callSubTests = callSubTestsOnMatchingSystems supportedSystems; | 
					
						
							|  |  |  |  |   callSubTestsOnMatchingSystems = systems: fn: args: let | 
					
						
							| 
									
										
										
										
											2016-02-29 20:02:26 +01:00
										 |  |  |  |     discover = attrs: let | 
					
						
							|  |  |  |  |       subTests = filterAttrs (const (hasAttr "test")) attrs; | 
					
						
							|  |  |  |  |     in mapAttrs (const (t: hydraJob t.test)) subTests; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     discoverForSystem = system: mapAttrs (_: test: { | 
					
						
							|  |  |  |  |       ${system} = test; | 
					
						
							|  |  |  |  |     }) (discover (importTest fn args system)); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-22 23:19:06 +02:00
										 |  |  |  |   in foldAttrs mergeAttrs {} (map discoverForSystem (intersectLists systems supportedSystems)); | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-01 15:48:39 +02:00
										 |  |  |  |   pkgs = import nixpkgs { system = "x86_64-linux"; }; | 
					
						
							| 
									
										
										
										
											2012-04-10 20:28:06 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-02 13:33:27 +02:00
										 |  |  |  |   versionModule = | 
					
						
							| 
									
										
										
										
											2017-04-01 00:00:00 +00:00
										 |  |  |  |     { system.nixos.versionSuffix = versionSuffix; | 
					
						
							|  |  |  |  |       system.nixos.revision = nixpkgs.rev or nixpkgs.shortRev; | 
					
						
							| 
									
										
										
										
											2013-10-24 19:58:34 +02:00
										 |  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2013-07-02 13:33:27 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  |   makeIso = | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |     { module, type, system, ... }: | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-01 15:48:39 +02:00
										 |  |  |  |     with import nixpkgs { inherit system; }; | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-15 13:48:45 +01:00
										 |  |  |  |     hydraJob ((import lib/eval-config.nix { | 
					
						
							|  |  |  |  |       inherit system; | 
					
						
							| 
									
										
										
										
											2018-09-08 21:49:12 +00:00
										 |  |  |  |       modules = [ configuration module versionModule { isoImage.isoBaseName = "nixos-${type}"; } ]; | 
					
						
							| 
									
										
										
										
											2016-03-15 13:48:45 +01:00
										 |  |  |  |     }).config.system.build.isoImage); | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-31 20:30:08 +03:00
										 |  |  |  |   makeSdImage = | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |     { module, system, ... }: | 
					
						
							| 
									
										
										
										
											2018-03-31 20:30:08 +03:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     with import nixpkgs { inherit system; }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     hydraJob ((import lib/eval-config.nix { | 
					
						
							|  |  |  |  |       inherit system; | 
					
						
							| 
									
										
										
										
											2018-09-08 21:49:12 +00:00
										 |  |  |  |       modules = [ configuration module versionModule ]; | 
					
						
							| 
									
										
										
										
											2018-03-31 20:30:08 +03:00
										 |  |  |  |     }).config.system.build.sdImage); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  |   makeSystemTarball = | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  |     { module, maintainers ? ["viric"], system }: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-01 15:48:39 +02:00
										 |  |  |  |     with import nixpkgs { inherit system; }; | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     let | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       config = (import lib/eval-config.nix { | 
					
						
							| 
									
										
										
										
											2012-03-04 20:57:34 +00:00
										 |  |  |  |         inherit system; | 
					
						
							| 
									
										
										
										
											2018-09-08 21:49:12 +00:00
										 |  |  |  |         modules = [ configuration module versionModule ]; | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  |       }).config; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       tarball = config.system.build.tarball; | 
					
						
							| 
									
										
										
										
											2013-07-02 13:33:27 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  |     in | 
					
						
							|  |  |  |  |       tarball // | 
					
						
							|  |  |  |  |         { meta = { | 
					
						
							| 
									
										
										
										
											2018-08-20 15:18:07 -04:00
										 |  |  |  |             description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.platform.name}"; | 
					
						
							| 
									
										
										
										
											2015-03-20 19:23:55 +01:00
										 |  |  |  |             maintainers = map (x: lib.maintainers.${x}) maintainers; | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  |           }; | 
					
						
							|  |  |  |  |           inherit config; | 
					
						
							|  |  |  |  |         }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-09-18 16:21:00 +02:00
										 |  |  |  |   makeClosure = module: buildFromConfig module (config: config.system.build.toplevel); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-20 19:23:55 +01:00
										 |  |  |  |   buildFromConfig = module: sel: forAllSystems (system: hydraJob (sel (import ./lib/eval-config.nix { | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |     inherit system; | 
					
						
							| 
									
										
										
										
											2018-09-08 21:49:06 +00:00
										 |  |  |  |     modules = [ configuration module versionModule ] ++ singleton | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |       ({ ... }: | 
					
						
							| 
									
										
										
										
											2015-03-20 19:23:55 +01:00
										 |  |  |  |       { fileSystems."/".device  = mkDefault "/dev/sda1"; | 
					
						
							|  |  |  |  |         boot.loader.grub.device = mkDefault "/dev/sda"; | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |       }); | 
					
						
							| 
									
										
										
										
											2014-09-18 16:21:00 +02:00
										 |  |  |  |   }).config)); | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-08 21:49:06 +00:00
										 |  |  |  |   makeNetboot = { module, system, ... }: | 
					
						
							| 
									
										
										
										
											2017-04-14 17:59:54 -04:00
										 |  |  |  |     let | 
					
						
							| 
									
										
										
										
											2018-09-08 21:49:06 +00:00
										 |  |  |  |       configEvaled = import lib/eval-config.nix { | 
					
						
							|  |  |  |  |         inherit system; | 
					
						
							|  |  |  |  |         modules = [ module versionModule ]; | 
					
						
							|  |  |  |  |       }; | 
					
						
							| 
									
										
										
										
											2018-01-11 18:46:49 +02:00
										 |  |  |  |       build = configEvaled.config.system.build; | 
					
						
							| 
									
										
										
										
											2018-08-20 15:18:07 -04:00
										 |  |  |  |       kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.platform.kernelTarget; | 
					
						
							| 
									
										
										
										
											2017-04-14 17:59:54 -04:00
										 |  |  |  |     in | 
					
						
							|  |  |  |  |       pkgs.symlinkJoin { | 
					
						
							| 
									
										
										
										
											2018-01-11 18:46:49 +02:00
										 |  |  |  |         name = "netboot"; | 
					
						
							|  |  |  |  |         paths = [ | 
					
						
							| 
									
										
										
										
											2017-04-14 17:59:54 -04:00
										 |  |  |  |           build.netbootRamdisk | 
					
						
							|  |  |  |  |           build.kernel | 
					
						
							|  |  |  |  |           build.netbootIpxeScript | 
					
						
							|  |  |  |  |         ]; | 
					
						
							|  |  |  |  |         postBuild = ''
 | 
					
						
							|  |  |  |  |           mkdir -p $out/nix-support | 
					
						
							| 
									
										
										
										
											2018-07-25 14:07:58 +02:00
										 |  |  |  |           echo "file ${kernelTarget} ${build.kernel}/${kernelTarget}" >> $out/nix-support/hydra-build-products | 
					
						
							|  |  |  |  |           echo "file initrd ${build.netbootRamdisk}/initrd" >> $out/nix-support/hydra-build-products | 
					
						
							|  |  |  |  |           echo "file ipxe ${build.netbootIpxeScript}/netboot.ipxe" >> $out/nix-support/hydra-build-products | 
					
						
							| 
									
										
										
										
											2017-04-14 17:59:54 -04:00
										 |  |  |  |         '';
 | 
					
						
							| 
									
										
										
										
											2018-01-11 18:47:23 +02:00
										 |  |  |  |         preferLocalBuild = true; | 
					
						
							| 
									
										
										
										
											2017-04-14 17:59:54 -04:00
										 |  |  |  |       }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-24 19:31:51 +02:00
										 |  |  |  | in rec { | 
					
						
							| 
									
										
										
										
											2008-12-17 13:25:23 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-13 21:55:29 -04:00
										 |  |  |  |   channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; }; | 
					
						
							| 
									
										
										
										
											2009-08-31 14:56:19 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-06 19:17:44 +00:00
										 |  |  |  |   manualHTML = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualHTML); | 
					
						
							|  |  |  |  |   manual = manualHTML; # TODO(@oxij): remove eventually | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |   manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub)); | 
					
						
							|  |  |  |  |   manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages); | 
					
						
							|  |  |  |  |   manualGeneratedSources = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.generatedSources); | 
					
						
							|  |  |  |  |   options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux; | 
					
						
							| 
									
										
										
										
											2016-02-03 12:16:33 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-09 18:40:37 +02:00
										 |  |  |  |   # Build the initial ramdisk so Hydra can keep track of its size over time. | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |   initialRamdisk = buildFromConfig ({ ... }: { }) (config: config.system.build.initialRamdisk); | 
					
						
							| 
									
										
										
										
											2014-10-09 18:40:37 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-19 21:29:48 -04:00
										 |  |  |  |   netboot = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeNetboot { | 
					
						
							| 
									
										
										
										
											2018-09-08 21:49:06 +00:00
										 |  |  |  |     module = ./modules/installer/netboot/netboot-minimal.nix; | 
					
						
							| 
									
										
										
										
											2018-01-16 18:42:47 +02:00
										 |  |  |  |     inherit system; | 
					
						
							|  |  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2016-04-08 13:53:27 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-31 08:48:57 +01:00
										 |  |  |  |   iso_minimal = forAllSystems (system: makeIso { | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  |     module = ./modules/installer/cd-dvd/installation-cd-minimal.nix; | 
					
						
							|  |  |  |  |     type = "minimal"; | 
					
						
							|  |  |  |  |     inherit system; | 
					
						
							| 
									
										
										
										
											2013-04-06 18:24:12 +02:00
										 |  |  |  |   }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-19 21:29:48 -04:00
										 |  |  |  |   iso_graphical = forMatchingSystems [ "x86_64-linux" ] (system: makeIso { | 
					
						
							| 
									
										
										
										
											2015-10-08 14:53:37 +02:00
										 |  |  |  |     module = ./modules/installer/cd-dvd/installation-cd-graphical-kde.nix; | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  |     type = "graphical"; | 
					
						
							|  |  |  |  |     inherit system; | 
					
						
							|  |  |  |  |   }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   # A variant with a more recent (but possibly less stable) kernel | 
					
						
							|  |  |  |  |   # that might support more hardware. | 
					
						
							| 
									
										
										
										
											2018-03-19 21:29:48 -04:00
										 |  |  |  |   iso_minimal_new_kernel = forMatchingSystems [ "x86_64-linux" ] (system: makeIso { | 
					
						
							| 
									
										
										
										
											2014-06-05 16:00:25 -05:00
										 |  |  |  |     module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix; | 
					
						
							|  |  |  |  |     type = "minimal-new-kernel"; | 
					
						
							|  |  |  |  |     inherit system; | 
					
						
							|  |  |  |  |   }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-15 05:32:59 +03:00
										 |  |  |  |   sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (system: makeSdImage { | 
					
						
							|  |  |  |  |     module = { | 
					
						
							|  |  |  |  |         armv6l-linux = ./modules/installer/cd-dvd/sd-image-raspberrypi.nix; | 
					
						
							|  |  |  |  |         armv7l-linux = ./modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix; | 
					
						
							|  |  |  |  |         aarch64-linux = ./modules/installer/cd-dvd/sd-image-aarch64.nix; | 
					
						
							|  |  |  |  |       }.${system}; | 
					
						
							| 
									
										
										
										
											2018-03-31 20:30:08 +03:00
										 |  |  |  |     inherit system; | 
					
						
							|  |  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-08 15:40:48 +02:00
										 |  |  |  |   # A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF). | 
					
						
							| 
									
										
										
										
											2018-03-19 21:29:48 -04:00
										 |  |  |  |   ova = forMatchingSystems [ "x86_64-linux" ] (system: | 
					
						
							| 
									
										
										
										
											2013-08-26 14:06:00 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-01 15:48:39 +02:00
										 |  |  |  |     with import nixpkgs { inherit system; }; | 
					
						
							| 
									
										
										
										
											2013-07-02 00:23:48 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-15 13:34:41 +01:00
										 |  |  |  |     hydraJob ((import lib/eval-config.nix { | 
					
						
							|  |  |  |  |       inherit system; | 
					
						
							|  |  |  |  |       modules = | 
					
						
							|  |  |  |  |         [ versionModule | 
					
						
							|  |  |  |  |           ./modules/installer/virtualbox-demo.nix | 
					
						
							|  |  |  |  |         ]; | 
					
						
							|  |  |  |  |     }).config.system.build.virtualBoxOVA) | 
					
						
							| 
									
										
										
										
											2013-08-26 14:06:00 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   ); | 
					
						
							| 
									
										
										
										
											2013-07-02 00:23:48 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-09-25 00:20:53 +02:00
										 |  |  |  |   # Ensure that all packages used by the minimal NixOS config end up in the channel. | 
					
						
							|  |  |  |  |   dummy = forAllSystems (system: pkgs.runCommand "dummy" | 
					
						
							| 
									
										
										
										
											2014-09-25 17:51:09 +02:00
										 |  |  |  |     { toplevel = (import lib/eval-config.nix { | 
					
						
							| 
									
										
										
										
											2014-09-25 00:20:53 +02:00
										 |  |  |  |         inherit system; | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |         modules = singleton ({ ... }: | 
					
						
							| 
									
										
										
										
											2015-03-20 19:23:55 +01:00
										 |  |  |  |           { fileSystems."/".device  = mkDefault "/dev/sda1"; | 
					
						
							|  |  |  |  |             boot.loader.grub.device = mkDefault "/dev/sda"; | 
					
						
							| 
									
										
										
										
											2018-07-25 23:22:54 +03:00
										 |  |  |  |             system.stateVersion = mkDefault "18.03"; | 
					
						
							| 
									
										
										
										
											2014-09-25 17:51:09 +02:00
										 |  |  |  |           }); | 
					
						
							|  |  |  |  |       }).config.system.build.toplevel; | 
					
						
							| 
									
										
										
										
											2015-12-29 17:21:49 +01:00
										 |  |  |  |       preferLocalBuild = true; | 
					
						
							| 
									
										
										
										
											2014-09-25 00:20:53 +02:00
										 |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2014-09-25 17:51:09 +02:00
										 |  |  |  |     "mkdir $out; ln -s $toplevel $out/dummy"); | 
					
						
							| 
									
										
										
										
											2014-09-25 00:20:53 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  |   # Provide a tarball that can be unpacked into an SD card, and easily | 
					
						
							|  |  |  |  |   # boot that system from uboot (like for the sheevaplug). | 
					
						
							|  |  |  |  |   # The pc variant helps preparing the expression for the system tarball | 
					
						
							|  |  |  |  |   # in a machine faster than the sheevpalug | 
					
						
							| 
									
										
										
										
											2015-06-15 14:18:27 +02:00
										 |  |  |  |   /*
 | 
					
						
							| 
									
										
										
										
											2013-10-31 08:48:57 +01:00
										 |  |  |  |   system_tarball_pc = forAllSystems (system: makeSystemTarball { | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  |     module = ./modules/installer/cd-dvd/system-tarball-pc.nix; | 
					
						
							|  |  |  |  |     inherit system; | 
					
						
							|  |  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2015-06-15 14:18:27 +02:00
										 |  |  |  |   */ | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-11 22:58:17 +01:00
										 |  |  |  |   # Provide container tarball for lxc, libvirt-lxc, docker-lxc, ... | 
					
						
							| 
									
										
										
										
											2014-12-12 20:28:01 +01:00
										 |  |  |  |   containerTarball = forAllSystems (system: makeSystemTarball { | 
					
						
							| 
									
										
										
										
											2014-12-11 22:58:17 +01:00
										 |  |  |  |     module = ./modules/virtualisation/lxc-container.nix; | 
					
						
							|  |  |  |  |     inherit system; | 
					
						
							|  |  |  |  |   }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  |   /*
 | 
					
						
							|  |  |  |  |   system_tarball_fuloong2f = | 
					
						
							|  |  |  |  |     assert builtins.currentSystem == "mips64-linux"; | 
					
						
							|  |  |  |  |     makeSystemTarball { | 
					
						
							|  |  |  |  |       module = ./modules/installer/cd-dvd/system-tarball-fuloong2f.nix; | 
					
						
							|  |  |  |  |       system = "mips64-linux"; | 
					
						
							| 
									
										
										
										
											2011-11-08 19:51:39 +00:00
										 |  |  |  |     }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  |   system_tarball_sheevaplug = | 
					
						
							|  |  |  |  |     assert builtins.currentSystem == "armv5tel-linux"; | 
					
						
							|  |  |  |  |     makeSystemTarball { | 
					
						
							|  |  |  |  |       module = ./modules/installer/cd-dvd/system-tarball-sheevaplug.nix; | 
					
						
							|  |  |  |  |       system = "armv5tel-linux"; | 
					
						
							| 
									
										
										
										
											2012-03-16 12:24:29 +00:00
										 |  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  |   */ | 
					
						
							| 
									
										
										
										
											2012-02-23 12:00:05 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   # Run the tests for each platform.  You can run a test by doing | 
					
						
							|  |  |  |  |   # e.g. ‘nix-build -A tests.login.x86_64-linux’, or equivalently, | 
					
						
							|  |  |  |  |   # ‘nix-build tests/login.nix -A result’. | 
					
						
							| 
									
										
										
										
											2017-10-14 22:38:10 +02:00
										 |  |  |  |   tests.atd = callTest tests/atd.nix {}; | 
					
						
							| 
									
										
										
										
											2017-07-27 13:24:17 +02:00
										 |  |  |  |   tests.acme = callTest tests/acme.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.avahi = callTest tests/avahi.nix {}; | 
					
						
							| 
									
										
										
										
											2017-12-28 17:51:42 -08:00
										 |  |  |  |   tests.beegfs = callTest tests/beegfs.nix {}; | 
					
						
							| 
									
										
										
										
											2018-09-15 15:09:05 +02:00
										 |  |  |  |   tests.upnp = callTest tests/upnp.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.bittorrent = callTest tests/bittorrent.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-07 03:05:30 +02:00
										 |  |  |  |   tests.bind = callTest tests/bind.nix {}; | 
					
						
							| 
									
										
										
										
											2018-09-02 09:37:48 +02:00
										 |  |  |  |   #tests.blivet = callTest tests/blivet.nix {};   # broken since 2017-07024 | 
					
						
							| 
									
										
										
										
											2016-02-29 20:11:04 +01:00
										 |  |  |  |   tests.boot = callSubTests tests/boot.nix {}; | 
					
						
							| 
									
										
										
										
											2016-05-06 16:06:22 +02:00
										 |  |  |  |   tests.boot-stage1 = callTest tests/boot-stage1.nix {}; | 
					
						
							| 
									
										
										
										
											2018-01-02 09:08:38 +01:00
										 |  |  |  |   tests.borgbackup = callTest tests/borgbackup.nix {}; | 
					
						
							| 
									
										
										
										
											2017-12-16 23:06:43 -05:00
										 |  |  |  |   tests.buildbot = callSubTests tests/buildbot.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.cadvisor = callTestOnMatchingSystems ["x86_64-linux"] tests/cadvisor.nix {}; | 
					
						
							|  |  |  |  |   tests.ceph = callTestOnMatchingSystems ["x86_64-linux"] tests/ceph.nix {}; | 
					
						
							| 
									
										
										
										
											2018-08-06 14:28:52 +02:00
										 |  |  |  |   tests.certmgr = callSubTests tests/certmgr.nix {}; | 
					
						
							| 
									
										
										
										
											2018-07-26 16:25:34 +02:00
										 |  |  |  |   tests.cfssl = callTestOnMatchingSystems ["x86_64-linux"] tests/cfssl.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.chromium = (callSubTestsOnMatchingSystems ["x86_64-linux"] tests/chromium.nix {}).stable or {}; | 
					
						
							| 
									
										
										
										
											2016-11-12 12:47:43 +01:00
										 |  |  |  |   tests.cjdns = callTest tests/cjdns.nix {}; | 
					
						
							| 
									
										
										
										
											2017-02-25 15:32:06 +01:00
										 |  |  |  |   tests.cloud-init = callTest tests/cloud-init.nix {}; | 
					
						
							| 
									
										
										
										
											2018-08-19 18:09:17 +02:00
										 |  |  |  |   tests.codimd = callTest tests/codimd.nix {}; | 
					
						
							| 
									
										
										
										
											2016-03-18 15:29:45 +01:00
										 |  |  |  |   tests.containers-ipv4 = callTest tests/containers-ipv4.nix {}; | 
					
						
							| 
									
										
										
										
											2016-01-31 21:45:05 +01:00
										 |  |  |  |   tests.containers-ipv6 = callTest tests/containers-ipv6.nix {}; | 
					
						
							|  |  |  |  |   tests.containers-bridge = callTest tests/containers-bridge.nix {}; | 
					
						
							| 
									
										
										
										
											2016-03-18 15:29:45 +01:00
										 |  |  |  |   tests.containers-imperative = callTest tests/containers-imperative.nix {}; | 
					
						
							| 
									
										
										
										
											2016-05-07 00:04:28 +02:00
										 |  |  |  |   tests.containers-extra_veth = callTest tests/containers-extra_veth.nix {}; | 
					
						
							| 
									
										
										
										
											2016-09-30 10:45:48 +02:00
										 |  |  |  |   tests.containers-physical_interfaces = callTest tests/containers-physical_interfaces.nix {}; | 
					
						
							| 
									
										
										
										
											2017-02-11 16:46:55 +01:00
										 |  |  |  |   tests.containers-restart_networking = callTest tests/containers-restart_networking.nix {}; | 
					
						
							| 
									
										
										
										
											2016-11-22 15:04:52 +01:00
										 |  |  |  |   tests.containers-tmpfs = callTest tests/containers-tmpfs.nix {}; | 
					
						
							| 
									
										
										
										
											2016-12-12 14:25:28 +01:00
										 |  |  |  |   tests.containers-hosts = callTest tests/containers-hosts.nix {}; | 
					
						
							|  |  |  |  |   tests.containers-macvlans = callTest tests/containers-macvlans.nix {}; | 
					
						
							| 
									
										
										
										
											2017-11-19 17:36:47 +01:00
										 |  |  |  |   tests.couchdb = callTest tests/couchdb.nix {}; | 
					
						
							| 
									
										
										
										
											2018-01-10 01:52:15 +01:00
										 |  |  |  |   tests.deluge = callTest tests/deluge.nix {}; | 
					
						
							| 
									
										
										
										
											2018-04-26 06:09:05 +02:00
										 |  |  |  |   tests.dhparams = callTest tests/dhparams.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.docker = callTestOnMatchingSystems ["x86_64-linux"] tests/docker.nix {}; | 
					
						
							|  |  |  |  |   tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {}; | 
					
						
							| 
									
										
										
										
											2018-04-14 13:41:23 +02:00
										 |  |  |  |   tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.docker-edge = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-edge.nix {}; | 
					
						
							| 
									
										
										
										
											2018-08-06 12:16:56 +02:00
										 |  |  |  |   tests.docker-registry = callTest tests/docker-registry.nix {}; | 
					
						
							| 
									
										
										
										
											2017-09-17 03:11:01 +02:00
										 |  |  |  |   tests.dovecot = callTest tests/dovecot.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.dnscrypt-proxy = callTestOnMatchingSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {}; | 
					
						
							| 
									
										
										
										
											2016-07-13 14:57:13 +02:00
										 |  |  |  |   tests.ecryptfs = callTest tests/ecryptfs.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.etcd = callTestOnMatchingSystems ["x86_64-linux"] tests/etcd.nix {}; | 
					
						
							|  |  |  |  |   tests.ec2-nixops = (callSubTestsOnMatchingSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-nixops or {}; | 
					
						
							| 
									
										
										
										
											2018-09-18 19:27:36 +02:00
										 |  |  |  |   # ec2-config doesn't work in a sandbox as the simulated ec2 instance needs network access | 
					
						
							|  |  |  |  |   #tests.ec2-config = (callSubTestsOnMatchingSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-config or {}; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.elk = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/elk.nix {}; | 
					
						
							| 
									
										
										
										
											2017-09-05 19:05:37 -04:00
										 |  |  |  |   tests.env = callTest tests/env.nix {}; | 
					
						
							| 
									
										
										
										
											2016-08-29 15:18:25 +02:00
										 |  |  |  |   tests.ferm = callTest tests/ferm.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.firefox = callTest tests/firefox.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-13 17:52:49 +01:00
										 |  |  |  |   tests.flatpak = callTest tests/flatpak.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.firewall = callTest tests/firewall.nix {}; | 
					
						
							| 
									
										
										
										
											2018-08-21 21:39:27 -04:00
										 |  |  |  |   tests.fsck = callTest tests/fsck.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-17 04:09:15 +01:00
										 |  |  |  |   tests.fwupd = callTest tests/fwupd.nix {}; | 
					
						
							| 
									
										
										
										
											2018-06-01 00:17:38 +02:00
										 |  |  |  |   tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {}; | 
					
						
							| 
									
										
										
										
											2015-01-25 16:29:37 -05:00
										 |  |  |  |   #tests.gitlab = callTest tests/gitlab.nix {}; | 
					
						
							| 
									
										
										
										
											2017-10-14 10:42:37 +02:00
										 |  |  |  |   tests.gitolite = callTest tests/gitolite.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-14 22:19:56 +01:00
										 |  |  |  |   tests.gjs = callTest tests/gjs.nix {}; | 
					
						
							| 
									
										
										
										
											2016-07-22 17:29:18 -05:00
										 |  |  |  |   tests.gocd-agent = callTest tests/gocd-agent.nix {}; | 
					
						
							|  |  |  |  |   tests.gocd-server = callTest tests/gocd-server.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.gnome3 = callTest tests/gnome3.nix {}; | 
					
						
							| 
									
										
										
										
											2015-09-15 14:25:19 +02:00
										 |  |  |  |   tests.gnome3-gdm = callTest tests/gnome3-gdm.nix {}; | 
					
						
							| 
									
										
										
										
											2017-10-21 23:44:15 +03:00
										 |  |  |  |   tests.grafana = callTest tests/grafana.nix {}; | 
					
						
							| 
									
										
										
										
											2017-09-30 21:12:24 +02:00
										 |  |  |  |   tests.graphite = callTest tests/graphite.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-20 21:09:31 -04:00
										 |  |  |  |   tests.hadoop.hdfs = callTestOnMatchingSystems [ "x86_64-linux" ] tests/hadoop/hdfs.nix {}; | 
					
						
							|  |  |  |  |   tests.hadoop.yarn = callTestOnMatchingSystems [ "x86_64-linux" ] tests/hadoop/yarn.nix {}; | 
					
						
							| 
									
										
										
										
											2017-04-30 08:38:47 +02:00
										 |  |  |  |   tests.hardened = callTest tests/hardened.nix { }; | 
					
						
							| 
									
										
										
										
											2018-06-08 22:30:24 +02:00
										 |  |  |  |   tests.haproxy = callTest tests/haproxy.nix {}; | 
					
						
							| 
									
										
										
										
											2015-03-05 17:21:27 +03:00
										 |  |  |  |   tests.hibernate = callTest tests/hibernate.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-01 02:36:36 -07:00
										 |  |  |  |   tests.hitch = callTest tests/hitch {}; | 
					
						
							| 
									
										
										
										
											2018-01-26 01:41:36 +01:00
										 |  |  |  |   tests.home-assistant = callTest tests/home-assistant.nix { }; | 
					
						
							| 
									
										
										
										
											2016-10-12 18:58:56 -04:00
										 |  |  |  |   tests.hound = callTest tests/hound.nix {}; | 
					
						
							| 
									
										
										
										
											2017-12-01 21:06:16 -06:00
										 |  |  |  |   tests.hocker-fetchdocker = callTest tests/hocker-fetchdocker {}; | 
					
						
							| 
									
										
										
										
											2018-05-18 17:11:29 +02:00
										 |  |  |  |   tests.hydra = callTest tests/hydra {}; | 
					
						
							| 
									
										
										
										
											2015-03-05 05:16:26 +01:00
										 |  |  |  |   tests.i3wm = callTest tests/i3wm.nix {}; | 
					
						
							| 
									
										
										
										
											2018-04-07 15:06:51 +02:00
										 |  |  |  |   tests.iftop = callTest tests/iftop.nix {}; | 
					
						
							| 
									
										
										
										
											2017-11-27 10:14:17 +02:00
										 |  |  |  |   tests.initrd-network-ssh = callTest tests/initrd-network-ssh {}; | 
					
						
							| 
									
										
										
										
											2016-02-29 20:11:04 +01:00
										 |  |  |  |   tests.installer = callSubTests tests/installer.nix {}; | 
					
						
							| 
									
										
										
										
											2014-05-27 22:54:43 +02:00
										 |  |  |  |   tests.influxdb = callTest tests/influxdb.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.ipv6 = callTest tests/ipv6.nix {}; | 
					
						
							|  |  |  |  |   tests.jenkins = callTest tests/jenkins.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-19 05:58:52 +02:00
										 |  |  |  |   tests.ostree = callTest tests/ostree.nix {}; | 
					
						
							| 
									
										
										
										
											2018-04-30 11:59:53 +02:00
										 |  |  |  |   tests.osquery = callTest tests/osquery.nix {}; | 
					
						
							| 
									
										
										
										
											2017-02-28 19:09:56 -06:00
										 |  |  |  |   tests.plasma5 = callTest tests/plasma5.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-15 07:34:50 +11:00
										 |  |  |  |   tests.plotinus = callTest tests/plotinus.nix {}; | 
					
						
							| 
									
										
										
										
											2016-03-31 09:26:58 +02:00
										 |  |  |  |   tests.keymap = callSubTests tests/keymap.nix {}; | 
					
						
							| 
									
										
										
										
											2016-02-02 19:03:13 +01:00
										 |  |  |  |   tests.initrdNetwork = callTest tests/initrd-network.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-12 02:16:25 +02:00
										 |  |  |  |   tests.kafka = callSubTests tests/kafka.nix {}; | 
					
						
							| 
									
										
										
										
											2017-09-07 21:11:06 +02:00
										 |  |  |  |   tests.kernel-latest = callTest tests/kernel-latest.nix {}; | 
					
						
							|  |  |  |  |   tests.kernel-lts = callTest tests/kernel-lts.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-17 01:35:35 -04:00
										 |  |  |  |   tests.kubernetes.dns = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/dns.nix {}; | 
					
						
							|  |  |  |  |   ## kubernetes.e2e should eventually replace kubernetes.rbac when it works | 
					
						
							|  |  |  |  |   #tests.kubernetes.e2e = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/e2e.nix {}; | 
					
						
							|  |  |  |  |   tests.kubernetes.rbac = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/rbac.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; }; | 
					
						
							| 
									
										
										
										
											2017-05-26 21:42:24 +02:00
										 |  |  |  |   tests.ldap = callTest tests/ldap.nix {}; | 
					
						
							| 
									
										
										
										
											2015-08-17 10:48:04 +02:00
										 |  |  |  |   #tests.lightdm = callTest tests/lightdm.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.login = callTest tests/login.nix {}; | 
					
						
							| 
									
										
										
										
											2014-09-05 15:28:55 +02:00
										 |  |  |  |   #tests.logstash = callTest tests/logstash.nix {}; | 
					
						
							| 
									
										
										
										
											2015-09-08 00:17:21 -07:00
										 |  |  |  |   tests.mathics = callTest tests/mathics.nix {}; | 
					
						
							| 
									
										
										
										
											2017-11-04 15:21:55 -03:00
										 |  |  |  |   tests.matrix-synapse = callTest tests/matrix-synapse.nix {}; | 
					
						
							| 
									
										
										
										
											2018-06-09 02:05:21 +02:00
										 |  |  |  |   tests.memcached = callTest tests/memcached.nix {}; | 
					
						
							| 
									
										
										
										
											2017-09-28 14:25:17 +02:00
										 |  |  |  |   tests.mesos = callTest tests/mesos.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.misc = callTest tests/misc.nix {}; | 
					
						
							| 
									
										
										
										
											2016-09-13 16:38:45 +01:00
										 |  |  |  |   tests.mongodb = callTest tests/mongodb.nix {}; | 
					
						
							| 
									
										
										
										
											2018-06-16 16:52:25 -04:00
										 |  |  |  |   tests.mpd = callTest tests/mpd.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.mumble = callTest tests/mumble.nix {}; | 
					
						
							|  |  |  |  |   tests.munin = callTest tests/munin.nix {}; | 
					
						
							| 
									
										
										
										
											2017-11-19 19:20:50 +01:00
										 |  |  |  |   tests.mutableUsers = callTest tests/mutable-users.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.mysql = callTest tests/mysql.nix {}; | 
					
						
							| 
									
										
										
										
											2017-09-23 15:58:07 +01:00
										 |  |  |  |   tests.mysqlBackup = callTest tests/mysql-backup.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.mysqlReplication = callTest tests/mysql-replication.nix {}; | 
					
						
							| 
									
										
										
										
											2014-09-18 13:34:29 -07:00
										 |  |  |  |   tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; }; | 
					
						
							| 
									
										
										
										
											2017-01-22 19:42:59 +01:00
										 |  |  |  |   tests.nat.firewall-conntrack = callTest tests/nat.nix { withFirewall = true; withConntrackHelpers = true; }; | 
					
						
							| 
									
										
										
										
											2014-09-18 13:34:29 -07:00
										 |  |  |  |   tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; }; | 
					
						
							| 
									
										
										
										
											2017-10-17 19:51:41 -04:00
										 |  |  |  |   tests.netdata = callTest tests/netdata.nix { }; | 
					
						
							| 
									
										
										
										
											2016-02-29 20:11:04 +01:00
										 |  |  |  |   tests.networking.networkd = callSubTests tests/networking.nix { networkd = true; }; | 
					
						
							|  |  |  |  |   tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; }; | 
					
						
							| 
									
										
										
										
											2018-06-29 19:17:54 +02:00
										 |  |  |  |   tests.nextcloud = callSubTests tests/nextcloud { }; | 
					
						
							| 
									
										
										
										
											2014-11-30 15:22:12 +01:00
										 |  |  |  |   # TODO: put in networking.nix after the test becomes more complete | 
					
						
							|  |  |  |  |   tests.networkingProxy = callTest tests/networking-proxy.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-15 14:10:29 +02:00
										 |  |  |  |   tests.nexus = callTest tests/nexus.nix { }; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.nfs3 = callTest tests/nfs.nix { version = 3; }; | 
					
						
							| 
									
										
										
										
											2015-04-02 17:44:48 +02:00
										 |  |  |  |   tests.nfs4 = callTest tests/nfs.nix { version = 4; }; | 
					
						
							| 
									
										
										
										
											2017-03-20 19:05:22 +01:00
										 |  |  |  |   tests.nginx = callTest tests/nginx.nix { }; | 
					
						
							| 
									
										
										
										
											2017-11-16 12:21:02 -06:00
										 |  |  |  |   tests.nghttpx = callTest tests/nghttpx.nix { }; | 
					
						
							| 
									
										
										
										
											2018-02-28 16:55:00 -05:00
										 |  |  |  |   tests.nix-ssh-serve = callTest tests/nix-ssh-serve.nix { }; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.novacomd = callTestOnMatchingSystems ["x86_64-linux"] tests/novacomd.nix { }; | 
					
						
							| 
									
										
										
										
											2016-11-06 10:33:21 +01:00
										 |  |  |  |   tests.leaps = callTest tests/leaps.nix { }; | 
					
						
							| 
									
										
										
										
											2014-09-05 02:52:05 +02:00
										 |  |  |  |   tests.nsd = callTest tests/nsd.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.openssh = callTest tests/openssh.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-03 18:53:16 +00:00
										 |  |  |  |   tests.openldap = callTest tests/openldap.nix {}; | 
					
						
							| 
									
										
										
										
											2018-06-21 13:04:24 +02:00
										 |  |  |  |   tests.opensmtpd = callTest tests/opensmtpd.nix {}; | 
					
						
							| 
									
										
										
										
											2017-10-31 17:53:49 +01:00
										 |  |  |  |   tests.owncloud = callTest tests/owncloud.nix {}; | 
					
						
							| 
									
										
										
										
											2017-02-12 18:17:08 -05:00
										 |  |  |  |   tests.pam-oath-login = callTest tests/pam-oath-login.nix {}; | 
					
						
							| 
									
										
										
										
											2014-12-01 16:45:38 +01:00
										 |  |  |  |   tests.peerflix = callTest tests/peerflix.nix {}; | 
					
						
							| 
									
										
										
										
											2017-11-12 08:05:27 +01:00
										 |  |  |  |   tests.php-pcre = callTest tests/php-pcre.nix {}; | 
					
						
							| 
									
										
										
										
											2017-02-11 04:57:57 +00:00
										 |  |  |  |   tests.postgresql = callSubTests tests/postgresql.nix {}; | 
					
						
							| 
									
										
										
										
											2017-11-02 20:35:05 +01:00
										 |  |  |  |   tests.pgmanage = callTest tests/pgmanage.nix {}; | 
					
						
							| 
									
										
										
										
											2017-10-11 18:06:20 +02:00
										 |  |  |  |   tests.postgis = callTest tests/postgis.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-17 13:36:28 +00:00
										 |  |  |  |   tests.powerdns = callTest tests/powerdns.nix {}; | 
					
						
							| 
									
										
										
										
											2018-09-22 20:49:23 +02:00
										 |  |  |  |   tests.pgjwt = callTest tests/pgjwt.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-09 18:40:39 +00:00
										 |  |  |  |   tests.predictable-interface-names = callSubTests tests/predictable-interface-names.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.printing = callTest tests/printing.nix {}; | 
					
						
							| 
									
										
										
										
											2017-10-16 19:36:13 +02:00
										 |  |  |  |   tests.prometheus = callTest tests/prometheus.nix {}; | 
					
						
							| 
									
										
										
										
											2018-10-08 16:38:16 +02:00
										 |  |  |  |   tests.prometheus-exporters = callTest tests/prometheus-exporters.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-22 03:46:02 +01:00
										 |  |  |  |   tests.prosody = callTest tests/prosody.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.proxy = callTest tests/proxy.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-25 21:19:21 +02:00
										 |  |  |  |   tests.quagga = callTest tests/quagga.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.quake3 = callTest tests/quake3.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-19 18:54:16 +01:00
										 |  |  |  |   tests.rabbitmq = callTest tests/rabbitmq.nix {}; | 
					
						
							| 
									
										
										
										
											2017-07-25 09:01:08 +02:00
										 |  |  |  |   tests.radicale = callTest tests/radicale.nix {}; | 
					
						
							| 
									
										
										
										
											2018-10-10 21:16:42 -04:00
										 |  |  |  |   tests.redmine = callTest tests/redmine.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-02 01:35:32 +01:00
										 |  |  |  |   tests.rspamd = callSubTests tests/rspamd.nix {}; | 
					
						
							| 
									
										
										
										
											2018-10-27 13:01:30 -04:00
										 |  |  |  |   tests.rsyslogd = callSubTests tests/rsyslogd.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.runInMachine = callTest tests/run-in-machine.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-09 23:52:03 -08:00
										 |  |  |  |   tests.rxe = callTest tests/rxe.nix {}; | 
					
						
							| 
									
										
										
										
											2016-09-30 21:24:18 +02:00
										 |  |  |  |   tests.samba = callTest tests/samba.nix {}; | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |  |   tests.sddm = callSubTests tests/sddm.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.simple = callTest tests/simple.nix {}; | 
					
						
							| 
									
										
										
										
											2017-04-23 19:14:44 +02:00
										 |  |  |  |   tests.slim = callTest tests/slim.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-24 14:46:56 +02:00
										 |  |  |  |   tests.slurm = callTest tests/slurm.nix {}; | 
					
						
							| 
									
										
										
										
											2016-07-20 19:07:59 -04:00
										 |  |  |  |   tests.smokeping = callTest tests/smokeping.nix {}; | 
					
						
							| 
									
										
										
										
											2017-07-05 16:19:32 +02:00
										 |  |  |  |   tests.snapper = callTest tests/snapper.nix {}; | 
					
						
							| 
									
										
										
										
											2018-09-05 16:48:14 +02:00
										 |  |  |  |   #tests.statsd = callTest tests/statsd.nix {}; # statsd is broken: #45946 | 
					
						
							| 
									
										
										
										
											2017-08-05 14:01:52 +02:00
										 |  |  |  |   tests.strongswan-swanctl = callTest tests/strongswan-swanctl.nix {}; | 
					
						
							| 
									
										
										
										
											2018-01-17 21:56:08 +07:00
										 |  |  |  |   tests.sudo = callTest tests/sudo.nix {}; | 
					
						
							| 
									
										
											  
											
												systemd: Update to latest NixOS branch
Updated to the latest version of the nixos-v237 branch, which fixes two
things:
  * Make sure that systemd looks in /etc for configuration files.
    https://github.com/NixOS/systemd/pull/15
  * Fix handling of the x-initrd.mount option.
    https://github.com/NixOS/systemd/pull/16
I've added NixOS VM tests for both to ensure we won't run into
regressions. The newly added systemd test only tests for that and is by
no means exhaustive, but it's a start.
Personally I only wanted to fix the former issue, because that's the one
I've been debugging. After sending in a pull request for our systemd
fork (https://github.com/NixOS/systemd/pull/17) I got a notice from
@Mic92, that he already fixed this and his fix was even better as it's
even suitable for upstream (so we hopefully can drop that patch
someday).
The reason why the second one came in was simply because it has been
merged before the former, but I thought it would be a good idea to have
tests for that as well.
In addition I've removed the sysconfdir=$out/etc entry to make sure the
default (/etc) is used. Installing is still done to $out, because those
directories that were previously into sysconfdir now get into
factoryconfdir.
Quote from commit NixOS/systemd@98067cc806ae0d2759cdd2334f230cd8548e531:
  By default systemd should read all its configuration from /etc.
  Therefore we rely on -Dsysconfdir=/etc in meson as default value.
  Unfortunately this would also lead to installation of systemd's own
  configuration files to `/etc` whereas we are limited to /nix/store. To
  counter that this commit introduces two new configuration variables
  `factoryconfdir` and `factorypkgconfdir` to install systemd's own
  configuration into nix store again, while having executables looking
  up files in /etc.
Tested this change against all of the NixOS VM tests we have in
nixos/release.nix. Between this change and its parent no new tests were
failing (although a lot of them were flaky).
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @Mic92, @tk-ecotelecom, @edolstra, @fpletz
Fixes: #35415
Fixes: #35268
											
										 
											2018-03-03 07:10:22 +01:00
										 |  |  |  |   tests.systemd = callTest tests/systemd.nix {}; | 
					
						
							| 
									
										
										
										
											2017-11-19 19:50:08 +01:00
										 |  |  |  |   tests.switchTest = callTest tests/switch-test.nix {}; | 
					
						
							| 
									
										
										
										
											2016-04-05 17:52:55 +02:00
										 |  |  |  |   tests.taskserver = callTest tests/taskserver.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.tomcat = callTest tests/tomcat.nix {}; | 
					
						
							| 
									
										
										
										
											2018-06-18 19:59:19 +02:00
										 |  |  |  |   tests.tor = callTest tests/tor.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-18 10:21:24 -07:00
										 |  |  |  |   tests.transmission = callTest tests/transmission.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-19 14:37:05 +02:00
										 |  |  |  |   tests.udisks2 = callTest tests/udisks2.nix {}; | 
					
						
							| 
									
										
										
										
											2017-12-04 12:42:30 +01:00
										 |  |  |  |   tests.vault = callTest tests/vault.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-19 21:47:56 -04:00
										 |  |  |  |   tests.virtualbox = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/virtualbox.nix {}; | 
					
						
							| 
									
										
										
										
											2017-03-18 11:10:49 +01:00
										 |  |  |  |   tests.wordpress = callTest tests/wordpress.nix {}; | 
					
						
							| 
									
										
										
										
											2018-03-10 00:08:27 +01:00
										 |  |  |  |   tests.xautolock = callTest tests/xautolock.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-22 06:29:51 +01:00
										 |  |  |  |   tests.xdg-desktop-portal = callTest tests/xdg-desktop-portal.nix {}; | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  |  |   tests.xfce = callTest tests/xfce.nix {}; | 
					
						
							| 
									
										
										
										
											2017-09-04 14:03:20 -04:00
										 |  |  |  |   tests.xmonad = callTest tests/xmonad.nix {}; | 
					
						
							| 
									
										
										
										
											2018-02-26 19:55:07 +00:00
										 |  |  |  |   tests.xrdp = callTest tests/xrdp.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-18 18:24:53 +02:00
										 |  |  |  |   tests.xss-lock = callTest tests/xss-lock.nix {}; | 
					
						
							| 
									
										
										
										
											2017-12-12 01:14:00 +01:00
										 |  |  |  |   tests.yabar = callTest tests/yabar.nix {}; | 
					
						
							| 
									
										
										
										
											2017-11-02 13:59:10 -04:00
										 |  |  |  |   tests.zookeeper = callTest tests/zookeeper.nix {}; | 
					
						
							| 
									
										
										
										
											2018-05-30 18:13:16 +02:00
										 |  |  |  |   tests.morty = callTest tests/morty.nix { }; | 
					
						
							| 
									
										
										
										
											2018-08-31 21:19:53 -05:00
										 |  |  |  |   tests.bcachefs = callTest tests/bcachefs.nix { }; | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   /* Build a bunch of typical closures so that Hydra can keep track of
 | 
					
						
							|  |  |  |  |      the evolution of closure sizes. */ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   closures = { | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |     smallContainer = makeClosure ({ ... }: | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |       { boot.isContainer = true; | 
					
						
							|  |  |  |  |         services.openssh.enable = true; | 
					
						
							|  |  |  |  |       }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |     tinyContainer = makeClosure ({ ... }: | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |       { boot.isContainer = true; | 
					
						
							|  |  |  |  |         imports = [ modules/profiles/minimal.nix ]; | 
					
						
							|  |  |  |  |       }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |     ec2 = makeClosure ({ ... }: | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |       { imports = [ modules/virtualisation/amazon-image.nix ]; | 
					
						
							|  |  |  |  |       }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |     kde = makeClosure ({ ... }: | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |       { services.xserver.enable = true; | 
					
						
							| 
									
										
										
										
											2017-02-09 21:25:03 -05:00
										 |  |  |  |         services.xserver.displayManager.sddm.enable = true; | 
					
						
							| 
									
										
										
										
											2017-03-03 07:24:58 -06:00
										 |  |  |  |         services.xserver.desktopManager.plasma5.enable = true; | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |       }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |  |     xfce = makeClosure ({ ... }: | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |       { services.xserver.enable = true; | 
					
						
							|  |  |  |  |         services.xserver.desktopManager.xfce.enable = true; | 
					
						
							|  |  |  |  |       }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     # Linux/Apache/PostgreSQL/PHP stack. | 
					
						
							|  |  |  |  |     lapp = makeClosure ({ pkgs, ... }: | 
					
						
							|  |  |  |  |       { services.httpd.enable = true; | 
					
						
							|  |  |  |  |         services.httpd.adminAddr = "foo@example.org"; | 
					
						
							|  |  |  |  |         services.postgresql.enable = true; | 
					
						
							| 
									
										
										
										
											2018-10-23 17:22:14 +01:00
										 |  |  |  |         services.postgresql.package = pkgs.postgresql_9_3; | 
					
						
							| 
									
										
										
										
											2014-08-22 11:37:31 +02:00
										 |  |  |  |         environment.systemPackages = [ pkgs.php ]; | 
					
						
							|  |  |  |  |       }); | 
					
						
							|  |  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2013-03-26 14:00:31 +01:00
										 |  |  |  | } |