diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin.nix
index 1f222477ab2..162a5ddee1a 100644
--- a/pkgs/applications/blockchains/bitcoin.nix
+++ b/pkgs/applications/blockchains/bitcoin.nix
@@ -16,6 +16,7 @@
, python3
, qrencode
, libevent
+, nixosTests
, withGui
, withWallet ? true
}:
@@ -81,6 +82,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
+ passthru.tests = {
+ smoke-test = nixosTests.bitcoind;
+ };
+
meta = {
description = "Peer-to-peer electronic cash system";
longDescription = ''
diff --git a/pkgs/applications/networking/3proxy/default.nix b/pkgs/applications/networking/3proxy/default.nix
index 6636691468e..f9221d06d02 100644
--- a/pkgs/applications/networking/3proxy/default.nix
+++ b/pkgs/applications/networking/3proxy/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, coreutils }:
+{ lib, stdenv, fetchFromGitHub, coreutils, nixosTests }:
stdenv.mkDerivation rec {
pname = "3proxy";
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
"DESTDIR=${placeholder "out"}"
];
+ passthru.tests = {
+ smoke-test = nixosTests._3proxy;
+ };
+
meta = with lib; {
description = "Tiny free proxy server";
homepage = "https://github.com/z3APA3A/3proxy";
diff --git a/pkgs/applications/networking/p2p/opentracker/default.nix b/pkgs/applications/networking/p2p/opentracker/default.nix
index 4e127a1e7b8..f08e5c42e1d 100644
--- a/pkgs/applications/networking/p2p/opentracker/default.nix
+++ b/pkgs/applications/networking/p2p/opentracker/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, libowfat, zlib }:
+{ lib, stdenv, fetchgit, libowfat, zlib, nixosTests }:
stdenv.mkDerivation {
name = "opentracker-2018-05-26";
@@ -23,6 +23,10 @@ stdenv.mkDerivation {
runHook postInstall
'';
+ passthru.tests = {
+ bittorrent-integration = nixosTests.bittorrent;
+ };
+
meta = with lib; {
homepage = "https://erdgeist.org/arts/software/opentracker/";
license = licenses.beerware;
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 363e5f7cfbe..43ca9d455bd 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -17,6 +17,7 @@
, wrapGAppsHook
, enableQt ? false
, qt5
+, nixosTests
, enableSystemd ? stdenv.isLinux
, enableDaemon ? true
, enableCli ? true
@@ -74,6 +75,10 @@ in stdenv.mkDerivation {
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework CoreFoundation";
+ passthru.tests = {
+ smoke-test = nixosTests.bittorrent;
+ };
+
meta = {
description = "A fast, easy and free BitTorrent client";
longDescription = ''
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index a7df1645c7a..aff39a6a44f 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -14,6 +14,7 @@
, withpcre2 ? true
, sendEmailSupport
, darwin
+, nixosTests
, withLibsecret ? false
, pkg-config, glib, libsecret
, gzip # needed at runtime by gitweb.cgi
@@ -334,6 +335,9 @@ stdenv.mkDerivation {
stripDebugList = [ "lib" "libexec" "bin" "share/git/contrib/credential/libsecret" ];
+ passthru.tests = {
+ buildbot-integration = nixosTests.buildbot;
+ };
meta = {
homepage = "https://git-scm.com/";
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index dd54ba79db7..a52d1be566e 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -1,5 +1,6 @@
{ fetchurl, fetchpatch, lib, stdenv, pkg-config, libdaemon, dbus, perlPackages
, expat, gettext, intltool, glib, libiconv, writeShellScriptBin, libevent
+, nixosTests
, gtk3Support ? false, gtk3 ? null
, qt4 ? null
, qt4Support ? false
@@ -77,6 +78,11 @@ stdenv.mkDerivation rec {
ln -s avahi-compat-howl.pc $out/lib/pkgconfig/howl.pc
*/
+ passthru.tests = {
+ smoke-test = nixosTests.avahi;
+ smoke-test-resolved = nixosTests.avahi-with-resolved;
+ };
+
meta = with lib; {
description = "mDNS/DNS-SD implementation";
homepage = "http://avahi.org";
diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix
index 2f85221e539..de6ade61518 100644
--- a/pkgs/development/ocaml-modules/atd/default.nix
+++ b/pkgs/development/ocaml-modules/atd/default.nix
@@ -1,4 +1,4 @@
-{ lib, menhir, easy-format, fetchurl, buildDunePackage, which, re }:
+{ lib, menhir, easy-format, fetchurl, buildDunePackage, which, re, nixosTests }:
buildDunePackage rec {
pname = "atd";
@@ -18,6 +18,10 @@ buildDunePackage rec {
doCheck = true;
+ passthru.tests = {
+ smoke-test = nixosTests.atd;
+ };
+
meta = with lib; {
homepage = "https://github.com/mjambon/atd";
description = "Syntax for cross-language type definitions";
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 242849e2c79..5237f2ae733 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -1,5 +1,5 @@
{ lib, buildPythonPackage, fetchPypi, buildbot, setuptoolsTrial, mock, twisted,
- future, coreutils }:
+ future, coreutils, nixosTests }:
buildPythonPackage (rec {
pname = "buildbot-worker";
@@ -19,6 +19,10 @@ buildPythonPackage (rec {
--replace /usr/bin/tail "${coreutils}/bin/tail"
'';
+ passthru.tests = {
+ smoke-test = nixosTests.buildbot;
+ };
+
meta = with lib; {
homepage = "https://buildbot.net/";
description = "Buildbot Worker Daemon";
diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix
index 664f84933ed..370d2548980 100644
--- a/pkgs/development/python-modules/selenium/default.nix
+++ b/pkgs/development/python-modules/selenium/default.nix
@@ -6,6 +6,7 @@
, geckodriver
, urllib3
, xorg
+, nixosTests
}:
@@ -47,6 +48,10 @@ buildPythonPackage rec {
cp -v x_ignore_nofocus.so selenium/webdriver/firefox/${if stdenv.is64bit then "amd64" else "x86"}/
'';
+ passthru.tests = {
+ testing-bitwarden = nixosTests.bitwarden;
+ };
+
meta = with lib; {
description = "The selenium package is used to automate web browser interaction from Python";
homepage = "http://www.seleniumhq.org";
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index db1f2aeabc7..0b6c9792441 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -1,5 +1,6 @@
{ fetchFromGitHub, lib, buildGoModule,
- makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep }:
+ makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep,
+ nixosTests }:
buildGoModule rec {
name = "buildkite-agent-${version}";
version = "3.29.0";
@@ -30,6 +31,10 @@ buildGoModule rec {
--prefix PATH : '${lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}'
'';
+ passthru.tests = {
+ smoke-test = nixosTests.buildkite-agents;
+ };
+
meta = with lib; {
description = "Build runner for buildkite.com";
longDescription = ''
diff --git a/pkgs/servers/beanstalkd/default.nix b/pkgs/servers/beanstalkd/default.nix
index 01af8a4d5bc..9bfe3182d65 100644
--- a/pkgs/servers/beanstalkd/default.nix
+++ b/pkgs/servers/beanstalkd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, installShellFiles }:
+{ lib, stdenv, fetchurl, installShellFiles, nixosTests }:
stdenv.mkDerivation rec {
version = "1.12";
@@ -19,6 +19,10 @@ stdenv.mkDerivation rec {
installManPage doc/beanstalkd.1
'';
+ passthru.tests = {
+ smoke-test = nixosTests.beanstalkd;
+ };
+
meta = with lib; {
homepage = "http://kr.github.io/beanstalkd/";
description = "A simple, fast work queue";
diff --git a/pkgs/servers/blockbook/default.nix b/pkgs/servers/blockbook/default.nix
index 2394ef258a9..5ab10af18c0 100644
--- a/pkgs/servers/blockbook/default.nix
+++ b/pkgs/servers/blockbook/default.nix
@@ -9,6 +9,7 @@
, snappy
, zeromq
, zlib
+, nixosTests
}:
buildGoModule rec {
@@ -54,6 +55,10 @@ buildGoModule rec {
cp -r $src/static/css/ $out/share/
'';
+ passthru.tests = {
+ smoke-test = nixosTests.blockbook-frontend;
+ };
+
meta = with lib; {
description = "Trezor address/account balance backend";
homepage = "https://github.com/trezor/blockbook";
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index 46e1d7643d5..8556b55b586 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -1,4 +1,5 @@
{ lib, stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv, lynx
+, nixosTests
, proxySupport ? true
, sslSupport ? true, openssl
, http2Support ? true, nghttp2
@@ -85,6 +86,9 @@ stdenv.mkDerivation rec {
passthru = {
inherit apr aprutil sslSupport proxySupport ldapSupport luaSupport lua5;
+ tests = {
+ acme-integration = nixosTests.acme;
+ };
};
meta = with lib; {
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index 663193789a5..e13c0b4e922 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -145,6 +145,7 @@ stdenv.mkDerivation {
tests = {
inherit (nixosTests) nginx nginx-auth nginx-etag nginx-pubhtml nginx-sandbox nginx-sso;
variants = lib.recurseIntoAttrs nixosTests.nginx-variants;
+ acme-integration = nixosTests.acme;
};
};
diff --git a/pkgs/tools/admin/pebble/default.nix b/pkgs/tools/admin/pebble/default.nix
index 4813f86ea64..1fb902a8c80 100644
--- a/pkgs/tools/admin/pebble/default.nix
+++ b/pkgs/tools/admin/pebble/default.nix
@@ -1,6 +1,7 @@
{ buildGoPackage
, fetchFromGitHub
, lib
+, nixosTests
}:
let
@@ -17,6 +18,10 @@ in buildGoPackage {
sha256 = "1piwzzfqsdx6s2niczzp4mf4r3qn9nfdgpn7882g52cmmm0vzks2";
};
+ passthru.tests = {
+ smoke-test = nixosTests.acme;
+ };
+
meta = {
homepage = "https://github.com/letsencrypt/pebble";
description = "A miniature version of Boulder, Pebble is a small RFC 8555 ACME test server not suited for a production CA";
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index 8ab82b67226..a28499f7732 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, attr, libuuid, libscrypt, libsodium, keyutils
-, liburcu, zlib, libaio, udev, zstd, lz4, valgrind, python3Packages
+, liburcu, zlib, libaio, udev, zstd, lz4, valgrind, python3Packages, nixosTests
, fuseSupport ? false, fuse3 ? null }:
assert fuseSupport -> fuse3 != null;
@@ -39,6 +39,10 @@ stdenv.mkDerivation {
installFlags = [ "PREFIX=${placeholder "out"}" ];
+ passthru.tests = {
+ smoke-test = nixosTests.bcachefs;
+ };
+
meta = with lib; {
description = "Tool for managing bcachefs filesystems";
homepage = "https://bcachefs.org/";
diff --git a/pkgs/tools/filesystems/bees/default.nix b/pkgs/tools/filesystems/bees/default.nix
index bbad83f0176..7ba27208fe8 100644
--- a/pkgs/tools/filesystems/bees/default.nix
+++ b/pkgs/tools/filesystems/bees/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, runCommand, fetchFromGitHub, bash, btrfs-progs, coreutils, python3Packages, util-linux }:
+{ lib, stdenv, runCommand, fetchFromGitHub, bash, btrfs-progs, coreutils
+, python3Packages, util-linux, nixosTests }:
let
@@ -55,7 +56,7 @@ let
in
-runCommand "bees-service" {
+(runCommand "bees-service" {
inherit bash bees coreutils;
utillinux = util-linux; # needs to be a valid shell variable name
btrfsProgs = btrfs-progs; # needs to be a valid shell variable name
@@ -64,4 +65,8 @@ runCommand "bees-service" {
substituteAll ${./bees-service-wrapper} "$out"/bin/bees-service-wrapper
chmod +x "$out"/bin/bees-service-wrapper
ln -s ${bees}/bin/beesd "$out"/bin/beesd
-''
+'').overrideAttrs (old: {
+ passthru.tests = {
+ smoke-test = nixosTests.bees;
+ };
+})
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index 05b04cf9484..aea0faddf5d 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -1,5 +1,6 @@
{ stdenv, lib, fetchurl, iptables, libuuid, pkg-config
, which, iproute2, gnused, coreutils, gawk, makeWrapper
+, nixosTests
}:
let
@@ -30,6 +31,10 @@ stdenv.mkDerivation rec {
done
'';
+ passthru.tests = {
+ bittorrent-integration = nixosTests.bittorrent;
+ };
+
meta = with lib; {
homepage = "http://miniupnp.free.fr/";
description = "A daemon that implements the UPnP Internet Gateway Device (IGD) specification";
diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix
index 55babb4ca2d..21ad012f3fb 100644
--- a/pkgs/tools/networking/openssh/common.nix
+++ b/pkgs/tools/networking/openssh/common.nix
@@ -22,6 +22,7 @@
, withKerberos ? true
, libkrb5
, libfido2
+, nixosTests
, withFIDO ? stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isMusl
, linkOpenssl ? true
}:
@@ -111,6 +112,10 @@ stdenv.mkDerivation rec {
"sysconfdir=\${out}/etc/ssh"
];
+ passthru.tests = {
+ borgbackup-integration = nixosTests.borgbackup;
+ };
+
meta = {
description = "An implementation of the SSH protocol${extraDesc}";
homepage = "https://www.openssh.com/";