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;
 | 
						|
  });
 | 
						|
 | 
						|
}
 |