nixpkgs/nixos/release-small.nix
Jade Lovelace 3fd324f823 nixos: remove historical maintainership of modules by eelco
Eelco has made several early contributions to NixOS including writing
the samba module among other things, but is more or less inactive these
days.

By my brief inspection, he has not committed to the nixos/ tree since
releasing Nix 2.13 in early 2023 and merging a PR to networking tests
slightly before that. A lot of these tests/modules are actually
unmaintained in practice, so we should update the code to reflect the
practical reality so someone can consider picking them up.
2024-05-12 12:48:57 -07:00

147 lines
3.5 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.
#
# Individual jobs can be tested by running:
#
# nix-build nixos/release-small.nix -A <jobname>
#
{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
, stableBranch ? false
, supportedSystems ? [ "aarch64-linux" "x86_64-linux" ] # no i686-linux
}:
let
nixpkgsSrc = nixpkgs; # urgh
pkgs = import ./.. { system = "x86_64-linux"; };
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 options iso_minimal amazonImage dummy;
tests = {
inherit (nixos'.tests)
acme
containers-imperative
containers-ip
firewall
ipv6
login
misc
nat
nfs4
openssh
php
predictable-interface-names
proxy
simple;
installer = {
inherit (nixos'.tests.installer)
lvm
separateBoot
simple;
};
boot = {
inherit (nixos'.tests.boot)
biosCdrom
uefiCdrom;
};
};
};
nixpkgs = {
inherit (nixpkgs')
apacheHttpd
cmake
cryptsetup
emacs
gettext
git
imagemagick
jdk
linux
mariadb
nginx
nodejs
openssh
php
postgresql
python
release-checks
rsyslog
stdenv
subversion
tarball
vim
tests-stdenv-gcc-stageCompare;
};
tested = let
onSupported = x: map (system: "${x}.${system}") supportedSystems;
onSystems = systems: x: map (system: "${x}.${system}")
(pkgs.lib.intersectLists systems supportedSystems);
in pkgs.releaseTools.aggregate {
name = "nixos-${nixos.channel.version}";
meta = {
description = "Release-critical builds for the NixOS channel";
maintainers = [ ];
};
constituents = lib.flatten [
[
"nixos.channel"
"nixpkgs.tarball"
"nixpkgs.release-checks"
]
(map (onSystems [ "x86_64-linux" ]) [
"nixos.tests.boot.biosCdrom"
"nixos.tests.installer.lvm"
"nixos.tests.installer.separateBoot"
"nixos.tests.installer.simple"
])
(map onSupported [
"nixos.dummy"
"nixos.iso_minimal"
"nixos.amazonImage"
"nixos.manual"
"nixos.tests.acme"
"nixos.tests.boot.uefiCdrom"
"nixos.tests.containers-imperative"
"nixos.tests.containers-ip"
"nixos.tests.firewall"
"nixos.tests.ipv6"
"nixos.tests.login"
"nixos.tests.misc.default"
"nixos.tests.nat.firewall"
"nixos.tests.nat.standalone"
"nixos.tests.nfs4.simple"
"nixos.tests.openssh"
"nixos.tests.php.fpm"
"nixos.tests.php.pcre"
"nixos.tests.predictable-interface-names.predictable"
"nixos.tests.predictable-interface-names.predictableNetworkd"
"nixos.tests.predictable-interface-names.unpredictable"
"nixos.tests.predictable-interface-names.unpredictableNetworkd"
"nixos.tests.proxy"
"nixos.tests.simple"
"nixpkgs.jdk"
"nixpkgs.tests-stdenv-gcc-stageCompare"
])
];
};
}