nixpkgs/nixos/release-small.nix
Robert Hensing 209f8b1acd nixos/release*.nix: Clean nixpkgs sources by default
Currently, when building NixOS from a git clone, Nix has to copy
the entire repo at >1GB into the store by default. That is not
necessary and causes a dumping large path message.
If you need the old behaviour for some reason, you will have to
specify it by passing the path to your repo explicitly as the
nixpkgs argument like this:

  --arg nixpkgs '{outPath = ./.; revCount = 56789; shortRev = "gfedcba"; }'
2018-02-09 18:32:26 +00:00

95 lines
1.9 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
proxy
simple;
installer = {
inherit (nixos'.tests.installer)
lvm
separateBoot
simple;
};
};
};
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;
});
}