100 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # This jobset is used to generate a NixOS channel that contains a
 | |
| # small subset of Nixpkgs, mostly useful for servers that need fast
 | |
| # security updates.
 | |
| 
 | |
| { nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
 | |
| , stableBranch ? false
 | |
| , supportedSystems ? [ "x86_64-linux" ] # no i686-linux
 | |
| }:
 | |
| 
 | |
| let
 | |
| 
 | |
|   nixpkgsSrc = nixpkgs; # urgh
 | |
| 
 | |
|   pkgs = import ./.. {};
 | |
| 
 | |
|   lib = pkgs.lib;
 | |
| 
 | |
|   nixos' = import ./release.nix {
 | |
|     inherit stableBranch supportedSystems;
 | |
|     nixpkgs = nixpkgsSrc;
 | |
|   };
 | |
| 
 | |
|   nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix {
 | |
|     inherit supportedSystems;
 | |
|     nixpkgs = nixpkgsSrc;
 | |
|   }) [ "unstable" ];
 | |
| 
 | |
| in rec {
 | |
| 
 | |
|   nixos = {
 | |
|     inherit (nixos') channel manual iso_minimal dummy;
 | |
|     tests = {
 | |
|       inherit (nixos'.tests)
 | |
|         containers-imperative
 | |
|         containers-ipv4
 | |
|         firewall
 | |
|         ipv6
 | |
|         login
 | |
|         misc
 | |
|         nat
 | |
|         nfs3
 | |
|         openssh
 | |
|         php-pcre
 | |
|         predictable-interface-names
 | |
|         proxy
 | |
|         simple;
 | |
|       installer = {
 | |
|         inherit (nixos'.tests.installer)
 | |
|           lvm
 | |
|           separateBoot
 | |
|           simple;
 | |
|       };
 | |
|       boot = {
 | |
|         inherit (nixos'.tests.boot)
 | |
|           biosCdrom;
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   nixpkgs = {
 | |
|     inherit (nixpkgs')
 | |
|       apacheHttpd
 | |
|       cmake
 | |
|       cryptsetup
 | |
|       emacs
 | |
|       gettext
 | |
|       git
 | |
|       imagemagick
 | |
|       jdk
 | |
|       linux
 | |
|       mysql
 | |
|       nginx
 | |
|       nodejs
 | |
|       openssh
 | |
|       php
 | |
|       postgresql
 | |
|       python
 | |
|       rsyslog
 | |
|       stdenv
 | |
|       subversion
 | |
|       tarball
 | |
|       vim;
 | |
|   };
 | |
| 
 | |
|   tested = lib.hydraJob (pkgs.releaseTools.aggregate {
 | |
|     name = "nixos-${nixos.channel.version}";
 | |
|     meta = {
 | |
|       description = "Release-critical builds for the NixOS channel";
 | |
|       maintainers = [ lib.maintainers.eelco ];
 | |
|     };
 | |
|     constituents =
 | |
|       let all = x: map (system: x.${system}) supportedSystems; in
 | |
|       [ nixpkgs.tarball
 | |
|         (all nixpkgs.jdk)
 | |
|       ]
 | |
|       ++ lib.collect lib.isDerivation nixos;
 | |
|   });
 | |
| 
 | |
| }
 | 
