diff --git a/nixos/modules/programs/yabar.nix b/nixos/modules/programs/yabar.nix index 0457f8e76655..ee8370b56914 100644 --- a/nixos/modules/programs/yabar.nix +++ b/nixos/modules/programs/yabar.nix @@ -48,6 +48,7 @@ in type = lib.types.package; # `yabar-stable` segfaults under certain conditions. + # remember to update yabar.passthru.tests if nixos switches back to it! apply = x: if x == pkgs.yabar-unstable then x else lib.flip lib.warn x '' It's not recommended to use `yabar' with `programs.yabar', the (old) stable release tends to segfault under certain circumstances: diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix index 97729e38864c..1a260814f8b8 100644 --- a/nixos/tests/mongodb.nix +++ b/nixos/tests/mongodb.nix @@ -33,6 +33,7 @@ import ./make-test-python.nix ({ pkgs, ... }: nodes = { node = {...}: { environment.systemPackages = with pkgs; [ + # remember to update mongodb.passthru.tests if you change this mongodb-5_0 ]; }; diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix index c28eb62d07a4..f96c08577b39 100644 --- a/pkgs/applications/audio/mympd/default.nix +++ b/pkgs/applications/audio/mympd/default.nix @@ -12,6 +12,7 @@ , gzip , perl , jq +, nixosTests }: stdenv.mkDerivation (finalAttrs: { @@ -57,6 +58,8 @@ stdenv.mkDerivation (finalAttrs: { # 5 tests out of 23 fail, probably due to the sandbox... doCheck = false; + passthru.tests = { inherit (nixosTests) mympd; }; + meta = { homepage = "https://jcorporation.github.io/myMPD"; description = "Standalone and mobile friendly web mpd client with a tiny footprint and advanced features"; diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix index 0ab89e9c2709..ba24148ed51e 100644 --- a/pkgs/applications/blockchains/ergo/default.nix +++ b/pkgs/applications/blockchains/ergo/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ lib, stdenv, fetchurl, makeWrapper, jre, nixosTests }: stdenv.mkDerivation rec { pname = "ergo"; @@ -17,6 +17,8 @@ stdenv.mkDerivation rec { makeWrapper ${jre}/bin/java $out/bin/ergo --add-flags "-jar $src" ''; + passthru.tests = { inherit (nixosTests) ergo; }; + meta = with lib; { description = "Open protocol that implements modern scientific ideas in the blockchain area"; homepage = "https://ergoplatform.org/en/"; diff --git a/pkgs/applications/blockchains/quorum/default.nix b/pkgs/applications/blockchains/quorum/default.nix index 23e1d92a8314..ca323bba3a7b 100644 --- a/pkgs/applications/blockchains/quorum/default.nix +++ b/pkgs/applications/blockchains/quorum/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ lib, fetchFromGitHub, buildGoModule, nixosTests }: buildGoModule rec { pname = "quorum"; @@ -20,6 +20,8 @@ buildGoModule rec { ldflags = [ "-s" "-w" ]; + passthru.tests = { inherit (nixosTests) quorum; }; + meta = with lib; { description = "Permissioned implementation of Ethereum supporting data privacy"; homepage = "https://consensys.net/quorum/"; diff --git a/pkgs/applications/blockchains/wasabibackend/default.nix b/pkgs/applications/blockchains/wasabibackend/default.nix index 1371be1a9752..59a3c1689b07 100644 --- a/pkgs/applications/blockchains/wasabibackend/default.nix +++ b/pkgs/applications/blockchains/wasabibackend/default.nix @@ -6,6 +6,7 @@ dotnetCorePackages, zlib, openssl, + nixosTests, }: buildDotnetModule rec { pname = "wasabibackend"; @@ -38,6 +39,10 @@ buildDotnetModule rec { mv $out/bin/WalletWasabi.Backend $out/bin/WasabiBackend ''; + passthru.tests = { + inherit (nixosTests) wasabibackend; + }; + meta = with lib; { description = "Backend for the Wasabi Wallet"; homepage = "https://wasabiwallet.io/"; diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index f5d856ec1770..820477861bb5 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -28,6 +28,7 @@ , qtbase , yelp-tools , yelp-xsl +, nixosTests }: stdenv.mkDerivation rec { @@ -115,6 +116,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = nix-update-script { }; + tests = { inherit (nixosTests) lightdm; }; }; diff --git a/pkgs/applications/display-managers/ly/default.nix b/pkgs/applications/display-managers/ly/default.nix index 41ecfd40f4b5..24332a10c080 100644 --- a/pkgs/applications/display-managers/ly/default.nix +++ b/pkgs/applications/display-managers/ly/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, linux-pam, libxcb, makeBinaryWrapper, zig_0_12 -, callPackage }: +, callPackage, nixosTests }: stdenv.mkDerivation { pname = "ly"; @@ -19,6 +19,8 @@ stdenv.mkDerivation { ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p ''; + passthru.tests = { inherit (nixosTests) ly; }; + meta = with lib; { description = "TUI display manager"; license = licenses.wtfpl; diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 2708ff060814..45268ae44bdf 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -16,6 +16,7 @@ runCommand "sddm-wrapped" { passthru = { inherit unwrapped; + inherit (unwrapped.passthru) tests; }; meta = unwrapped.meta; diff --git a/pkgs/applications/display-managers/sddm/unwrapped.nix b/pkgs/applications/display-managers/sddm/unwrapped.nix index 430e62a5ef4a..3a7a73dd9610 100644 --- a/pkgs/applications/display-managers/sddm/unwrapped.nix +++ b/pkgs/applications/display-managers/sddm/unwrapped.nix @@ -2,6 +2,7 @@ , cmake, pkg-config, qttools , libxcb, libXau, pam, qtbase, qtdeclarative , qtquickcontrols2 ? null, systemd, xkeyboardconfig +, nixosTests }: let isQt6 = lib.versions.major qtbase.version == "6"; @@ -76,6 +77,8 @@ in stdenv.mkDerivation(finalAttrs: { done ''; + passthru.tests = { inherit (nixosTests) sddm; }; + meta = with lib; { description = "QML based X11 display manager"; homepage = "https://github.com/sddm/sddm"; diff --git a/pkgs/applications/editors/music/tuxguitar/default.nix b/pkgs/applications/editors/music/tuxguitar/default.nix index 47614b260b82..a602de8a37b7 100644 --- a/pkgs/applications/editors/music/tuxguitar/default.nix +++ b/pkgs/applications/editors/music/tuxguitar/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, swt, jre, makeWrapper, alsa-lib, jack2, fluidsynth, libpulseaudio }: +{ lib, stdenv, fetchurl, swt, jre, makeWrapper, alsa-lib, jack2, fluidsynth, libpulseaudio, nixosTests }: let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux"; if stdenv.hostPlatform.system == "i686-linux" then @@ -31,6 +31,8 @@ in stdenv.mkDerivation rec { --prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar" ''; + passthru.tests = { inherit (nixosTests) tuxguitar; }; + meta = with lib; { description = "Multitrack guitar tablature editor"; longDescription = '' diff --git a/pkgs/applications/misc/fluidd/default.nix b/pkgs/applications/misc/fluidd/default.nix index c3d5340640b3..1741e5f2d325 100644 --- a/pkgs/applications/misc/fluidd/default.nix +++ b/pkgs/applications/misc/fluidd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenvNoCC, fetchurl, unzip }: +{ lib, stdenvNoCC, fetchurl, unzip, nixosTests }: stdenvNoCC.mkDerivation rec { pname = "fluidd"; @@ -25,6 +25,8 @@ stdenvNoCC.mkDerivation rec { cp -r fluidd $out/share/fluidd/htdocs ''; + passthru.tests = { inherit (nixosTests) fluidd; }; + meta = with lib; { description = "Klipper web interface"; homepage = "https://docs.fluidd.xyz"; diff --git a/pkgs/applications/misc/jotta-cli/default.nix b/pkgs/applications/misc/jotta-cli/default.nix index b2239298d1a2..4130f7867a75 100644 --- a/pkgs/applications/misc/jotta-cli/default.nix +++ b/pkgs/applications/misc/jotta-cli/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip }: +{ lib, stdenv, fetchzip, nixosTests }: let arch = "amd64"; @@ -23,6 +23,8 @@ stdenv.mkDerivation rec { $out/bin/jotta-cli completion bash > $out/share/bash-completion/completions/jotta-cli.bash ''; + passthru.tests = { inherit (nixosTests) jotta-cli; }; + meta = with lib; { description = "Jottacloud CLI"; homepage = "https://www.jottacloud.com/"; diff --git a/pkgs/applications/misc/writefreely/default.nix b/pkgs/applications/misc/writefreely/default.nix index d505ae2e380a..0f8d3b6fac29 100644 --- a/pkgs/applications/misc/writefreely/default.nix +++ b/pkgs/applications/misc/writefreely/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: buildGoModule rec { pname = "writefreely"; @@ -23,6 +23,8 @@ buildGoModule rec { subPackages = [ "cmd/writefreely" ]; + passthru.tests = { inherit (nixosTests) writefreely; }; + meta = with lib; { description = "Build a digital writing community"; homepage = "https://github.com/writefreely/writefreely"; diff --git a/pkgs/applications/networking/ndppd/default.nix b/pkgs/applications/networking/ndppd/default.nix index e5ea298a8dc9..65b5ee1269ee 100644 --- a/pkgs/applications/networking/ndppd/default.nix +++ b/pkgs/applications/networking/ndppd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, gzip }: +{ lib, stdenv, fetchFromGitHub, gzip, nixosTests }: stdenv.mkDerivation rec { pname = "ndppd"; @@ -26,6 +26,8 @@ stdenv.mkDerivation rec { cp ndppd.conf-dist $out/etc/ndppd.conf ''; + passthru.tests = { inherit (nixosTests) ndppd; }; + meta = with lib; { description = "Daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces"; homepage = "https://github.com/DanielAdolfsson/ndppd"; diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/default.nix index 8c3d76d755f7..241f2a02e803 100644 --- a/pkgs/applications/networking/p2p/deluge/default.nix +++ b/pkgs/applications/networking/p2p/deluge/default.nix @@ -8,6 +8,7 @@ , gobject-introspection , librsvg , wrapGAppsHook3 +, nixosTests }: let @@ -87,6 +88,8 @@ let done ''; + passthru.tests = { inherit (nixosTests) deluge; }; + meta = with lib; { description = "Torrent client"; homepage = "https://deluge-torrent.org"; diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix index 6e2f10ee8e47..ff301d690941 100644 --- a/pkgs/applications/networking/remote/xrdp/default.nix +++ b/pkgs/applications/networking/remote/xrdp/default.nix @@ -21,6 +21,7 @@ , libjpeg_turbo , _experimental-update-script-combinators , gitUpdater +, nixosTests }: let @@ -159,6 +160,9 @@ let { command = ["rm" "update-git-commits.txt"]; } (gitUpdater { rev-prefix = "v"; attrPath = "xrdp.xorgxrdp"; }) ]); + tests = { + inherit (nixosTests) xrdp; + }; }; meta = with lib; { diff --git a/pkgs/applications/version-management/cgit/common.nix b/pkgs/applications/version-management/cgit/common.nix index b0ed32eb0222..d5dab65bd4a9 100644 --- a/pkgs/applications/version-management/cgit/common.nix +++ b/pkgs/applications/version-management/cgit/common.nix @@ -1,5 +1,6 @@ { pname, version, src, gitSrc, buildInputs ? [] , homepage, description, maintainers +, passthru ? {} }: { lib, stdenv, openssl, zlib, asciidoc, libxml2, libxslt @@ -10,7 +11,7 @@ }: stdenv.mkDerivation { - inherit pname version src gitSrc; + inherit pname version src gitSrc passthru; separateDebugInfo = true; diff --git a/pkgs/applications/version-management/cgit/default.nix b/pkgs/applications/version-management/cgit/default.nix index f6a0af102303..0fe86683d5fa 100644 --- a/pkgs/applications/version-management/cgit/default.nix +++ b/pkgs/applications/version-management/cgit/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, callPackage, luajit }: +{ lib, fetchurl, callPackage, luajit, nixosTests }: callPackage (import ./common.nix rec { pname = "cgit"; @@ -19,6 +19,8 @@ callPackage (import ./common.nix rec { buildInputs = [ luajit ]; + passthru.tests = { inherit (nixosTests) cgit; }; + homepage = "https://git.zx2c4.com/cgit/about/"; description = "Web frontend for git repositories"; maintainers = with lib.maintainers; [ bjornfor ]; diff --git a/pkgs/applications/version-management/legit-web/default.nix b/pkgs/applications/version-management/legit-web/default.nix index af340bd22eaf..ae76752f70c3 100644 --- a/pkgs/applications/version-management/legit-web/default.nix +++ b/pkgs/applications/version-management/legit-web/default.nix @@ -1,6 +1,7 @@ { lib , buildGoModule , fetchFromGitHub +, nixosTests }: buildGoModule rec { @@ -24,6 +25,8 @@ buildGoModule rec { cp -r $src/static/* $out/lib/legit/static ''; + passthru.tests = { inherit (nixosTests) legit; }; + meta = { description = "Web frontend for git"; homepage = "https://github.com/icyphox/legit"; diff --git a/pkgs/applications/video/ustreamer/default.nix b/pkgs/applications/video/ustreamer/default.nix index b612584d8b0f..512e6e8515c8 100644 --- a/pkgs/applications/video/ustreamer/default.nix +++ b/pkgs/applications/video/ustreamer/default.nix @@ -12,6 +12,7 @@ , speex , jansson , libopus +, nixosTests , withJanus ? true }: stdenv.mkDerivation rec { @@ -53,6 +54,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + passthru.tests = { inherit (nixosTests) ustreamer; }; + meta = with lib; { homepage = "https://github.com/pikvm/ustreamer"; description = "Lightweight and fast MJPG-HTTP streamer"; diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 6438eee19525..9b66a3279f8d 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -3,6 +3,7 @@ , yajl, xcb-util-cursor, perl, pango, perlPackages, libxkbcommon , xorgserver, xvfb-run, xdotool, xorg, which , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs +, nixosTests }: stdenv.mkDerivation rec { @@ -78,6 +79,9 @@ stdenv.mkDerivation rec { separateDebugInfo = true; + passthru.tests = { inherit (nixosTests) i3wm; }; + + meta = with lib; { description = "Tiling window manager"; homepage = "https://i3wm.org"; diff --git a/pkgs/applications/window-managers/tinywl/default.nix b/pkgs/applications/window-managers/tinywl/default.nix index d39373e78192..06d2d8d72f8a 100644 --- a/pkgs/applications/window-managers/tinywl/default.nix +++ b/pkgs/applications/window-managers/tinywl/default.nix @@ -1,5 +1,6 @@ { lib, stdenv, wlroots, pkg-config, wayland-scanner , libxkbcommon, pixman, udev, wayland, wayland-protocols +, nixosTests }: stdenv.mkDerivation { @@ -18,6 +19,8 @@ stdenv.mkDerivation { runHook postInstall ''; + passthru.tests = { inherit (nixosTests) tinywl; }; + meta = { homepage = "https://gitlab.freedesktop.org/wlroots/wlroots/tree/master/tinywl"; description = ''A "minimum viable product" Wayland compositor based on wlroots''; diff --git a/pkgs/applications/window-managers/yabar/build.nix b/pkgs/applications/window-managers/yabar/build.nix index edeeaf5fbf65..25ab000594aa 100644 --- a/pkgs/applications/window-managers/yabar/build.nix +++ b/pkgs/applications/window-managers/yabar/build.nix @@ -62,6 +62,8 @@ stdenv.mkDerivation { } ''; + #passthru.tests = { inherit (nixosTests) yabar; }; # nixos currently uses yabar-unstable + meta = with lib; { description = "Modern and lightweight status bar for X window managers"; homepage = "https://github.com/geommer/yabar"; diff --git a/pkgs/applications/window-managers/yabar/unstable.nix b/pkgs/applications/window-managers/yabar/unstable.nix index 47c8f6c5e568..cb43c4e0b95e 100644 --- a/pkgs/applications/window-managers/yabar/unstable.nix +++ b/pkgs/applications/window-managers/yabar/unstable.nix @@ -1,4 +1,4 @@ -{ fetchpatch, playerctl, libxkbcommon, callPackage, attrs ? {} }: +{ fetchpatch, playerctl, libxkbcommon, callPackage, nixosTests, attrs ? {} }: let pkg = callPackage ./build.nix ({ @@ -22,4 +22,11 @@ in pkg.overrideAttrs (o: { sha256 = "1q7nd66ai6nr2m6iqxn55gvbr4r5gjc00c8wyjc3riv31qcbqbhv"; }) ]; + + passthru = (o.passthru or {}) // { + tests = (o.passthru.tests or {}) // { + inherit (nixosTests) yabar; + }; + }; + }) diff --git a/pkgs/by-name/ar/artalk/package.nix b/pkgs/by-name/ar/artalk/package.nix index ff2e0be2abdc..a9918059d6ad 100644 --- a/pkgs/by-name/ar/artalk/package.nix +++ b/pkgs/by-name/ar/artalk/package.nix @@ -7,6 +7,7 @@ installShellFiles, stdenv, testers, + nixosTests, }: buildGoModule rec { pname = "artalk"; @@ -56,6 +57,7 @@ buildGoModule rec { passthru.tests = { version = testers.testVersion { package = artalk; }; + inherit (nixosTests) artalk; }; meta = { diff --git a/pkgs/by-name/ce/certmgr/package.nix b/pkgs/by-name/ce/certmgr/package.nix index e5579125a2ca..1063b4f61096 100644 --- a/pkgs/by-name/ce/certmgr/package.nix +++ b/pkgs/by-name/ce/certmgr/package.nix @@ -1,6 +1,7 @@ { lib , buildGoModule , fetchFromGitHub +, nixosTests }: buildGoModule rec { @@ -18,6 +19,9 @@ buildGoModule rec { ldflags = [ "-s" "-w" ]; + passthru.tests = { inherit (nixosTests) certmgr; }; + + meta = with lib; { homepage = "https://cfssl.org/"; description = "Cloudflare's automated certificate management using a CFSSL CA"; diff --git a/pkgs/by-name/da/davis/package.nix b/pkgs/by-name/da/davis/package.nix index 58b1bf099fe8..1fa809859387 100644 --- a/pkgs/by-name/da/davis/package.nix +++ b/pkgs/by-name/da/davis/package.nix @@ -2,6 +2,7 @@ lib, fetchFromGitHub, php, + nixosTests, }: php.buildComposerProject (finalAttrs: { @@ -25,6 +26,10 @@ php.buildComposerProject (finalAttrs: { rm -rf "$out/share" ''; + passthru.tests = { + inherit (nixosTests) davis; + }; + meta = { changelog = "https://github.com/tchapi/davis/releases/tag/v${finalAttrs.version}"; homepage = "https://github.com/tchapi/davis"; diff --git a/pkgs/by-name/fa/fail2ban/package.nix b/pkgs/by-name/fa/fail2ban/package.nix index 00ea39b40a2b..6425f814f2d5 100644 --- a/pkgs/by-name/fa/fail2ban/package.nix +++ b/pkgs/by-name/fa/fail2ban/package.nix @@ -4,6 +4,7 @@ , fetchpatch , python3 , installShellFiles +, nixosTests }: python3.pkgs.buildPythonApplication rec { @@ -87,6 +88,8 @@ python3.pkgs.buildPythonApplication rec { rm -r "${sitePackages}/usr" ''; + passthru.tests = { inherit (nixosTests) fail2ban; }; + meta = with lib; { homepage = "https://www.fail2ban.org/"; description = "Program that scans log files for repeated failing login attempts and bans IP addresses"; diff --git a/pkgs/by-name/ge/gerrit/package.nix b/pkgs/by-name/ge/gerrit/package.nix index 1a905bd1fc39..c837ce497980 100644 --- a/pkgs/by-name/ge/gerrit/package.nix +++ b/pkgs/by-name/ge/gerrit/package.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, nixosTests }: stdenv.mkDerivation rec { pname = "gerrit"; @@ -30,6 +30,9 @@ stdenv.mkDerivation rec { "singleusergroup" "webhooks" ]; + tests = { + inherit (nixosTests) gerrit; + }; }; meta = with lib; { diff --git a/pkgs/by-name/go/gotenberg/package.nix b/pkgs/by-name/go/gotenberg/package.nix index 40cb1e185bbd..92da454785b2 100644 --- a/pkgs/by-name/go/gotenberg/package.nix +++ b/pkgs/by-name/go/gotenberg/package.nix @@ -12,6 +12,7 @@ makeFontsConf, liberation_ttf_v2, exiftool, + nixosTests, nix-update-script, }: let @@ -81,6 +82,9 @@ buildGoModule rec { ''; passthru.updateScript = nix-update-script { }; + passthru.tests = { + inherit (nixosTests) gotenberg; + }; meta = { description = "Converts numerous document formats into PDF files"; diff --git a/pkgs/by-name/gu/guix/package.nix b/pkgs/by-name/gu/guix/package.nix index 8f9e4e4836b9..d3ea63a41311 100644 --- a/pkgs/by-name/gu/guix/package.nix +++ b/pkgs/by-name/gu/guix/package.nix @@ -29,6 +29,7 @@ , bzip2 , libgcrypt , sqlite +, nixosTests , stateDir ? "/var" , storeDir ? "/gnu/store" @@ -134,6 +135,10 @@ stdenv.mkDerivation rec { done ''; + passthru.tests = { + inherit (nixosTests) guix; + }; + meta = with lib; { description = "Functional package manager with a Scheme interface"; longDescription = '' diff --git a/pkgs/by-name/my/mycelium/package.nix b/pkgs/by-name/my/mycelium/package.nix index df96ad255fad..04a1714826bf 100644 --- a/pkgs/by-name/my/mycelium/package.nix +++ b/pkgs/by-name/my/mycelium/package.nix @@ -4,6 +4,7 @@ , stdenv , openssl , darwin +, nixosTests }: rustPlatform.buildRustPackage rec { @@ -37,6 +38,8 @@ rustPlatform.buildRustPackage rec { OPENSSL_DIR = "${lib.getDev openssl}"; }; + passthru.tests = { inherit (nixosTests) mycelium; }; + meta = with lib; { description = "End-2-end encrypted IPv6 overlay network"; homepage = "https://github.com/threefoldtech/mycelium"; diff --git a/pkgs/by-name/na/nar-serve/package.nix b/pkgs/by-name/na/nar-serve/package.nix index 5f1f55198fdf..8bd274af659f 100644 --- a/pkgs/by-name/na/nar-serve/package.nix +++ b/pkgs/by-name/na/nar-serve/package.nix @@ -1,6 +1,7 @@ { buildGoModule , fetchFromGitHub , lib +, nixosTests }: buildGoModule rec { pname = "nar-serve"; @@ -17,6 +18,8 @@ buildGoModule rec { doCheck = false; + passthru.tests = { inherit (nixosTests) nar-serve; }; + meta = with lib; { description = "Serve NAR file contents via HTTP"; mainProgram = "nar-serve"; diff --git a/pkgs/by-name/ne/nexus/package.nix b/pkgs/by-name/ne/nexus/package.nix index 00e4e7325e04..68822ba5dcb8 100644 --- a/pkgs/by-name/ne/nexus/package.nix +++ b/pkgs/by-name/ne/nexus/package.nix @@ -5,6 +5,7 @@ makeWrapper, jre_headless, gawk, + nixosTests, }: stdenv.mkDerivation rec { @@ -49,6 +50,10 @@ stdenv.mkDerivation rec { runHook postInstall ''; + passthru.tests = { + inherit (nixosTests) nexus; + }; + meta = { description = "Repository manager for binary software components"; homepage = "https://www.sonatype.com/products/sonatype-nexus-oss"; diff --git a/pkgs/by-name/no/noto-fonts/package.nix b/pkgs/by-name/no/noto-fonts/package.nix index f700f8ad121c..b47072549b24 100644 --- a/pkgs/by-name/no/noto-fonts/package.nix +++ b/pkgs/by-name/no/noto-fonts/package.nix @@ -2,6 +2,7 @@ , stdenvNoCC , fetchFromGitHub , gitUpdater +, nixosTests , variants ? [ ] , suffix ? "" , longDescription ? '' @@ -62,6 +63,8 @@ stdenvNoCC.mkDerivation rec { rev-prefix = "noto-monthly-release-"; }; + passthru.tests = { inherit (nixosTests) noto-fonts; }; + meta = { description = "Beautiful and free fonts for many languages"; homepage = "https://www.google.com/get/noto/"; diff --git a/pkgs/by-name/nz/nzbhydra2/package.nix b/pkgs/by-name/nz/nzbhydra2/package.nix index 3cbbb76811ac..2e6303c7a31b 100644 --- a/pkgs/by-name/nz/nzbhydra2/package.nix +++ b/pkgs/by-name/nz/nzbhydra2/package.nix @@ -6,6 +6,7 @@ openjdk17, python3, unzip, + nixosTests, }: stdenv.mkDerivation rec { pname = "nzbhydra2"; @@ -37,6 +38,10 @@ stdenv.mkDerivation rec { runHook postInstall ''; + passthru.tests = { + inherit (nixosTests) nzbhydra2; + }; + meta = { description = "Usenet meta search"; homepage = "https://github.com/theotherp/nzbhydra2"; diff --git a/pkgs/by-name/pr/private-gpt/package.nix b/pkgs/by-name/pr/private-gpt/package.nix index 1b717cc2bfb8..4912c42212c8 100644 --- a/pkgs/by-name/pr/private-gpt/package.nix +++ b/pkgs/by-name/pr/private-gpt/package.nix @@ -5,8 +5,10 @@ python3Packages.toPythonApplication (python3Packages.private-gpt.overrideAttrs (oldAttrs: { nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeBinaryWrapper ]; - passthru.cl100k_base = { - inherit (python3Packages.private-gpt.cl100k_base) tiktoken; + passthru = (oldAttrs.passthru or {}) // { + cl100k_base = { + inherit (python3Packages.private-gpt.cl100k_base) tiktoken; + }; }; postInstall = '' diff --git a/pkgs/by-name/rs/rspamd-trainer/package.nix b/pkgs/by-name/rs/rspamd-trainer/package.nix index 56e6f9e9ce8e..e00bddcbfbce 100644 --- a/pkgs/by-name/rs/rspamd-trainer/package.nix +++ b/pkgs/by-name/rs/rspamd-trainer/package.nix @@ -4,6 +4,7 @@ , fetchFromGitLab , fetchpatch , rspamd +, nixosTests }: python3Packages.buildPythonApplication { @@ -48,6 +49,8 @@ python3Packages.buildPythonApplication { imapclient ]; + passthru.tests = { inherit (nixosTests) rspamd-trainer; }; + meta = { homepage = "https://gitlab.com/onlime/rspamd-trainer"; description = "Grabs messages from a spam mailbox via IMAP and feeds them to Rspamd for training"; diff --git a/pkgs/by-name/wa/wastebin/package.nix b/pkgs/by-name/wa/wastebin/package.nix index 5fcbcfa64259..53f58c5caf39 100644 --- a/pkgs/by-name/wa/wastebin/package.nix +++ b/pkgs/by-name/wa/wastebin/package.nix @@ -6,6 +6,7 @@ , zstd , stdenv , darwin +, nixosTests }: rustPlatform.buildRustPackage rec { @@ -36,6 +37,10 @@ rustPlatform.buildRustPackage rec { ZSTD_SYS_USE_PKG_CONFIG = true; }; + passthru.tests = { + inherit (nixosTests) wastebin; + }; + meta = with lib; { description = "Wastebin is a pastebin"; homepage = "https://github.com/matze/wastebin"; diff --git a/pkgs/by-name/wa/watchdogd/package.nix b/pkgs/by-name/wa/watchdogd/package.nix index 34567dbe566d..4781257c88f9 100644 --- a/pkgs/by-name/wa/watchdogd/package.nix +++ b/pkgs/by-name/wa/watchdogd/package.nix @@ -6,6 +6,7 @@ , libite , libuev , libconfuse +, nixosTests }: stdenv.mkDerivation rec { pname = "watchdogd"; @@ -21,6 +22,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config autoreconfHook ]; buildInputs = [ libite libuev libconfuse ]; + passthru.tests = { inherit (nixosTests) watchdogd; }; + meta = with lib; { description = "Advanced system & process supervisor for Linux"; homepage = "https://troglobit.com/watchdogd.html"; diff --git a/pkgs/by-name/wo/workout-tracker/package.nix b/pkgs/by-name/wo/workout-tracker/package.nix index 349048008769..533f85a3f4a3 100644 --- a/pkgs/by-name/wo/workout-tracker/package.nix +++ b/pkgs/by-name/wo/workout-tracker/package.nix @@ -3,6 +3,7 @@ buildGoModule, fetchFromGitHub, nix-update-script, + nixosTests, ... }: @@ -21,6 +22,10 @@ buildGoModule rec { passthru.updateScript = nix-update-script { }; + passthru.tests = { + inherit (nixosTests) workout-tracker; + }; + meta = { changelog = "https://github.com/jovandeginste/workout-tracker/releases/tag/v${version}"; description = "Workout tracking web application for personal use"; diff --git a/pkgs/by-name/yo/your_spotify/package.nix b/pkgs/by-name/yo/your_spotify/package.nix index 738d1aefa248..77864788fa19 100644 --- a/pkgs/by-name/yo/your_spotify/package.nix +++ b/pkgs/by-name/yo/your_spotify/package.nix @@ -8,6 +8,7 @@ nodejs, makeWrapper, callPackage, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -63,6 +64,9 @@ stdenv.mkDerivation (finalAttrs: { client = callPackage ./client.nix { inherit (finalAttrs) src version offlineCache meta; }; + tests = { + inherit (nixosTests) your_spotify; + }; }; meta = { diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix index f54860ba19ad..770d389d77d1 100644 --- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix @@ -26,6 +26,7 @@ , writeTextFile , xkeyboard_config , xorg +, nixosTests , runCommand , buildEnv }: @@ -180,6 +181,8 @@ let cp -r "${gnome-flashback}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \ "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d" ''; + + tests = { inherit (nixosTests) gnome-flashback; }; }; meta = with lib; { diff --git a/pkgs/development/libraries/dconf/default.nix b/pkgs/development/libraries/dconf/default.nix index ab3804dfcf3b..0dddcb5d6482 100644 --- a/pkgs/development/libraries/dconf/default.nix +++ b/pkgs/development/libraries/dconf/default.nix @@ -14,6 +14,7 @@ , gtk-doc , docbook-xsl-nons , docbook_xml_dtd_42 +, nixosTests , withDocs ? true }: @@ -73,6 +74,7 @@ stdenv.mkDerivation rec { packageName = pname; versionPolicy = "odd-unstable"; }; + tests = { inherit (nixosTests) dconf; }; }; meta = with lib; { diff --git a/pkgs/development/mobile/webos/novacomd.nix b/pkgs/development/mobile/webos/novacomd.nix index 390b201d93c6..7095dbaf9dfa 100644 --- a/pkgs/development/mobile/webos/novacomd.nix +++ b/pkgs/development/mobile/webos/novacomd.nix @@ -1,6 +1,7 @@ { lib, stdenv, fetchFromGitHub, fetchpatch, webos, cmake, pkg-config, +nixosTests, libusb-compat-0_1 }: stdenv.mkDerivation rec { @@ -36,6 +37,8 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DWEBOS_TARGET_MACHINE_IMPL=host" ]; + passthru.tests = { inherit (nixosTests) novacomd; }; + meta = with lib; { description = "Daemon for communicating with WebOS devices"; mainProgram = "novacomd"; diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix index 3cfbf3c213f9..74440cc504de 100644 --- a/pkgs/development/python-modules/carbon/default.nix +++ b/pkgs/development/python-modules/carbon/default.nix @@ -7,6 +7,7 @@ txamqp, cachetools, urllib3, + nixosTests, }: buildPythonPackage rec { @@ -31,6 +32,10 @@ buildPythonPackage rec { urllib3 ]; + passthru.tests = { + inherit (nixosTests) graphite; + }; + meta = with lib; { homepage = "http://graphiteapp.org/"; description = "Backend data caching and persistence daemon for Graphite"; diff --git a/pkgs/development/python-modules/etebase/default.nix b/pkgs/development/python-modules/etebase/default.nix index ffdad6347628..18d5488bee36 100644 --- a/pkgs/development/python-modules/etebase/default.nix +++ b/pkgs/development/python-modules/etebase/default.nix @@ -13,6 +13,7 @@ Security, msgpack, fetchpatch, + nixosTests, }: buildPythonPackage rec { @@ -70,6 +71,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "etebase" ]; + passthru.tests = { + inherit (nixosTests) etebase-server; + }; + meta = with lib; { broken = stdenv.isDarwin; homepage = "https://www.etebase.com/"; diff --git a/pkgs/development/python-modules/graphite-web/default.nix b/pkgs/development/python-modules/graphite-web/default.nix index 2a861bd8d339..cda30828836d 100644 --- a/pkgs/development/python-modules/graphite-web/default.nix +++ b/pkgs/development/python-modules/graphite-web/default.nix @@ -17,6 +17,7 @@ txamqp, urllib3, whisper, + nixosTests, }: buildPythonPackage rec { @@ -94,6 +95,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "graphite" ]; + passthru.tests = { + inherit (nixosTests) graphite; + }; + meta = with lib; { description = "Enterprise scalable realtime graphing"; homepage = "http://graphiteapp.org/"; diff --git a/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix b/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix index f43cf4c4afee..55bc5da3fd35 100644 --- a/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix +++ b/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix @@ -11,6 +11,7 @@ autobahn, treq, mock, + nixosTests, pythonOlder, pythonAtLeast, pytestCheckHook, @@ -58,6 +59,10 @@ buildPythonPackage rec { "src/wormhole_mailbox_server/test/test_web.py" ]; + passthru.tests = { + inherit (nixosTests) magic-wormhole-mailbox-server; + }; + meta = { description = "Securely transfer data between computers"; homepage = "https://github.com/magic-wormhole/magic-wormhole-mailbox-server"; diff --git a/pkgs/development/python-modules/private-gpt/default.nix b/pkgs/development/python-modules/private-gpt/default.nix index 8c4c1545c350..2824587d7c25 100644 --- a/pkgs/development/python-modules/private-gpt/default.nix +++ b/pkgs/development/python-modules/private-gpt/default.nix @@ -17,6 +17,7 @@ gradio, fetchurl, fetchpatch, + nixosTests, }: buildPythonPackage rec { @@ -87,6 +88,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "private_gpt" ]; + passthru.tests = { + inherit (nixosTests) private-gpt; + }; + meta = { changelog = "https://github.com/zylon-ai/private-gpt/blob/${src.rev}/CHANGELOG.md"; description = "Interact with your documents using the power of GPT, 100% privately, no data leaks"; diff --git a/pkgs/development/tools/coder/default.nix b/pkgs/development/tools/coder/default.nix index 0c040a7cdd90..c191b2e3f439 100644 --- a/pkgs/development/tools/coder/default.nix +++ b/pkgs/development/tools/coder/default.nix @@ -6,6 +6,7 @@ , terraform , stdenvNoCC , unzip +, nixosTests }: let @@ -100,5 +101,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { passthru = { updateScript = ./update.sh; + tests = { + inherit (nixosTests) coder; + }; }; }) diff --git a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix index 314dd38c0795..adb2839de1d8 100644 --- a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix +++ b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, unzip }: +{ lib, stdenv, fetchurl, unzip, nixosTests }: stdenv.mkDerivation rec { pname = "gocd-agent"; @@ -9,6 +9,9 @@ stdenv.mkDerivation rec { url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-agent-${version}-${rev}.zip"; sha256 = "sha256-L2MOkbVHoQu99lKrbnsNkhuU0SZ8VANSK72GZrGLbiQ="; }; + + passthru.tests = { inherit (nixosTests) gocd-agent; }; + meta = with lib; { description = "Continuous delivery server specializing in advanced workflow modeling and visualization"; homepage = "http://www.go.cd"; diff --git a/pkgs/development/tools/database/litestream/default.nix b/pkgs/development/tools/database/litestream/default.nix index fa47959a333c..15c287114750 100644 --- a/pkgs/development/tools/database/litestream/default.nix +++ b/pkgs/development/tools/database/litestream/default.nix @@ -1,6 +1,7 @@ { buildGoModule , fetchFromGitHub , lib +, nixosTests }: buildGoModule rec { pname = "litestream"; @@ -21,6 +22,8 @@ buildGoModule rec { vendorHash = "sha256-sYIY3Z3VrCqbjEbQtEY7q6Jljg8jMoa2qWEB/IkDjzM="; + passthru.tests = { inherit (nixosTests) litestream; }; + meta = with lib; { description = "Streaming replication for SQLite"; mainProgram = "litestream"; diff --git a/pkgs/development/tools/leaps/default.nix b/pkgs/development/tools/leaps/default.nix index 27a6cb95220c..c9eac1db13a8 100644 --- a/pkgs/development/tools/leaps/default.nix +++ b/pkgs/development/tools/leaps/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, leaps }: +{ lib, buildGoModule, fetchFromGitHub, testers, leaps, nixosTests }: buildGoModule rec { pname = "leaps"; @@ -16,7 +16,10 @@ buildGoModule rec { ldflags = [ "-s" "-w" "-X main.version=${version}" ]; - passthru.tests.version = testers.testVersion { package = leaps; }; + passthru.tests = { + version = testers.testVersion { package = leaps; }; + inherit (nixosTests) leaps; + }; meta = with lib; { description = "Pair programming tool and library written in Golang"; diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix index 25bdd45e03b8..a2895a095422 100644 --- a/pkgs/development/tools/profiling/systemtap/default.nix +++ b/pkgs/development/tools/profiling/systemtap/default.nix @@ -1,5 +1,6 @@ { lib, fetchgit, pkg-config, gettext, runCommand, makeWrapper , cpio, elfutils, kernel, gnumake, python3 +, nixosTests }: let @@ -35,6 +36,7 @@ let in runCommand "systemtap-${kernel.version}-${version}" { inherit stapBuild; nativeBuildInputs = [ makeWrapper ]; + passthru.tests = { inherit (nixosTests.systemtap) linux_default linux_latest; }; meta = { homepage = "https://sourceware.org/systemtap/"; description = "Provides a scripting language for instrumentation on a live kernel plus user-space"; diff --git a/pkgs/development/web/mailcatcher/default.nix b/pkgs/development/web/mailcatcher/default.nix index 17d25378d8cd..a6188fec5dbd 100644 --- a/pkgs/development/web/mailcatcher/default.nix +++ b/pkgs/development/web/mailcatcher/default.nix @@ -1,4 +1,4 @@ -{ ruby_3_2, lib, bundlerApp, bundlerUpdateScript }: +{ ruby_3_2, lib, bundlerApp, bundlerUpdateScript, nixosTests }: bundlerApp { pname = "mailcatcher"; @@ -7,6 +7,7 @@ bundlerApp { ruby = ruby_3_2; passthru.updateScript = bundlerUpdateScript "mailcatcher"; + passthru.tests = { inherit (nixosTests) mailcatcher; }; meta = with lib; { description = "SMTP server and web interface to locally test outbound emails"; diff --git a/pkgs/games/openarena/default.nix b/pkgs/games/openarena/default.nix index 25b4954cb426..211dbcd25106 100644 --- a/pkgs/games/openarena/default.nix +++ b/pkgs/games/openarena/default.nix @@ -18,6 +18,7 @@ , SDL2 , speex , makeDesktopItem +, nixosTests }: let @@ -102,6 +103,8 @@ stdenv.mkDerivation (finalAttrs: { }) ]; + passthru.tests = { inherit (nixosTests) openarena; }; + meta = { description = "Fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena"; homepage = "http://openarena.ws/"; diff --git a/pkgs/misc/screensavers/xautolock/default.nix b/pkgs/misc/screensavers/xautolock/default.nix index c7934125a7ae..e0fd83897e80 100644 --- a/pkgs/misc/screensavers/xautolock/default.nix +++ b/pkgs/misc/screensavers/xautolock/default.nix @@ -1,5 +1,6 @@ { lib, stdenv, fetchFromGitHub , imake, gccmakedep, libX11, libXext, libXScrnSaver, xorgproto +, nixosTests }: stdenv.mkDerivation (finalAttrs: { @@ -25,6 +26,8 @@ stdenv.mkDerivation (finalAttrs: { installTargets = [ "install" "install.man" ]; + passthru.tests = { inherit (nixosTests) xautolock; }; + meta = with lib; { description = "Launch a given program when your X session has been idle for a given time"; homepage = "http://www.ibiblio.org/pub/linux/X11/screensavers"; diff --git a/pkgs/misc/screensavers/xss-lock/default.nix b/pkgs/misc/screensavers/xss-lock/default.nix index 88b4b6b795f3..dfadfedaee9a 100644 --- a/pkgs/misc/screensavers/xss-lock/default.nix +++ b/pkgs/misc/screensavers/xss-lock/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, cmake, docutils, pkg-config, glib, libpthreadstubs -, libXau, libXdmcp, xcbutil }: +, libXau, libXdmcp, xcbutil, nixosTests }: stdenv.mkDerivation { pname = "xss-lock"; @@ -15,6 +15,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake pkg-config docutils ]; buildInputs = [ glib libpthreadstubs libXau libXdmcp xcbutil ]; + passthru.tests = { inherit (nixosTests) xss-lock; }; + meta = with lib; { description = "Use external locker (such as i3lock) as X screen saver"; license = licenses.mit; diff --git a/pkgs/os-specific/linux/atop/default.nix b/pkgs/os-specific/linux/atop/default.nix index 7e191f01fb9b..33a00242989f 100644 --- a/pkgs/os-specific/linux/atop/default.nix +++ b/pkgs/os-specific/linux/atop/default.nix @@ -8,6 +8,7 @@ , findutils , systemd , python3 +, nixosTests # makes the package unfree via pynvml , withAtopgpu ? false }: @@ -79,6 +80,8 @@ stdenv.mkDerivation rec { rm $out/lib/systemd/system/atopgpu.service $out/bin/atopgpud $out/share/man/man8/atopgpud.8 ''); + passthru.tests = { inherit (nixosTests) atop; }; + meta = with lib; { platforms = platforms.linux; maintainers = with maintainers; [ raskin ]; diff --git a/pkgs/os-specific/linux/fanout/default.nix b/pkgs/os-specific/linux/fanout/default.nix index 3352f59a05f7..fc6bac80d6cd 100644 --- a/pkgs/os-specific/linux/fanout/default.nix +++ b/pkgs/os-specific/linux/fanout/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, kernel, kmod }: +{ lib, stdenv, fetchFromGitHub, kernel, kmod, nixosTests }: stdenv.mkDerivation rec { pname = "fanout"; @@ -27,6 +27,8 @@ stdenv.mkDerivation rec { "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; + passthru.tests = { inherit (nixosTests) fanout; }; + meta = with lib; { description = "Kernel-based publish-subscribe system"; homepage = "https://github.com/bob-linuxtoys/fanout"; diff --git a/pkgs/os-specific/linux/trezor-udev-rules/default.nix b/pkgs/os-specific/linux/trezor-udev-rules/default.nix index e5d20171c5cb..c631b5712733 100644 --- a/pkgs/os-specific/linux/trezor-udev-rules/default.nix +++ b/pkgs/os-specific/linux/trezor-udev-rules/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, nixosTests }: stdenv.mkDerivation rec { pname = "trezor-udev-rules"; @@ -23,6 +23,8 @@ stdenv.mkDerivation rec { cp 51-trezor.rules $out/lib/udev/rules.d/51-trezor.rules ''; + passthru.tests = { inherit (nixosTests) trezord; }; + meta = with lib; { description = "Udev rules for Trezor"; license = licenses.gpl3; diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix index fd7cd084a60b..815905f76edb 100644 --- a/pkgs/servers/apache-kafka/default.nix +++ b/pkgs/servers/apache-kafka/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, jdk17_headless, jdk11_headless, makeWrapper, bash, coreutils, gnugrep, gnused, ps }: +{ lib, stdenv, fetchurl, jdk17_headless, jdk11_headless, makeWrapper, bash, coreutils, gnugrep, gnused, ps, nixosTests }: let versionMap = { @@ -7,12 +7,14 @@ let scalaVersion = "2.13"; sha256 = "sha256-YqyuShQ92YPcfrSATVdEugxQsZm1CPWZ7wAQIOJVj8k="; jre = jdk17_headless; + nixosTest = nixosTests.kafka.kafka_3_7; }; "3_6" = { kafkaVersion = "3.6.2"; scalaVersion = "2.13"; sha256 = "sha256-wxfkf3cUHTFG6VY9nLodZIbIHmcLIR7OasRqn3Lkqqw="; jre = jdk17_headless; + nixosTest = nixosTests.kafka.kafka_3_6; }; }; @@ -54,6 +56,7 @@ let passthru = { inherit jre; # Used by the NixOS module to select the supported jre + tests.nixos = versionInfo.nixosTest; }; meta = with lib; { diff --git a/pkgs/servers/birdwatcher/default.nix b/pkgs/servers/birdwatcher/default.nix index 744be3822484..cca210e4a1bc 100644 --- a/pkgs/servers/birdwatcher/default.nix +++ b/pkgs/servers/birdwatcher/default.nix @@ -1,6 +1,7 @@ { lib , fetchFromGitHub , buildGoModule +, nixosTests }: buildGoModule rec { @@ -18,6 +19,10 @@ buildGoModule rec { deleteVendor = true; + passthru.tests = { + inherit (nixosTests) birdwatcher; + }; + meta = with lib; { homepage = "https://github.com/alice-lg/birdwatcher"; description = "Small HTTP server meant to provide an API defined by Barry O'Donovan's birds-eye to the BIRD internet routing daemon"; diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix index 25f1a419e0e3..8a16f3afe345 100644 --- a/pkgs/servers/icingaweb2/default.nix +++ b/pkgs/servers/icingaweb2/default.nix @@ -1,4 +1,4 @@ -{ stdenvNoCC, lib, fetchFromGitHub, makeWrapper, php }: +{ stdenvNoCC, lib, fetchFromGitHub, makeWrapper, php, nixosTests }: stdenvNoCC.mkDerivation rec { pname = "icingaweb2"; @@ -21,6 +21,8 @@ stdenvNoCC.mkDerivation rec { wrapProgram $out/bin/icingacli --prefix PATH : "${lib.makeBinPath [ php ]}" ''; + passthru.tests = { inherit (nixosTests) icingaweb2; }; + meta = with lib; { description = "Webinterface for Icinga 2"; longDescription = '' diff --git a/pkgs/servers/icingaweb2/ipl.nix b/pkgs/servers/icingaweb2/ipl.nix index 52ce346fd652..254729a31762 100644 --- a/pkgs/servers/icingaweb2/ipl.nix +++ b/pkgs/servers/icingaweb2/ipl.nix @@ -1,4 +1,4 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ stdenvNoCC, lib, fetchFromGitHub, nixosTests }: stdenvNoCC.mkDerivation rec { pname = "icingaweb2-ipl"; @@ -16,6 +16,8 @@ stdenvNoCC.mkDerivation rec { cp -r * "$out" ''; + passthru.tests = { inherit (nixosTests) icingaweb2; }; + meta = { description = "PHP library package for Icingaweb 2"; homepage = "https://github.com/Icinga/icinga-php-library"; diff --git a/pkgs/servers/icingaweb2/thirdparty.nix b/pkgs/servers/icingaweb2/thirdparty.nix index 552842967fde..6a2a8bebd494 100644 --- a/pkgs/servers/icingaweb2/thirdparty.nix +++ b/pkgs/servers/icingaweb2/thirdparty.nix @@ -1,4 +1,4 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ stdenvNoCC, lib, fetchFromGitHub, nixosTests }: stdenvNoCC.mkDerivation rec { pname = "icingaweb2-thirdparty"; @@ -16,6 +16,8 @@ stdenvNoCC.mkDerivation rec { cp -r * "$out" ''; + passthru.tests = { inherit (nixosTests) icingaweb2; }; + meta = { description = "Third party dependencies for Icingaweb 2"; homepage = "https://github.com/Icinga/icinga-php-thirdparty"; diff --git a/pkgs/servers/irc/solanum/default.nix b/pkgs/servers/irc/solanum/default.nix index cb4f009e5c7f..e70d6cc0a8e6 100644 --- a/pkgs/servers/irc/solanum/default.nix +++ b/pkgs/servers/irc/solanum/default.nix @@ -8,6 +8,7 @@ , pkg-config , sqlite , util-linux +, nixosTests }: stdenv.mkDerivation rec { @@ -63,6 +64,8 @@ stdenv.mkDerivation rec { # make[4]: *** [Makefile:634: solanum] Error 1 enableParallelInstalling = false; + passthru.tests = { inherit (nixosTests) solanum; }; + meta = with lib; { description = "IRCd for unified networks"; homepage = "https://github.com/solanum-ircd/solanum"; diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix index 06c1df68e3e2..64ce9873f45f 100644 --- a/pkgs/servers/jackett/default.nix +++ b/pkgs/servers/jackett/default.nix @@ -5,6 +5,7 @@ , dotnetCorePackages , openssl , mono +, nixosTests }: buildDotnetModule rec { @@ -38,6 +39,8 @@ buildDotnetModule rec { ''; passthru.updateScript = ./updater.sh; + passthru.tests = { inherit (nixosTests) jackett; }; + meta = with lib; { description = "API Support for your favorite torrent trackers"; homepage = "https://github.com/Jackett/Jackett/"; diff --git a/pkgs/servers/jibri/default.nix b/pkgs/servers/jibri/default.nix index 9f12ef008251..95d104123ea2 100644 --- a/pkgs/servers/jibri/default.nix +++ b/pkgs/servers/jibri/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, dpkg, jdk11_headless, makeWrapper, writeText, xorg }: +{ lib, stdenv, fetchurl, dpkg, jdk11_headless, makeWrapper, writeText, xorg, nixosTests }: let xorgModulePaths = writeText "module-paths" '' @@ -38,6 +38,8 @@ stdenv.mkDerivation rec { passthru.updateScript = ./update.sh; + passthru.tests = { inherit (nixosTests) jibri; }; + meta = with lib; { description = "JItsi BRoadcasting Infrastructure"; mainProgram = "jibri"; diff --git a/pkgs/servers/mail/mailhog/default.nix b/pkgs/servers/mail/mailhog/default.nix index a4fe8fb5ea19..02912fbb8a7d 100644 --- a/pkgs/servers/mail/mailhog/default.nix +++ b/pkgs/servers/mail/mailhog/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: buildGoModule rec { pname = "MailHog"; @@ -19,6 +19,8 @@ buildGoModule rec { ldflags = [ "-s" "-X main.version=${version}" ]; + passthru.tests = { inherit (nixosTests) mailhog; }; + meta = with lib; { description = "Web and API based SMTP testing"; mainProgram = "MailHog"; diff --git a/pkgs/servers/misc/gobgpd/default.nix b/pkgs/servers/misc/gobgpd/default.nix index b4e1f0cb2ccd..4f653a50a972 100644 --- a/pkgs/servers/misc/gobgpd/default.nix +++ b/pkgs/servers/misc/gobgpd/default.nix @@ -1,6 +1,7 @@ { lib , buildGoModule , fetchFromGitHub +, nixosTests }: buildGoModule rec { @@ -30,6 +31,8 @@ buildGoModule rec { "cmd/gobgpd" ]; + passthru.tests = { inherit (nixosTests) gobgpd; }; + meta = with lib; { description = "BGP implemented in Go"; mainProgram = "gobgpd"; diff --git a/pkgs/servers/misc/taskserver/default.nix b/pkgs/servers/misc/taskserver/default.nix index bbd2a4a70da4..a0d13164901a 100644 --- a/pkgs/servers/misc/taskserver/default.nix +++ b/pkgs/servers/misc/taskserver/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, cmake, libuuid, gnutls, makeWrapper }: +{ lib, stdenv, fetchurl, cmake, libuuid, gnutls, makeWrapper, nixosTests }: stdenv.mkDerivation rec { pname = "taskserver"; @@ -31,6 +31,8 @@ stdenv.mkDerivation rec { buildInputs = [ libuuid gnutls ]; nativeBuildInputs = [ cmake makeWrapper ]; + passthru.tests = { inherit (nixosTests) taskserver; }; + meta = { description = "Server for synchronising Taskwarrior clients"; homepage = "https://taskwarrior.org"; diff --git a/pkgs/servers/monitoring/cadvisor/default.nix b/pkgs/servers/monitoring/cadvisor/default.nix index dc0d890a429f..a297c85bed3c 100644 --- a/pkgs/servers/monitoring/cadvisor/default.nix +++ b/pkgs/servers/monitoring/cadvisor/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: buildGoModule rec { pname = "cadvisor"; @@ -22,6 +22,8 @@ buildGoModule rec { rm $out/bin/example ''; + passthru.tests = { inherit (nixosTests) cadvisor; }; + meta = with lib; { description = "Analyzes resource usage and performance characteristics of running docker containers"; mainProgram = "cadvisor"; diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index c1446b90c870..785c0fecf43f 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -1,5 +1,6 @@ { lib, stdenv, fetchFromGitHub, makeWrapper, which, coreutils, rrdtool, perlPackages , python3, ruby, jre8, nettools, bc +, nixosTests }: stdenv.mkDerivation rec { @@ -133,6 +134,8 @@ stdenv.mkDerivation rec { done ''; + passthru.tests = { inherit (nixosTests) munin; }; + meta = with lib; { description = "Networked resource monitoring tool"; longDescription = '' diff --git a/pkgs/servers/nosql/mongodb/5.0.nix b/pkgs/servers/nosql/mongodb/5.0.nix index d74bf1e2f3d4..0cb71b57aae1 100644 --- a/pkgs/servers/nosql/mongodb/5.0.nix +++ b/pkgs/servers/nosql/mongodb/5.0.nix @@ -1,6 +1,7 @@ { stdenv, callPackage, lib, sasl, boost , Security, CoreFoundation, cctools , avxSupport ? stdenv.hostPlatform.avxSupport +, nixosTests }: let @@ -29,4 +30,5 @@ buildMongoDB { ./asio-no-experimental-string-view-4-4.patch ./fix-gcc-Wno-exceptions-5.0.patch ] ++ variants.patches; + passthru.tests = { inherit (nixosTests) mongodb; }; } diff --git a/pkgs/servers/nosql/mongodb/6.0.nix b/pkgs/servers/nosql/mongodb/6.0.nix index 4e1df2d7a297..839dc5cde024 100644 --- a/pkgs/servers/nosql/mongodb/6.0.nix +++ b/pkgs/servers/nosql/mongodb/6.0.nix @@ -22,4 +22,5 @@ buildMongoDB { sha256 = "sha256-gWlE2b/NyGe2243iNCXzjcERIY8/4ZWI4Gjh5SF0tYA="; }) ]; + # passthru.tests = { inherit (nixosTests) mongodb; }; # currently tests mongodb-5_0 } diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index d1cc3030afd2..47d788b753e3 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -28,6 +28,7 @@ { version, sha256, patches ? [] , license ? lib.licenses.sspl , avxSupport ? stdenv.hostPlatform.avxSupport +, passthru ? {} }: let @@ -59,7 +60,7 @@ let inherit (lib) systems subtractLists; in stdenv.mkDerivation rec { - inherit version; + inherit version passthru; pname = "mongodb"; src = fetchFromGitHub { diff --git a/pkgs/servers/photoprism/default.nix b/pkgs/servers/photoprism/default.nix index d7e092943af7..0c39ad8b6b81 100644 --- a/pkgs/servers/photoprism/default.nix +++ b/pkgs/servers/photoprism/default.nix @@ -1,4 +1,5 @@ { pkgs, lib, stdenv, fetchFromGitHub, fetchzip, darktable, rawtherapee, ffmpeg_7, libheif, exiftool, imagemagick, makeWrapper, testers +, nixosTests , librsvg }: let @@ -78,6 +79,7 @@ stdenv.mkDerivation { ''; passthru.tests.version = testers.testVersion { package = pkgs.photoprism; }; + passthru.tests.photoprism = nixosTests.photoprism; meta = with lib; { homepage = "https://photoprism.app"; diff --git a/pkgs/servers/plik/default.nix b/pkgs/servers/plik/default.nix index bcd5ca8c87c8..29ba48487a37 100644 --- a/pkgs/servers/plik/default.nix +++ b/pkgs/servers/plik/default.nix @@ -15,7 +15,10 @@ in inherit (programs) plik plikd-unwrapped; - plikd = runCommand "plikd-${version}" { nativeBuildInputs = [ makeWrapper ]; } '' + plikd = runCommand "plikd-${version}" { + nativeBuildInputs = [ makeWrapper ]; + inherit (programs.plikd-unwrapped) passthru; + } '' mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin tar xf ${webapp} plik-${version}-linux-amd64/webapp/dist/ mv plik-*/webapp/dist $out/libexec/plikd/webapp diff --git a/pkgs/servers/plik/programs.nix b/pkgs/servers/plik/programs.nix index b76d46925557..2b8b5176fb9a 100644 --- a/pkgs/servers/plik/programs.nix +++ b/pkgs/servers/plik/programs.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, runCommand }: +{ lib, buildGoModule, fetchFromGitHub, makeWrapper, runCommand, nixosTests }: let version = "1.3.8"; @@ -25,12 +25,16 @@ let --replace '"0.0.0"' '"${version}"' ''; + passthru.tests = { + inherit (nixosTests) plikd; + }; + in { plik = buildGoModule { pname = "plik"; - inherit version meta src vendorHash postPatch; + inherit version meta src vendorHash postPatch passthru; subPackages = [ "client" ]; postInstall = '' @@ -40,7 +44,7 @@ in plikd-unwrapped = buildGoModule { pname = "plikd-unwrapped"; - inherit version src vendorHash postPatch; + inherit version src vendorHash postPatch passthru; subPackages = [ "server" ]; postFixup = '' diff --git a/pkgs/servers/portunus/default.nix b/pkgs/servers/portunus/default.nix index 971a6a0967f5..1cbc81afdd97 100644 --- a/pkgs/servers/portunus/default.nix +++ b/pkgs/servers/portunus/default.nix @@ -2,6 +2,7 @@ , buildGoModule , fetchFromGitHub , libxcrypt +, nixosTests }: buildGoModule rec { @@ -19,6 +20,8 @@ buildGoModule rec { vendorHash = null; + passthru.tests = { inherit (nixosTests) portunus; }; + meta = with lib; { description = "Self-contained user/group management and authentication service"; homepage = "https://github.com/majewsky/portunus"; diff --git a/pkgs/servers/postfixadmin/default.nix b/pkgs/servers/postfixadmin/default.nix index be879fa03062..26628e13ea08 100644 --- a/pkgs/servers/postfixadmin/default.nix +++ b/pkgs/servers/postfixadmin/default.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, stdenv, lib }: +{ fetchFromGitHub, stdenv, lib, nixosTests }: stdenv.mkDerivation rec { pname = "postfixadmin"; @@ -18,6 +18,8 @@ stdenv.mkDerivation rec { ln -sf /var/cache/postfixadmin/templates_c $out/ ''; + passthru.tests = { inherit (nixosTests) postfixadmin; }; + meta = { description = "Web based virtual user administration interface for Postfix mail servers"; homepage = "https://postfixadmin.sourceforge.io/"; diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 331d1d3c71ac..0186de73fddf 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -7,6 +7,7 @@ , gst_all_1 , check, libintl, meson, ninja, m4, wrapGAppsHook3 , fetchpatch2 +, nixosTests , x11Support ? false @@ -182,6 +183,8 @@ stdenv.mkDerivation rec { done ''; + passthru.tests = { inherit (nixosTests) pulseaudio; }; + meta = { description = "Sound server for POSIX and Win32 systems"; homepage = "http://www.pulseaudio.org/"; diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix index 6ec9c8c378f2..646379e3e641 100644 --- a/pkgs/servers/roundcube/default.nix +++ b/pkgs/servers/roundcube/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, buildEnv, roundcube, roundcubePlugins }: +{ fetchurl, lib, stdenv, buildEnv, roundcube, roundcubePlugins, nixosTests }: stdenv.mkDerivation rec { pname = "roundcube"; @@ -27,6 +27,8 @@ stdenv.mkDerivation rec { paths = (f roundcubePlugins) ++ [ roundcube ]; }; + passthru.tests = { inherit (nixosTests) roundcube; }; + meta = { description = "Open Source Webmail Software"; maintainers = with lib.maintainers; [ vskilet globin ma27 ]; diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix index 6ccddc5faea1..9e9b2b7f95c1 100644 --- a/pkgs/servers/sql/monetdb/default.nix +++ b/pkgs/servers/sql/monetdb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, cmake, python3, bison, openssl, readline, bzip2 }: +{ lib, stdenv, fetchurl, cmake, python3, bison, openssl, readline, bzip2, nixosTests }: stdenv.mkDerivation (finalAttrs: { pname = "monetdb"; @@ -30,6 +30,8 @@ stdenv.mkDerivation (finalAttrs: { $out/bin/Mconvert.py ''; + passthru.tests = { inherit (nixosTests) monetdb; }; + meta = with lib; { description = "Open source database system"; homepage = "https://www.monetdb.org/"; diff --git a/pkgs/servers/sql/postgresql/ext/pgjwt.nix b/pkgs/servers/sql/postgresql/ext/pgjwt.nix index 7134c052363d..be088b81f861 100644 --- a/pkgs/servers/sql/postgresql/ext/pgjwt.nix +++ b/pkgs/servers/sql/postgresql/ext/pgjwt.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, unstableGitUpdater }: +{ lib, stdenv, fetchFromGitHub, postgresql, unstableGitUpdater, nixosTests }: stdenv.mkDerivation { pname = "pgjwt"; @@ -19,6 +19,8 @@ stdenv.mkDerivation { passthru.updateScript = unstableGitUpdater { }; + passthru.tests = { inherit (nixosTests) pgjwt; }; + meta = with lib; { description = "PostgreSQL implementation of JSON Web Tokens"; longDescription = '' diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index cf75d52e7ac7..0e5651085ea1 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, postgresql, openssl, libkrb5, enableUnfree ? true }: +{ lib, stdenv, fetchFromGitHub, cmake, postgresql, openssl, libkrb5, nixosTests, enableUnfree ? true }: stdenv.mkDerivation rec { pname = "timescaledb${lib.optionalString (!enableUnfree) "-apache"}"; @@ -32,6 +32,8 @@ stdenv.mkDerivation rec { done ''; + passthru.tests = { inherit (nixosTests) timescaledb; }; + meta = with lib; { description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space"; homepage = "https://www.timescale.com/"; diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix index 4055c505daac..247ac6832db3 100644 --- a/pkgs/servers/trezord/default.nix +++ b/pkgs/servers/trezord/default.nix @@ -4,6 +4,7 @@ , fetchFromGitHub , fetchpatch , trezor-udev-rules +, nixosTests , AppKit }: @@ -37,6 +38,8 @@ buildGoModule rec { "-X main.githash=${commit}" ]; + passthru.tests = { inherit (nixosTests) trezord; }; + meta = with lib; { description = "Trezor Communication Daemon aka Trezor Bridge"; homepage = "https://trezor.io"; diff --git a/pkgs/servers/trickster/trickster.nix b/pkgs/servers/trickster/trickster.nix index 221599065453..d11144a8359a 100644 --- a/pkgs/servers/trickster/trickster.nix +++ b/pkgs/servers/trickster/trickster.nix @@ -2,6 +2,7 @@ , buildGoModule , fetchFromGitHub , go +, nixosTests }: buildGoModule rec { @@ -32,6 +33,8 @@ buildGoModule rec { # Tests are broken. doCheck = false; + passthru.tests = { inherit (nixosTests) trickster; }; + meta = with lib; { description = "Reverse proxy cache and time series dashboard accelerator"; mainProgram = "trickster"; diff --git a/pkgs/servers/ucarp/default.nix b/pkgs/servers/ucarp/default.nix index 90cbc562d382..fc9cdf947515 100644 --- a/pkgs/servers/ucarp/default.nix +++ b/pkgs/servers/ucarp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, libpcap }: +{ stdenv, lib, fetchurl, libpcap, nixosTests }: stdenv.mkDerivation rec { pname = "ucarp"; @@ -17,6 +17,8 @@ stdenv.mkDerivation rec { # `__packed'; ucarp.o:/build/ucarp-1.5.2/src/ip_carp.h:73: first defined here env.NIX_CFLAGS_COMPILE = "-fcommon"; + passthru.tests = { inherit (nixosTests) ucarp; }; + meta = with lib; { description = "Userspace implementation of CARP"; longDescription = '' diff --git a/pkgs/servers/web-apps/jirafeau/default.nix b/pkgs/servers/web-apps/jirafeau/default.nix index bf67125e1dab..96496ee83a64 100644 --- a/pkgs/servers/web-apps/jirafeau/default.nix +++ b/pkgs/servers/web-apps/jirafeau/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitLab, writeText }: +{ lib, stdenv, fetchFromGitLab, writeText, nixosTests }: let localConfig = writeText "config.local.php" ''