nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 system,
3 pkgs,
4
5 # Projects the test configuration into a the desired value; usually
6 # the test runner: `config: config.test`.
7 callTest,
8
9}:
10# The return value of this function will be an attrset with arbitrary depth and
11# the `anything` returned by callTest at its test leaves.
12# The tests not supported by `system` will be replaced with `{}`, so that
13# `passthru.tests` can contain links to those without breaking on architectures
14# where said tests are unsupported.
15# Example callTest that just extracts the derivation from the test:
16# callTest = t: t.test;
17
18with pkgs.lib;
19
20let
21 # TODO: remove when handleTest is gone (make sure nixosTests and nixos/release.nix#tests are unaffected)
22 # TODO: when removing, also deprecate `test` attribute in ../lib/testing/run.nix
23 discoverTests =
24 val:
25 if isAttrs val then
26 if (val ? test) then
27 callTest val
28 else
29 mapAttrs (n: s: if n == "passthru" then s else discoverTests s) val
30 else if isFunction val then
31 # Tests based on make-test-python.nix will return the second lambda
32 # in that file, which are then forwarded to the test definition
33 # following the `import make-test-python.nix` expression
34 # (if it is a function).
35 discoverTests (val {
36 inherit system pkgs;
37 })
38 else
39 val;
40
41 /**
42 Evaluate a test and return a derivation that runs the test as its builder.
43
44 This function is deprecated in favor of runTest and runTestOn, which works
45 by passing a module instead of a specific set of arguments.
46 Benefits of runTest and runTestOn:
47 - Define values for any test option
48 - Use imports to compose tests
49 - Access the module arguments like hostPkgs and config.node.pkgs
50 - Portable to other VM hosts, specifically Darwin
51 - Faster evaluation, using a single `pkgs` instance
52
53 Changes required to migrate to runTest:
54 - Remove any `import ../make-test-python.nix` or similar calls, leaving only
55 the callback function.
56 - Convert the function header to make it a module.
57 Packages can be taken from the following. For VM host portability, use
58 - `config.node.pkgs.<name>` or `config.nodes.foo.nixpkgs.pkgs.<name>` to refer
59 to the Nixpkgs used on the VM guest(s).
60 - `hostPkgs.<name>` when invoking commands on the VM host (e.g. in Python
61 `os.system("foo")`)
62 - Since the runTest argument is a module instead of a function, arguments
63 must be passed as option definitions.
64 You may declare explicit `options` for the test parameter(s), or use the
65 less explicit `_module.args.<name>` to pass arguments to the module.
66
67 Example call with arguments:
68
69 runTest {
70 imports = [ ./test.nix ];
71 _module.args.getPackage = pkgs: pkgs.foo_1_2;
72 }
73
74 - If your test requires any definitions in `nixpkgs.*` options, set
75 `node.pkgsReadOnly = false` in the test configuration.
76 */
77 handleTest = path: args: discoverTests (import path ({ inherit system pkgs; } // args));
78
79 /**
80 See handleTest
81 */
82 handleTestOn =
83 systems: path: args:
84 if elem system systems then handleTest path args else { };
85
86 nixosLib = import ../lib {
87 # Experimental features need testing too, but there's no point in warning
88 # about it, so we enable the feature flag.
89 featureFlags.minimalModules = { };
90 };
91 evalMinimalConfig = module: nixosLib.evalModules { modules = [ module ]; };
92 evalSystem =
93 module:
94 import ../lib/eval-config.nix {
95 system = null;
96 modules = [
97 ../modules/misc/nixpkgs/read-only.nix
98 { nixpkgs.pkgs = pkgs; }
99 module
100 ];
101 };
102
103 inherit
104 (rec {
105 doRunTest =
106 arg:
107 ((import ../lib/testing-python.nix { inherit system pkgs; }).evalTest {
108 imports = [
109 arg
110 readOnlyPkgs
111 ];
112 }).config.result;
113 findTests =
114 tree:
115 if tree ? recurseForDerivations && tree.recurseForDerivations then
116 mapAttrs (k: findTests) (builtins.removeAttrs tree [ "recurseForDerivations" ])
117 else
118 callTest tree;
119
120 runTest =
121 arg:
122 let
123 r = doRunTest arg;
124 in
125 findTests r;
126 runTestOn = systems: arg: if elem system systems then runTest arg else { };
127 })
128 /**
129 See https://nixos.org/manual/nixos/unstable/#sec-calling-nixos-tests
130 */
131 runTest
132 /**
133 See https://nixos.org/manual/nixos/unstable/#sec-calling-nixos-tests
134 */
135 runTestOn
136 ;
137
138 # Using a single instance of nixpkgs makes test evaluation faster.
139 # To make sure we don't accidentally depend on a modified pkgs, we make the
140 # related options read-only. We need to test the right configuration.
141 #
142 # If your service depends on a nixpkgs setting, first try to avoid that, but
143 # otherwise, you can remove the readOnlyPkgs import and test your service as
144 # usual.
145 readOnlyPkgs =
146 # TODO: We currently accept this for nixosTests, so that the `pkgs` argument
147 # is consistent with `pkgs` in `pkgs.nixosTests`. Can we reinitialize
148 # it with `allowAliases = false`?
149 # warnIf pkgs.config.allowAliases "nixosTests: pkgs includes aliases."
150 {
151 _file = "${__curPos.file} readOnlyPkgs";
152 _class = "nixosTest";
153 node.pkgs = pkgs.pkgsLinux;
154 };
155
156in
157{
158
159 # Testing the test driver
160 nixos-test-driver = {
161 extra-python-packages = runTest ./nixos-test-driver/extra-python-packages.nix;
162 lib-extend = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./nixos-test-driver/lib-extend.nix { };
163 node-name = runTest ./nixos-test-driver/node-name.nix;
164 busybox = runTest ./nixos-test-driver/busybox.nix;
165 driver-timeout =
166 pkgs.runCommand "ensure-timeout-induced-failure"
167 {
168 failed = pkgs.testers.testBuildFailure (
169 (runTest ./nixos-test-driver/timeout.nix).config.rawTestDerivation
170 );
171 }
172 ''
173 grep -F "timeout reached; test terminating" $failed/testBuildFailure.log
174 # The program will always be terminated by SIGTERM (143) if it waits for the deadline thread.
175 [[ 143 = $(cat $failed/testBuildFailure.exit) ]]
176 touch $out
177 '';
178 };
179
180 # NixOS vm tests and non-vm unit tests
181
182 _3proxy = runTest ./3proxy.nix;
183 aaaaxy = runTest ./aaaaxy.nix;
184 acme = import ./acme/default.nix { inherit runTest; };
185 acme-dns = runTest ./acme-dns.nix;
186 actual = runTest ./actual.nix;
187 adguardhome = runTest ./adguardhome.nix;
188 aesmd = runTestOn [ "x86_64-linux" ] ./aesmd.nix;
189 agate = runTest ./web-servers/agate.nix;
190 agda = runTest ./agda.nix;
191 age-plugin-tpm-decrypt = runTest ./age-plugin-tpm-decrypt.nix;
192 agnos = discoverTests (import ./agnos.nix);
193 agorakit = runTest ./web-apps/agorakit.nix;
194 airsonic = runTest ./airsonic.nix;
195 akkoma = runTestOn [ "x86_64-linux" "aarch64-linux" ] {
196 imports = [ ./akkoma.nix ];
197 _module.args.confined = false;
198 };
199 akkoma-confined = runTestOn [ "x86_64-linux" "aarch64-linux" ] {
200 imports = [ ./akkoma.nix ];
201 _module.args.confined = true;
202 };
203 alice-lg = runTest ./alice-lg.nix;
204 alloy = runTest ./alloy.nix;
205 allTerminfo = runTest ./all-terminfo.nix;
206 alps = runTest ./alps.nix;
207 amazon-cloudwatch-agent = runTest ./amazon-cloudwatch-agent.nix;
208 amazon-init-shell = runTest ./amazon-init-shell.nix;
209 amazon-ssm-agent = runTest ./amazon-ssm-agent.nix;
210 amd-sev = runTest ./amd-sev.nix;
211 android-translation-layer = runTest ./android-translation-layer.nix;
212 angie-api = runTest ./angie-api.nix;
213 anki-sync-server = runTest ./anki-sync-server.nix;
214 anubis = runTest ./anubis.nix;
215 anuko-time-tracker = runTest ./anuko-time-tracker.nix;
216 apcupsd = runTest ./apcupsd.nix;
217 apfs = runTest ./apfs.nix;
218 appliance-repart-image = runTest ./appliance-repart-image.nix;
219 appliance-repart-image-verity-store = runTest ./appliance-repart-image-verity-store.nix;
220 apparmor = runTest ./apparmor;
221 archi = runTest ./archi.nix;
222 aria2 = runTest ./aria2.nix;
223 armagetronad = runTest ./armagetronad.nix;
224 artalk = runTest ./artalk.nix;
225 atd = runTest ./atd.nix;
226 atop = import ./atop.nix { inherit pkgs runTest; };
227 atticd = runTest ./atticd.nix;
228 atuin = runTest ./atuin.nix;
229 ax25 = runTest ./ax25.nix;
230 audit = runTest ./audit.nix;
231 audiobookshelf = runTest ./audiobookshelf.nix;
232 auth-mysql = runTest ./auth-mysql.nix;
233 authelia = runTest ./authelia.nix;
234 auto-cpufreq = runTest ./auto-cpufreq.nix;
235 autobrr = runTest ./autobrr.nix;
236 avahi = runTest {
237 imports = [ ./avahi.nix ];
238 _module.args.networkd = false;
239 };
240 avahi-with-resolved = runTest {
241 imports = [ ./avahi.nix ];
242 _module.args.networkd = true;
243 };
244 ayatana-indicators = runTest ./ayatana-indicators.nix;
245 babeld = runTest ./babeld.nix;
246 bazarr = runTest ./bazarr.nix;
247 bcachefs = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./bcachefs.nix;
248 beanstalkd = runTest ./beanstalkd.nix;
249 bees = runTest ./bees.nix;
250 benchexec = runTest ./benchexec.nix;
251 binary-cache = runTest {
252 imports = [ ./binary-cache.nix ];
253 _module.args.compression = "zstd";
254 };
255 binary-cache-no-compression = runTest {
256 imports = [ ./binary-cache.nix ];
257 _module.args.compression = "none";
258 };
259 binary-cache-xz = runTest {
260 imports = [ ./binary-cache.nix ];
261 _module.args.compression = "xz";
262 };
263 bind = runTest ./bind.nix;
264 bird2 = import ./bird.nix {
265 inherit runTest;
266 package = pkgs.bird2;
267 };
268 bird3 = import ./bird.nix {
269 inherit runTest;
270 package = pkgs.bird3;
271 };
272 birdwatcher = runTest ./birdwatcher.nix;
273 bitbox-bridge = runTest ./bitbox-bridge.nix;
274 bitcoind = runTest ./bitcoind.nix;
275 bittorrent = runTest ./bittorrent.nix;
276 blockbook-frontend = runTest ./blockbook-frontend.nix;
277 blocky = runTest ./blocky.nix;
278 bookstack = runTest ./bookstack.nix;
279 boot = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./boot.nix { };
280 bootspec = handleTestOn [ "x86_64-linux" ] ./bootspec.nix { };
281 boot-stage1 = runTest ./boot-stage1.nix;
282 boot-stage2 = runTest ./boot-stage2.nix;
283 borgbackup = runTest ./borgbackup.nix;
284 borgmatic = runTest ./borgmatic.nix;
285 botamusique = runTest ./botamusique.nix;
286 bpf = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./bpf.nix;
287 bpftune = runTest ./bpftune.nix;
288 breitbandmessung = runTest ./breitbandmessung.nix;
289 broadcast-box = runTest ./broadcast-box.nix;
290 brscan5 = runTest ./brscan5.nix;
291 btrbk = runTest ./btrbk.nix;
292 btrbk-doas = runTest ./btrbk-doas.nix;
293 btrbk-no-timer = runTest ./btrbk-no-timer.nix;
294 btrbk-section-order = runTest ./btrbk-section-order.nix;
295 budgie = runTest ./budgie.nix;
296 buildbot = runTest ./buildbot.nix;
297 buildkite-agents = runTest ./buildkite-agents.nix;
298 c2fmzq = runTest ./c2fmzq.nix;
299 caddy = runTest ./caddy.nix;
300 cadvisor = runTestOn [ "x86_64-linux" ] ./cadvisor.nix;
301 cage = runTest ./cage.nix;
302 cagebreak = runTest ./cagebreak.nix;
303 calibre-web = runTest ./calibre-web.nix;
304 calibre-server = import ./calibre-server.nix { inherit pkgs runTest; };
305 canaille = runTest ./canaille.nix;
306 castopod = runTest ./castopod.nix;
307 cassandra = runTest {
308 imports = [ ./cassandra.nix ];
309 _module.args.getPackage = pkgs: pkgs.cassandra;
310 };
311 centrifugo = runTest ./centrifugo.nix;
312 ceph-multi-node = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-multi-node.nix;
313 ceph-single-node = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-single-node.nix;
314 ceph-single-node-bluestore = runTestOn [
315 "aarch64-linux"
316 "x86_64-linux"
317 ] ./ceph-single-node-bluestore.nix;
318 ceph-single-node-bluestore-dmcrypt = runTestOn [
319 "aarch64-linux"
320 "x86_64-linux"
321 ] ./ceph-single-node-bluestore-dmcrypt.nix;
322 certmgr = import ./certmgr.nix { inherit pkgs runTest; };
323 cfssl = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./cfssl.nix;
324 cgit = runTest ./cgit.nix;
325 charliecloud = runTest ./charliecloud.nix;
326 chhoto-url = runTest ./chhoto-url.nix;
327 chromadb = runTest ./chromadb.nix;
328 chromium = (handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./chromium.nix { }).stable or { };
329 chrony = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./chrony.nix;
330 chrony-ptp = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./chrony-ptp.nix;
331 cinnamon = runTest ./cinnamon.nix;
332 cinnamon-wayland = runTest ./cinnamon-wayland.nix;
333 cjdns = runTest ./cjdns.nix;
334 clatd = runTest ./clatd.nix;
335 clickhouse = import ./clickhouse { inherit runTest; };
336 cloud-init = runTest ./cloud-init.nix;
337 cloud-init-hostname = runTest ./cloud-init-hostname.nix;
338 cloudlog = runTest ./cloudlog.nix;
339 cntr = import ./cntr.nix {
340 inherit (pkgs) lib;
341 runTest = runTestOn [
342 "aarch64-linux"
343 "x86_64-linux"
344 ];
345 };
346 cockpit = runTest ./cockpit.nix;
347 cockroachdb = runTestOn [ "x86_64-linux" ] ./cockroachdb.nix;
348 code-server = runTest ./code-server.nix;
349 coder = runTest ./coder.nix;
350 collectd = runTest ./collectd.nix;
351 commafeed = runTest ./commafeed.nix;
352 connman = runTest ./connman.nix;
353 consul = runTest ./consul.nix;
354 consul-template = runTest ./consul-template.nix;
355 containers-bridge = runTest ./containers-bridge.nix;
356 containers-custom-pkgs.nix = runTest ./containers-custom-pkgs.nix;
357 containers-ephemeral = runTest ./containers-ephemeral.nix;
358 containers-extra_veth = runTest ./containers-extra_veth.nix;
359 containers-hosts = runTest ./containers-hosts.nix;
360 containers-imperative = runTest ./containers-imperative.nix;
361 containers-ip = runTest ./containers-ip.nix;
362 containers-macvlans = runTest ./containers-macvlans.nix;
363 containers-names = runTest ./containers-names.nix;
364 containers-nested = runTest ./containers-nested.nix;
365 containers-physical_interfaces = runTest ./containers-physical_interfaces.nix;
366 containers-portforward = runTest ./containers-portforward.nix;
367 containers-reloadable = runTest ./containers-reloadable.nix;
368 containers-require-bind-mounts = runTest ./containers-require-bind-mounts.nix;
369 containers-restart_networking = runTest ./containers-restart_networking.nix;
370 containers-tmpfs = runTest ./containers-tmpfs.nix;
371 containers-unified-hierarchy = runTest ./containers-unified-hierarchy.nix;
372 convos = runTest ./convos.nix;
373 corerad = runTest ./corerad.nix;
374 corteza = runTest ./corteza.nix;
375 cosmic = runTest {
376 imports = [ ./cosmic.nix ];
377 _module.args.testName = "cosmic";
378 _module.args.enableAutologin = false;
379 _module.args.enableXWayland = true;
380 };
381 cosmic-autologin = runTest {
382 imports = [ ./cosmic.nix ];
383 _module.args.testName = "cosmic-autologin";
384 _module.args.enableAutologin = true;
385 _module.args.enableXWayland = true;
386 };
387 cosmic-noxwayland = runTest {
388 imports = [ ./cosmic.nix ];
389 _module.args.testName = "cosmic-noxwayland";
390 _module.args.enableAutologin = false;
391 _module.args.enableXWayland = false;
392 };
393 cosmic-autologin-noxwayland = runTest {
394 imports = [ ./cosmic.nix ];
395 _module.args.testName = "cosmic-autologin-noxwayland";
396 _module.args.enableAutologin = true;
397 _module.args.enableXWayland = false;
398 };
399 coturn = runTest ./coturn.nix;
400 couchdb = runTest ./couchdb.nix;
401 crabfit = runTest ./crabfit.nix;
402 cri-o = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./cri-o.nix;
403 cryptpad = runTest ./cryptpad.nix;
404 cups-pdf = runTest ./cups-pdf.nix;
405 curl-impersonate = runTest ./curl-impersonate.nix;
406 custom-ca = import ./custom-ca.nix { inherit pkgs runTest; };
407 croc = runTest ./croc.nix;
408 cross-seed = runTest ./cross-seed.nix;
409 cyrus-imap = runTest ./cyrus-imap.nix;
410 darling-dmg = runTest ./darling-dmg.nix;
411 dae = runTest ./dae.nix;
412 davis = runTest ./davis.nix;
413 db-rest = runTest ./db-rest.nix;
414 dconf = runTest ./dconf.nix;
415 ddns-updater = runTest ./ddns-updater.nix;
416 deconz = runTest ./deconz.nix;
417 deepin = runTest ./deepin.nix;
418 deluge = runTest ./deluge.nix;
419 dendrite = runTest ./matrix/dendrite.nix;
420 dependency-track = runTest ./dependency-track.nix;
421 devpi-server = runTest ./devpi-server.nix;
422 dex-oidc = runTest ./dex-oidc.nix;
423 dhparams = runTest ./dhparams.nix;
424 disable-installer-tools = runTest ./disable-installer-tools.nix;
425 discourse = runTest ./discourse.nix;
426 dnscrypt-proxy2 = runTestOn [ "x86_64-linux" ] ./dnscrypt-proxy2.nix;
427 dnsdist = import ./dnsdist.nix { inherit pkgs runTest; };
428 doas = runTest ./doas.nix;
429 docker = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./docker.nix;
430 docker-rootless = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./docker-rootless.nix;
431 docker-registry = runTest ./docker-registry.nix;
432 docker-tools = runTestOn [ "x86_64-linux" ] ./docker-tools.nix;
433 docker-tools-nix-shell = runTest ./docker-tools-nix-shell.nix;
434 docker-tools-cross = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./docker-tools-cross.nix;
435 docker-tools-overlay = runTestOn [ "x86_64-linux" ] ./docker-tools-overlay.nix;
436 docling-serve = runTest ./docling-serve.nix;
437 documize = runTest ./documize.nix;
438 documentation = pkgs.callPackage ../modules/misc/documentation/test.nix { inherit nixosLib; };
439 doh-proxy-rust = runTest ./doh-proxy-rust.nix;
440 dokuwiki = runTest ./dokuwiki.nix;
441 dolibarr = runTest ./dolibarr.nix;
442 domination = runTest ./domination.nix;
443 dovecot = runTest ./dovecot.nix;
444 drawterm = discoverTests (import ./drawterm.nix);
445 draupnir = runTest ./matrix/draupnir.nix;
446 drbd = runTest ./drbd.nix;
447 druid = handleTestOn [ "x86_64-linux" ] ./druid { };
448 drupal = runTest ./drupal.nix;
449 drbd-driver = runTest ./drbd-driver.nix;
450 dublin-traceroute = runTest ./dublin-traceroute.nix;
451 dwl = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./dwl.nix;
452 earlyoom = runTestOn [ "x86_64-linux" ] ./earlyoom.nix;
453 early-mount-options = runTest ./early-mount-options.nix;
454 ec2-config = (handleTestOn [ "x86_64-linux" ] ./ec2.nix { }).boot-ec2-config or { };
455 ec2-nixops = (handleTestOn [ "x86_64-linux" ] ./ec2.nix { }).boot-ec2-nixops or { };
456 echoip = runTest ./echoip.nix;
457 ecryptfs = runTest ./ecryptfs.nix;
458 fscrypt = runTest ./fscrypt.nix;
459 fastnetmon-advanced = runTest ./fastnetmon-advanced.nix;
460 lauti = runTest ./lauti.nix;
461 easytier = runTest ./easytier.nix;
462 ejabberd = runTest ./xmpp/ejabberd.nix;
463 elk = handleTestOn [ "x86_64-linux" ] ./elk.nix { };
464 emacs-daemon = runTest ./emacs-daemon.nix;
465 endlessh = runTest ./endlessh.nix;
466 endlessh-go = runTest ./endlessh-go.nix;
467 engelsystem = runTest ./engelsystem.nix;
468 enlightenment = runTest ./enlightenment.nix;
469 env = runTest ./env.nix;
470 envfs = runTest ./envfs.nix;
471 envoy = runTest {
472 imports = [ ./envoy.nix ];
473 _module.args.envoyPackage = pkgs.envoy;
474 };
475 envoy-bin = runTest {
476 imports = [ ./envoy.nix ];
477 _module.args.envoyPackage = pkgs.envoy-bin;
478 };
479 ergo = runTest ./ergo.nix;
480 ergochat = runTest ./ergochat.nix;
481 eris-server = runTest ./eris-server.nix;
482 esphome = runTest ./esphome.nix;
483 etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; };
484 activation = pkgs.callPackage ../modules/system/activation/test.nix { };
485 activation-lib = pkgs.callPackage ../modules/system/activation/lib/test.nix { };
486 activation-var = runTest ./activation/var.nix;
487 activation-nix-channel = runTest ./activation/nix-channel.nix;
488 activation-etc-overlay-mutable = runTest ./activation/etc-overlay-mutable.nix;
489 activation-etc-overlay-immutable = runTest ./activation/etc-overlay-immutable.nix;
490 activation-perlless = runTest ./activation/perlless.nix;
491 etcd = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./etcd/etcd.nix;
492 etcd-cluster = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./etcd/etcd-cluster.nix;
493 etebase-server = runTest ./etebase-server.nix;
494 etesync-dav = runTest ./etesync-dav.nix;
495 evcc = runTest ./evcc.nix;
496 fail2ban = runTest ./fail2ban.nix;
497 fakeroute = runTest ./fakeroute.nix;
498 fancontrol = runTest ./fancontrol.nix;
499 fanout = runTest ./fanout.nix;
500 fcitx5 = runTest ./fcitx5;
501 fedimintd = runTest ./fedimintd.nix;
502 fenics = runTest ./fenics.nix;
503 ferm = runTest ./ferm.nix;
504 ferretdb = import ./ferretdb.nix { inherit pkgs runTest; };
505 fider = runTest ./fider.nix;
506 filesender = runTest ./filesender.nix;
507 filebrowser = runTest ./filebrowser.nix;
508 filesystems-overlayfs = runTest ./filesystems-overlayfs.nix;
509 firefly-iii = runTest ./firefly-iii.nix;
510 firefly-iii-data-importer = runTest ./firefly-iii-data-importer.nix;
511 firefox = runTest {
512 imports = [ ./firefox.nix ];
513 _module.args.firefoxPackage = pkgs.firefox;
514 };
515 firefox-beta = runTest {
516 imports = [ ./firefox.nix ];
517 _module.args.firefoxPackage = pkgs.firefox-beta;
518 };
519 firefox-devedition = runTest {
520 imports = [ ./firefox.nix ];
521 _module.args.firefoxPackage = pkgs.firefox-devedition;
522 };
523 firefox-esr = runTest {
524 # used in `tested` job
525 imports = [ ./firefox.nix ];
526 _module.args.firefoxPackage = pkgs.firefox-esr;
527 };
528 firefox-esr-128 = runTest {
529 imports = [ ./firefox.nix ];
530 _module.args.firefoxPackage = pkgs.firefox-esr-128;
531 };
532 firefox-esr-140 = runTest {
533 imports = [ ./firefox.nix ];
534 _module.args.firefoxPackage = pkgs.firefox-esr-140;
535 };
536 firefoxpwa = runTest ./firefoxpwa.nix;
537 firejail = runTest ./firejail.nix;
538 firewall = runTest {
539 imports = [ ./firewall.nix ];
540 _module.args.nftables = false;
541 };
542 firewall-nftables = runTest {
543 imports = [ ./firewall.nix ];
544 _module.args.nftables = true;
545 };
546 fish = runTest ./fish.nix;
547 firezone = runTest ./firezone/firezone.nix;
548 flannel = runTestOn [ "x86_64-linux" ] ./flannel.nix;
549 flaresolverr = runTest ./flaresolverr.nix;
550 flood = runTest ./flood.nix;
551 floorp = runTest {
552 imports = [ ./firefox.nix ];
553 _module.args.firefoxPackage = pkgs.floorp;
554 };
555 fluent-bit = runTest ./fluent-bit.nix;
556 fluentd = runTest ./fluentd.nix;
557 fluidd = runTest ./fluidd.nix;
558 fontconfig-default-fonts = runTest ./fontconfig-default-fonts.nix;
559 forgejo = import ./forgejo.nix {
560 inherit runTest;
561 forgejoPackage = pkgs.forgejo;
562 };
563 forgejo-lts = import ./forgejo.nix {
564 inherit runTest;
565 forgejoPackage = pkgs.forgejo-lts;
566 };
567 freenet = runTest ./freenet.nix;
568 freeswitch = runTest ./freeswitch.nix;
569 freetube = discoverTests (import ./freetube.nix);
570 freshrss = import ./freshrss { inherit runTest; };
571 frigate = runTest ./frigate.nix;
572 froide-govplan = runTest ./web-apps/froide-govplan.nix;
573 frp = runTest ./frp.nix;
574 frr = runTest ./frr.nix;
575 fsck = runTest {
576 imports = [ ./fsck.nix ];
577 _module.args.systemdStage1 = false;
578 };
579 fsck-systemd-stage-1 = runTest {
580 imports = [ ./fsck.nix ];
581 _module.args.systemdStage1 = true;
582 };
583 ft2-clone = runTest ./ft2-clone.nix;
584 legit = runTest ./legit.nix;
585 mimir = runTest ./mimir.nix;
586 galene = discoverTests (import ./galene.nix { inherit runTest; });
587 gancio = runTest ./gancio.nix;
588 garage_1 = import ./garage {
589 inherit runTest;
590 package = pkgs.garage_1;
591 };
592 garage_2 = import ./garage {
593 inherit runTest;
594 package = pkgs.garage_2;
595 };
596 gatus = runTest ./gatus.nix;
597 getaddrinfo = runTest ./getaddrinfo.nix;
598 gemstash = import ./gemstash.nix { inherit pkgs runTest; };
599 geoclue2 = runTest ./geoclue2.nix;
600 geoserver = runTest ./geoserver.nix;
601 gerrit = runTest ./gerrit.nix;
602 geth = runTest ./geth.nix;
603 ghostunnel = runTest ./ghostunnel.nix;
604 ghostunnel-modular = runTest ./ghostunnel-modular.nix;
605 gitdaemon = runTest ./gitdaemon.nix;
606 gitea = handleTest ./gitea.nix { giteaPackage = pkgs.gitea; };
607 github-runner = runTest ./github-runner.nix;
608 gitlab = runTest ./gitlab.nix;
609 gitolite = runTest ./gitolite.nix;
610 gitolite-fcgiwrap = runTest ./gitolite-fcgiwrap.nix;
611 glance = runTest ./glance.nix;
612 glances = runTest ./glances.nix;
613 glitchtip = runTest ./glitchtip.nix;
614 glusterfs = runTest ./glusterfs.nix;
615 gnome = runTest ./gnome.nix;
616 gnome-extensions = runTest ./gnome-extensions.nix;
617 gnome-flashback = runTest ./gnome-flashback.nix;
618 gnome-xorg = runTest ./gnome-xorg.nix;
619 gns3-server = runTest ./gns3-server.nix;
620 gnupg = runTest ./gnupg.nix;
621 goatcounter = runTest ./goatcounter.nix;
622 go-camo = runTest ./go-camo.nix;
623 go-httpbin = runTest ./go-httpbin.nix;
624 go-neb = runTest ./go-neb.nix;
625 gobgpd = runTest ./gobgpd.nix;
626 gocd-agent = runTest ./gocd-agent.nix;
627 gocd-server = runTest ./gocd-server.nix;
628 gokapi = runTest ./gokapi.nix;
629 gollum = runTest ./gollum.nix;
630 gonic = runTest ./gonic.nix;
631 google-oslogin = runTest ./google-oslogin;
632 gopro-tool = runTest ./gopro-tool.nix;
633 goss = runTest ./goss.nix;
634 gotenberg = runTest ./gotenberg.nix;
635 gotify-server = runTest ./gotify-server.nix;
636 gotosocial = runTest ./web-apps/gotosocial.nix;
637 grafana = handleTest ./grafana { };
638 graphite = runTest ./graphite.nix;
639 grav = runTest ./web-apps/grav.nix;
640 graylog = runTest ./graylog.nix;
641 greetd-no-shadow = runTest ./greetd-no-shadow.nix;
642 grocy = runTest ./grocy.nix;
643 grow-partition = runTest ./grow-partition.nix;
644 grub = runTest ./grub.nix;
645 guacamole-server = runTest ./guacamole-server.nix;
646 guix = handleTest ./guix { };
647 gvisor = runTest ./gvisor.nix;
648 h2o = import ./web-servers/h2o { inherit recurseIntoAttrs runTest; };
649 hadoop = import ./hadoop {
650 inherit handleTestOn;
651 package = pkgs.hadoop;
652 };
653 hadoop_3_3 = import ./hadoop {
654 inherit handleTestOn;
655 package = pkgs.hadoop_3_3;
656 };
657 hadoop2 = import ./hadoop {
658 inherit handleTestOn;
659 package = pkgs.hadoop2;
660 };
661 haste-server = runTest ./haste-server.nix;
662 haproxy = runTest ./haproxy.nix;
663 hardened = runTest ./hardened.nix;
664 harmonia = runTest ./harmonia.nix;
665 headscale = runTest ./headscale.nix;
666 healthchecks = runTest ./web-apps/healthchecks.nix;
667 hbase2 = runTest {
668 imports = [ ./hbase.nix ];
669 _module.args.getPackage = pkgs: pkgs.hbase2;
670 };
671 hbase_2_5 = runTest {
672 imports = [ ./hbase.nix ];
673 _module.args.getPackage = pkgs: pkgs.hbase_2_5;
674 };
675 hbase_2_4 = runTest {
676 imports = [ ./hbase.nix ];
677 _module.args.getPackage = pkgs: pkgs.hbase_2_4;
678 };
679 hbase3 = runTest {
680 imports = [ ./hbase.nix ];
681 _module.args.getPackage = pkgs: pkgs.hbase3;
682 };
683 hedgedoc = runTest ./hedgedoc.nix;
684 herbstluftwm = runTest ./herbstluftwm.nix;
685 homebox = runTest ./homebox.nix;
686 homer = handleTest ./homer { };
687 homepage-dashboard = runTest ./homepage-dashboard.nix;
688 honk = runTest ./honk.nix;
689 installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests { });
690 invidious = runTest ./invidious.nix;
691 iosched = runTest ./iosched.nix;
692 isolate = runTest ./isolate.nix;
693 livebook-service = runTest ./livebook-service.nix;
694 pyload = runTest ./pyload.nix;
695 oci-containers = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./oci-containers.nix { };
696 odoo = runTest ./odoo.nix;
697 odoo17 = runTest {
698 imports = [ ./odoo.nix ];
699 _module.args.package = pkgs.odoo17;
700 };
701 odoo16 = runTest {
702 imports = [ ./odoo.nix ];
703 _module.args.package = pkgs.odoo16;
704 };
705 oku = runTest ./oku.nix;
706 oncall = runTest ./web-apps/oncall.nix;
707 # 9pnet_virtio used to mount /nix partition doesn't support
708 # hibernation. This test happens to work on x86_64-linux but
709 # not on other platforms.
710 hibernate = handleTestOn [ "x86_64-linux" ] ./hibernate.nix { };
711 hibernate-systemd-stage-1 = handleTestOn [ "x86_64-linux" ] ./hibernate.nix {
712 systemdStage1 = true;
713 };
714 hitch = handleTest ./hitch { };
715 hledger-web = runTest ./hledger-web.nix;
716 hockeypuck = runTest ./hockeypuck.nix;
717 home-assistant = runTest ./home-assistant.nix;
718 homebridge = runTest ./homebridge.nix;
719 hostname = handleTest ./hostname.nix { };
720 hound = runTest ./hound.nix;
721 hub = runTest ./git/hub.nix;
722 hydra = runTest ./hydra;
723 i3wm = runTest ./i3wm.nix;
724 icingaweb2 = runTest ./icingaweb2.nix;
725 ifm = runTest ./ifm.nix;
726 iftop = runTest ./iftop.nix;
727 immich = runTest ./web-apps/immich.nix;
728 immich-public-proxy = runTest ./web-apps/immich-public-proxy.nix;
729 incron = runTest ./incron.nix;
730 incus = pkgs.recurseIntoAttrs (
731 handleTest ./incus {
732 lts = false;
733 inherit system pkgs;
734 }
735 );
736 incus-lts = pkgs.recurseIntoAttrs (handleTest ./incus { inherit system pkgs; });
737 influxdb = runTest ./influxdb.nix;
738 influxdb2 = runTest ./influxdb2.nix;
739 initrd-luks-empty-passphrase = runTest ./initrd-luks-empty-passphrase.nix;
740 initrd-network-openvpn = handleTestOn [ "x86_64-linux" "i686-linux" ] ./initrd-network-openvpn { };
741 initrd-network-ssh = handleTest ./initrd-network-ssh { };
742 initrd-secrets = handleTest ./initrd-secrets.nix { };
743 initrd-secrets-changing = handleTest ./initrd-secrets-changing.nix { };
744 initrdNetwork = runTest ./initrd-network.nix;
745 input-remapper = runTest ./input-remapper.nix;
746 inspircd = runTest ./inspircd.nix;
747 installer = handleTest ./installer.nix { };
748 installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix { };
749 intune = runTest ./intune.nix;
750 invoiceplane = runTest ./invoiceplane.nix;
751 iodine = runTest ./iodine.nix;
752 ipv6 = runTest ./ipv6.nix;
753 iscsi-multipath-root = runTest ./iscsi-multipath-root.nix;
754 iscsi-root = runTest ./iscsi-root.nix;
755 isso = runTest ./isso.nix;
756 jackett = runTest ./jackett.nix;
757 jellyfin = runTest ./jellyfin.nix;
758 jenkins = runTest ./jenkins.nix;
759 jenkins-cli = runTest ./jenkins-cli.nix;
760 jibri = runTest ./jibri.nix;
761 jirafeau = runTest ./jirafeau.nix;
762 jitsi-meet = runTest ./jitsi-meet.nix;
763 jool = import ./jool.nix { inherit pkgs runTest; };
764 jotta-cli = runTest ./jotta-cli.nix;
765 k3s = handleTest ./k3s { };
766 kafka = handleTest ./kafka { };
767 kanboard = runTest ./web-apps/kanboard.nix;
768 kanidm = runTest ./kanidm.nix;
769 kanidm-provisioning = runTest ./kanidm-provisioning.nix;
770 karma = runTest ./karma.nix;
771 kavita = runTest ./kavita.nix;
772 kbd-setfont-decompress = runTest ./kbd-setfont-decompress.nix;
773 kbd-update-search-paths-patch = runTest ./kbd-update-search-paths-patch.nix;
774 kea = runTest ./kea.nix;
775 keepalived = runTest ./keepalived.nix;
776 keepassxc = runTest ./keepassxc.nix;
777 kerberos = handleTest ./kerberos/default.nix { };
778 kernel-generic = handleTest ./kernel-generic.nix { };
779 kernel-latest-ath-user-regd = runTest ./kernel-latest-ath-user-regd.nix;
780 kernel-rust = handleTest ./kernel-rust.nix { };
781 keter = runTest ./keter.nix;
782 kexec = runTest ./kexec.nix;
783 keycloak = discoverTests (import ./keycloak.nix);
784 keyd = handleTest ./keyd.nix { };
785 keymap = handleTest ./keymap.nix { };
786 kimai = runTest ./kimai.nix;
787 kismet = runTest ./kismet.nix;
788 kmonad = runTest ./kmonad.nix;
789 knot = runTest ./knot.nix;
790 komga = runTest ./komga.nix;
791 krb5 = discoverTests (import ./krb5);
792 ksm = runTest ./ksm.nix;
793 kthxbye = runTest ./kthxbye.nix;
794 kubernetes = handleTestOn [ "x86_64-linux" ] ./kubernetes { };
795 kubo = import ./kubo { inherit recurseIntoAttrs runTest; };
796 lact = runTest ./lact.nix;
797 ladybird = runTest ./ladybird.nix;
798 languagetool = runTest ./languagetool.nix;
799 lanraragi = runTest ./lanraragi.nix;
800 latestKernel.login = runTest {
801 imports = [ ./login.nix ];
802 _module.args.latestKernel = true;
803 };
804 lasuite-docs = runTest ./web-apps/lasuite-docs.nix;
805 lasuite-meet = runTest ./web-apps/lasuite-meet.nix;
806 lavalink = runTest ./lavalink.nix;
807 leaps = runTest ./leaps.nix;
808 lemmy = runTest ./lemmy.nix;
809 libinput = runTest ./libinput.nix;
810 lemurs = runTest ./lemurs/lemurs.nix;
811 lemurs-wayland = runTest ./lemurs/lemurs-wayland.nix;
812 lemurs-wayland-script = runTest ./lemurs/lemurs-wayland-script.nix;
813 lemurs-xorg = runTest ./lemurs/lemurs-xorg.nix;
814 lemurs-xorg-script = runTest ./lemurs/lemurs-xorg-script.nix;
815 librenms = runTest ./librenms.nix;
816 libresprite = runTest ./libresprite.nix;
817 libreswan = runTest ./libreswan.nix;
818 libreswan-nat = runTest ./libreswan-nat.nix;
819 librewolf = runTest {
820 imports = [ ./firefox.nix ];
821 _module.args.firefoxPackage = pkgs.librewolf;
822 };
823 libuiohook = runTest ./libuiohook.nix;
824 libvirtd = runTest ./libvirtd.nix;
825 lidarr = runTest ./lidarr.nix;
826 lightdm = runTest ./lightdm.nix;
827 lighttpd = runTest ./lighttpd.nix;
828 livekit = runTest ./networking/livekit.nix;
829 limesurvey = runTest ./limesurvey.nix;
830 limine = import ./limine { inherit runTest; };
831 listmonk = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./listmonk.nix { };
832 litellm = runTest ./litellm.nix;
833 litestream = runTest ./litestream.nix;
834 lk-jwt-service = runTest ./matrix/lk-jwt-service.nix;
835 lldap = runTest ./lldap.nix;
836 localsend = runTest ./localsend.nix;
837 locate = runTest ./locate.nix;
838 login = runTest ./login.nix;
839 logrotate = runTest ./logrotate.nix;
840 loki = runTest ./loki.nix;
841 luks = runTest ./luks.nix;
842 lvm2 = handleTest ./lvm2 { };
843 lxc = handleTest ./lxc { };
844 lxd = pkgs.recurseIntoAttrs (handleTest ./lxd { inherit handleTestOn; });
845 lxd-image-server = runTest ./lxd-image-server.nix;
846 #logstash = handleTest ./logstash.nix {};
847 lomiri = discoverTests (import ./lomiri.nix);
848 lomiri-calculator-app = runTest ./lomiri-calculator-app.nix;
849 lomiri-calendar-app = runTest ./lomiri-calendar-app.nix;
850 lomiri-camera-app = discoverTests (import ./lomiri-camera-app.nix);
851 lomiri-clock-app = runTest ./lomiri-clock-app.nix;
852 lomiri-docviewer-app = runTest ./lomiri-docviewer-app.nix;
853 lomiri-filemanager-app = runTest ./lomiri-filemanager-app.nix;
854 lomiri-mediaplayer-app = runTest ./lomiri-mediaplayer-app.nix;
855 lomiri-music-app = runTest ./lomiri-music-app.nix;
856 lomiri-gallery-app = discoverTests (import ./lomiri-gallery-app.nix);
857 lomiri-system-settings = runTest ./lomiri-system-settings.nix;
858 lorri = handleTest ./lorri/default.nix { };
859 lxqt = runTest ./lxqt.nix;
860 ly = runTest ./ly.nix;
861 maddy = discoverTests (import ./maddy { inherit handleTest; });
862 maestral = runTest ./maestral.nix;
863 magic-wormhole-mailbox-server = runTest ./magic-wormhole-mailbox-server.nix;
864 magnetico = runTest ./magnetico.nix;
865 mailcatcher = runTest ./mailcatcher.nix;
866 mailhog = runTest ./mailhog.nix;
867 mailpit = runTest ./mailpit.nix;
868 mailman = runTest ./mailman.nix;
869 man = runTest ./man.nix;
870 mariadb-galera = handleTest ./mysql/mariadb-galera.nix { };
871 marytts = runTest ./marytts.nix;
872 mastodon = pkgs.recurseIntoAttrs (handleTest ./web-apps/mastodon { inherit handleTestOn; });
873 pixelfed = import ./web-apps/pixelfed { inherit runTestOn; };
874 mate = runTest ./mate.nix;
875 mate-wayland = runTest ./mate-wayland.nix;
876 matter-server = runTest ./matter-server.nix;
877 matomo = runTest ./matomo.nix;
878 matrix-alertmanager = runTest ./matrix/matrix-alertmanager.nix;
879 matrix-appservice-irc = runTest ./matrix/appservice-irc.nix;
880 matrix-conduit = runTest ./matrix/conduit.nix;
881 matrix-continuwuity = runTest ./matrix/continuwuity.nix;
882 matrix-synapse = runTest ./matrix/synapse.nix;
883 matrix-synapse-workers = runTest ./matrix/synapse-workers.nix;
884 matrix-tuwunel = runTest ./matrix/tuwunel.nix;
885 mautrix-discord = runTest ./matrix/mautrix-discord.nix;
886 mattermost = handleTest ./mattermost { };
887 mautrix-meta-postgres = runTest ./matrix/mautrix-meta-postgres.nix;
888 mautrix-meta-sqlite = runTest ./matrix/mautrix-meta-sqlite.nix;
889 mealie = runTest ./mealie.nix;
890 mediamtx = runTest ./mediamtx.nix;
891 mediatomb = runTest ./mediatomb.nix;
892 mediawiki = handleTest ./mediawiki.nix { };
893 meilisearch = runTest ./meilisearch.nix;
894 memcached = runTest ./memcached.nix;
895 merecat = runTest ./merecat.nix;
896 metabase = runTest ./metabase.nix;
897 mihomo = runTest ./mihomo.nix;
898 mindustry = runTest ./mindustry.nix;
899 minecraft = runTest ./minecraft.nix;
900 minecraft-server = runTest ./minecraft-server.nix;
901 minidlna = runTest ./minidlna.nix;
902 miniflux = runTest ./miniflux.nix;
903 minio = runTest ./minio.nix;
904 miracle-wm = runTest ./miracle-wm.nix;
905 miriway = runTest ./miriway.nix;
906 misc = runTest ./misc.nix;
907 misskey = runTest ./misskey.nix;
908 mitmproxy = runTest ./mitmproxy.nix;
909 mjolnir = runTest ./matrix/mjolnir.nix;
910 mobilizon = runTest ./mobilizon.nix;
911 mod_perl = runTest ./mod_perl.nix;
912 modularService = pkgs.callPackage ../modules/system/service/systemd/test.nix {
913 inherit evalSystem;
914 };
915 molly-brown = runTest ./molly-brown.nix;
916 mollysocket = runTest ./mollysocket.nix;
917 monado = runTest ./monado.nix;
918 monetdb = runTest ./monetdb.nix;
919 monica = runTest ./web-apps/monica.nix;
920 mongodb = runTest ./mongodb.nix;
921 mongodb-ce = runTest (
922 { config, ... }:
923 {
924 imports = [ ./mongodb.nix ];
925 defaults.services.mongodb.package = config.node.pkgs.mongodb-ce;
926 }
927 );
928 moodle = runTest ./moodle.nix;
929 moonraker = runTest ./moonraker.nix;
930 mopidy = runTest ./mopidy.nix;
931 morph-browser = runTest ./morph-browser.nix;
932 morty = runTest ./morty.nix;
933 mosquitto = runTest ./mosquitto.nix;
934 moosefs = runTest ./moosefs.nix;
935 movim = import ./web-apps/movim { inherit recurseIntoAttrs runTest; };
936 mpd = runTest ./mpd.nix;
937 mpv = runTest ./mpv.nix;
938 mtp = runTest ./mtp.nix;
939 multipass = runTest ./multipass.nix;
940 mumble = runTest ./mumble.nix;
941 # Fails on aarch64-linux at the PDF creation step - need to debug this on an
942 # aarch64 machine..
943 musescore = runTestOn [ "x86_64-linux" ] ./musescore.nix;
944 music-assistant = runTest ./music-assistant.nix;
945 munin = runTest ./munin.nix;
946 mutableUsers = runTest ./mutable-users.nix;
947 mycelium = runTest ./mycelium;
948 mympd = runTest ./mympd.nix;
949 mysql = handleTest ./mysql/mysql.nix { };
950 mysql-autobackup = handleTest ./mysql/mysql-autobackup.nix { };
951 mysql-backup = handleTest ./mysql/mysql-backup.nix { };
952 mysql-replication = handleTest ./mysql/mysql-replication.nix { };
953 n8n = runTest ./n8n.nix;
954 nagios = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./nagios.nix;
955 nar-serve = runTest ./nar-serve.nix;
956 nat.firewall = handleTest ./nat.nix { withFirewall = true; };
957 nat.standalone = handleTest ./nat.nix { withFirewall = false; };
958 nat.nftables.firewall = handleTest ./nat.nix {
959 withFirewall = true;
960 nftables = true;
961 };
962 nat.nftables.standalone = handleTest ./nat.nix {
963 withFirewall = false;
964 nftables = true;
965 };
966 nats = runTest ./nats.nix;
967 navidrome = runTest ./navidrome.nix;
968 nbd = runTest ./nbd.nix;
969 ncdns = runTest ./ncdns.nix;
970 ncps = runTest ./ncps.nix;
971 ncps-custom-cache-datapath = runTest {
972 imports = [ ./ncps.nix ];
973 defaults.services.ncps.cache.dataPath = "/path/to/ncps";
974 };
975 ndppd = runTest ./ndppd.nix;
976 nebula = runTest ./nebula.nix;
977 neo4j = runTest ./neo4j.nix;
978 netbird = runTest ./netbird.nix;
979 netdata = runTest ./netdata.nix;
980 nimdow = runTest ./nimdow.nix;
981 nix-channel = pkgs.callPackage ../modules/config/nix-channel/test.nix { };
982 networking.scripted = handleTest ./networking/networkd-and-scripted.nix { networkd = false; };
983 networking.networkd = handleTest ./networking/networkd-and-scripted.nix { networkd = true; };
984 networking.networkmanager = handleTest ./networking/networkmanager.nix { };
985 netbox_4_1 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_1; };
986 netbox_4_2 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_2; };
987 netbox_4_3 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_3; };
988 netbox-upgrade = runTest ./web-apps/netbox-upgrade.nix;
989 # TODO: put in networking.nix after the test becomes more complete
990 networkingProxy = runTest ./networking-proxy.nix;
991 nextcloud = handleTest ./nextcloud { };
992 nextflow = runTestOn [ "x86_64-linux" ] ./nextflow.nix;
993 nextjs-ollama-llm-ui = runTest ./web-apps/nextjs-ollama-llm-ui.nix;
994 nexus = runTest ./nexus.nix;
995 # TODO: Test nfsv3 + Kerberos
996 nfs3 = handleTest ./nfs { version = 3; };
997 nfs4 = handleTest ./nfs { version = 4; };
998 nghttpx = runTest ./nghttpx.nix;
999 nginx = runTest ./nginx.nix;
1000 nginx-auth = runTest ./nginx-auth.nix;
1001 nginx-etag = runTest ./nginx-etag.nix;
1002 nginx-etag-compression = runTest ./nginx-etag-compression.nix;
1003 nginx-globalredirect = runTest ./nginx-globalredirect.nix;
1004 nginx-http3 = import ./nginx-http3.nix { inherit pkgs runTest; };
1005 nginx-mime = runTest ./nginx-mime.nix;
1006 nginx-modsecurity = runTest ./nginx-modsecurity.nix;
1007 nginx-moreheaders = runTest ./nginx-moreheaders.nix;
1008 nginx-njs = runTest ./nginx-njs.nix;
1009 nginx-proxyprotocol = runTest ./nginx-proxyprotocol/default.nix;
1010 nginx-pubhtml = runTest ./nginx-pubhtml.nix;
1011 nginx-redirectcode = runTest ./nginx-redirectcode.nix;
1012 nginx-sso = runTest ./nginx-sso.nix;
1013 nginx-status-page = runTest ./nginx-status-page.nix;
1014 nginx-tmpdir = runTest ./nginx-tmpdir.nix;
1015 nginx-unix-socket = runTest ./nginx-unix-socket.nix;
1016 nginx-variants = import ./nginx-variants.nix { inherit pkgs runTest; };
1017 nifi = runTestOn [ "x86_64-linux" ] ./web-apps/nifi.nix;
1018 nipap = runTest ./web-apps/nipap.nix;
1019 nitter = runTest ./nitter.nix;
1020 nix-config = runTest ./nix-config.nix;
1021 nix-ld = runTest ./nix-ld.nix;
1022 nix-misc = handleTest ./nix/misc.nix { };
1023 nix-upgrade = handleTest ./nix/upgrade.nix { inherit (pkgs) nixVersions; };
1024 nix-required-mounts = runTest ./nix-required-mounts;
1025 nix-serve = runTest ./nix-serve.nix;
1026 nix-serve-ssh = runTest ./nix-serve-ssh.nix;
1027 nix-store-veritysetup = runTest ./nix-store-veritysetup.nix;
1028 nixops = handleTest ./nixops/default.nix { };
1029 nixos-generate-config = runTest ./nixos-generate-config.nix;
1030 nixos-rebuild-install-bootloader = handleTestOn [
1031 "x86_64-linux"
1032 ] ./nixos-rebuild-install-bootloader.nix { withNg = false; };
1033 nixos-rebuild-install-bootloader-ng = handleTestOn [
1034 "x86_64-linux"
1035 ] ./nixos-rebuild-install-bootloader.nix { withNg = true; };
1036 nixos-rebuild-specialisations = runTestOn [ "x86_64-linux" ] {
1037 imports = [ ./nixos-rebuild-specialisations.nix ];
1038 _module.args.withNg = false;
1039 };
1040 nixos-rebuild-specialisations-ng = runTestOn [ "x86_64-linux" ] {
1041 imports = [ ./nixos-rebuild-specialisations.nix ];
1042 _module.args.withNg = true;
1043 };
1044 nixos-rebuild-target-host = runTest {
1045 imports = [ ./nixos-rebuild-target-host.nix ];
1046 _module.args.withNg = false;
1047 };
1048 nixos-rebuild-target-host-ng = runTest {
1049 imports = [ ./nixos-rebuild-target-host.nix ];
1050 _module.args.withNg = true;
1051 };
1052 nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; };
1053 nixseparatedebuginfod = runTest ./nixseparatedebuginfod.nix;
1054 node-red = runTest ./node-red.nix;
1055 nomad = runTest ./nomad.nix;
1056 nominatim = runTest ./nominatim.nix;
1057 non-default-filesystems = handleTest ./non-default-filesystems.nix { };
1058 non-switchable-system = runTest ./non-switchable-system.nix;
1059 noto-fonts = runTest ./noto-fonts.nix;
1060 noto-fonts-cjk-qt-default-weight = runTest ./noto-fonts-cjk-qt-default-weight.nix;
1061 novacomd = handleTestOn [ "x86_64-linux" ] ./novacomd.nix { };
1062 npmrc = runTest ./npmrc.nix;
1063 nscd = runTest ./nscd.nix;
1064 nsd = runTest ./nsd.nix;
1065 ntfy-sh = handleTest ./ntfy-sh.nix { };
1066 ntfy-sh-migration = handleTest ./ntfy-sh-migration.nix { };
1067 ntpd = runTest ./ntpd.nix;
1068 ntpd-rs = runTest ./ntpd-rs.nix;
1069 nvidia-container-toolkit = runTest ./nvidia-container-toolkit.nix;
1070 nvmetcfg = runTest ./nvmetcfg.nix;
1071 nzbget = runTest ./nzbget.nix;
1072 nzbhydra2 = runTest ./nzbhydra2.nix;
1073 ocis = runTest ./ocis.nix;
1074 oddjobd = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./oddjobd.nix { };
1075 obs-studio = runTest ./obs-studio.nix;
1076 oh-my-zsh = runTest ./oh-my-zsh.nix;
1077 olivetin = runTest ./olivetin.nix;
1078 ollama = runTest ./ollama.nix;
1079 ollama-cuda = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./ollama-cuda.nix;
1080 ollama-rocm = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./ollama-rocm.nix;
1081 ombi = runTest ./ombi.nix;
1082 omnom = runTest ./omnom;
1083 openarena = runTest ./openarena.nix;
1084 openbao = runTest ./openbao.nix;
1085 opencloud = runTest ./opencloud.nix;
1086 openldap = runTest ./openldap.nix;
1087 openresty-lua = runTest ./openresty-lua.nix;
1088 opensearch = discoverTests (import ./opensearch.nix);
1089 opensmtpd = handleTest ./opensmtpd.nix { };
1090 opensmtpd-rspamd = handleTest ./opensmtpd-rspamd.nix { };
1091 opensnitch = runTest ./opensnitch.nix;
1092 openssh = runTest ./openssh.nix;
1093 octoprint = runTest ./octoprint.nix;
1094 openstack-image-metadata =
1095 (handleTestOn [ "x86_64-linux" ] ./openstack-image.nix { }).metadata or { };
1096 openstack-image-userdata =
1097 (handleTestOn [ "x86_64-linux" ] ./openstack-image.nix { }).userdata or { };
1098 opentabletdriver = runTest ./opentabletdriver.nix;
1099 opentelemetry-collector = runTest ./opentelemetry-collector.nix;
1100 open-web-calendar = runTest ./web-apps/open-web-calendar.nix;
1101 ocsinventory-agent = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./ocsinventory-agent.nix { };
1102 orthanc = runTest ./orthanc.nix;
1103 owi = runTest ./owi.nix;
1104 owncast = runTest ./owncast.nix;
1105 outline = runTest ./outline.nix;
1106 i18n = runTest ./i18n.nix;
1107 image-contents = handleTest ./image-contents.nix { };
1108 openvscode-server = runTest ./openvscode-server.nix;
1109 open-webui = runTest ./open-webui.nix;
1110 openvswitch = runTest ./openvswitch.nix;
1111 optee = handleTestOn [ "aarch64-linux" ] ./optee.nix { };
1112 orangefs = runTest ./orangefs.nix;
1113 os-prober = handleTestOn [ "x86_64-linux" ] ./os-prober.nix { };
1114 osquery = handleTestOn [ "x86_64-linux" ] ./osquery.nix { };
1115 osrm-backend = runTest ./osrm-backend.nix;
1116 overlayfs = runTest ./overlayfs.nix;
1117 pacemaker = runTest ./pacemaker.nix;
1118 packagekit = runTest ./packagekit.nix;
1119 paisa = runTest ./paisa.nix;
1120 pam-file-contents = runTest ./pam/pam-file-contents.nix;
1121 pam-oath-login = runTest ./pam/pam-oath-login.nix;
1122 pam-u2f = runTest ./pam/pam-u2f.nix;
1123 pam-ussh = runTest ./pam/pam-ussh.nix;
1124 pam-zfs-key = runTest ./pam/zfs-key.nix;
1125 paretosecurity = runTest ./paretosecurity.nix;
1126 pass-secret-service = runTest ./pass-secret-service.nix;
1127 patroni = handleTestOn [ "x86_64-linux" ] ./patroni.nix { };
1128 pantalaimon = runTest ./matrix/pantalaimon.nix;
1129 pantheon = runTest ./pantheon.nix;
1130 pantheon-wayland = runTest ./pantheon-wayland.nix;
1131 paperless = runTest ./paperless.nix;
1132 parsedmarc = handleTest ./parsedmarc { };
1133 password-option-override-ordering = runTest ./password-option-override-ordering.nix;
1134 pdns-recursor = runTest ./pdns-recursor.nix;
1135 pds = runTest ./pds.nix;
1136 peerflix = runTest ./peerflix.nix;
1137 peering-manager = runTest ./web-apps/peering-manager.nix;
1138 peertube = handleTestOn [ "x86_64-linux" ] ./web-apps/peertube.nix { };
1139 peroxide = runTest ./peroxide.nix;
1140 pgadmin4 = runTest ./pgadmin4.nix;
1141 pgbackrest = import ./pgbackrest { inherit runTest; };
1142 pgbouncer = runTest ./pgbouncer.nix;
1143 pghero = runTest ./pghero.nix;
1144 pgweb = runTest ./pgweb.nix;
1145 pgmanage = runTest ./pgmanage.nix;
1146 phosh = runTest ./phosh.nix;
1147 photonvision = runTest ./photonvision.nix;
1148 photoprism = runTest ./photoprism.nix;
1149 php = import ./php/default.nix {
1150 inherit runTest;
1151 php = pkgs.php;
1152 };
1153 php81 = import ./php/default.nix {
1154 inherit runTest;
1155 php = pkgs.php81;
1156 };
1157 php82 = import ./php/default.nix {
1158 inherit runTest;
1159 php = pkgs.php82;
1160 };
1161 php83 = import ./php/default.nix {
1162 inherit runTest;
1163 php = pkgs.php83;
1164 };
1165 php84 = import ./php/default.nix {
1166 inherit runTest;
1167 php = pkgs.php84;
1168 };
1169 phylactery = runTest ./web-apps/phylactery.nix;
1170 pict-rs = runTest ./pict-rs.nix;
1171 pingvin-share = runTest ./pingvin-share.nix;
1172 pinnwand = runTest ./pinnwand.nix;
1173 plantuml-server = runTest ./plantuml-server.nix;
1174 plasma-bigscreen = runTest ./plasma-bigscreen.nix;
1175 plasma5 = runTest ./plasma5.nix;
1176 plasma6 = runTest ./plasma6.nix;
1177 plasma5-systemd-start = runTest ./plasma5-systemd-start.nix;
1178 plausible = runTest ./plausible.nix;
1179 playwright-python = runTest ./playwright-python.nix;
1180 please = runTest ./please.nix;
1181 pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix { };
1182 plikd = runTest ./plikd.nix;
1183 plotinus = runTest ./plotinus.nix;
1184 pocket-id = runTest ./pocket-id.nix;
1185 podgrab = runTest ./podgrab.nix;
1186 podman = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./podman/default.nix { };
1187 podman-tls-ghostunnel = handleTestOn [
1188 "aarch64-linux"
1189 "x86_64-linux"
1190 ] ./podman/tls-ghostunnel.nix { };
1191 polaris = runTest ./polaris.nix;
1192 pomerium = handleTestOn [ "x86_64-linux" ] ./pomerium.nix { };
1193 portunus = runTest ./portunus.nix;
1194 postfix = handleTest ./postfix.nix { };
1195 postfix-raise-smtpd-tls-security-level =
1196 handleTest ./postfix-raise-smtpd-tls-security-level.nix
1197 { };
1198 postfix-tlspol = runTest ./postfix-tlspol.nix;
1199 postfixadmin = runTest ./postfixadmin.nix;
1200 postgres-websockets = runTest ./postgres-websockets.nix;
1201 postgresql = handleTest ./postgresql { };
1202 postgrest = runTest ./postgrest.nix;
1203 powerdns = runTest ./powerdns.nix;
1204 powerdns-admin = handleTest ./powerdns-admin.nix { };
1205 power-profiles-daemon = runTest ./power-profiles-daemon.nix;
1206 pppd = runTest ./pppd.nix;
1207 predictable-interface-names = handleTest ./predictable-interface-names.nix { };
1208 pretalx = runTest ./web-apps/pretalx.nix;
1209 prefect = runTest ./prefect.nix;
1210 pretix = runTest ./web-apps/pretix.nix;
1211 printing-socket = runTest {
1212 imports = [ ./printing.nix ];
1213 _module.args.socket = true;
1214 _module.args.listenTcp = true;
1215 };
1216 printing-service = runTest {
1217 imports = [ ./printing.nix ];
1218 _module.args.socket = false;
1219 _module.args.listenTcp = true;
1220 };
1221 printing-socket-notcp = runTest {
1222 imports = [ ./printing.nix ];
1223 _module.args.socket = true;
1224 _module.args.listenTcp = false;
1225 };
1226 printing-service-notcp = runTest {
1227 imports = [ ./printing.nix ];
1228 _module.args.socket = false;
1229 _module.args.listenTcp = false;
1230 };
1231 privatebin = runTest ./privatebin.nix;
1232 privoxy = runTest ./privoxy.nix;
1233 prometheus = import ./prometheus { inherit runTest; };
1234 prometheus-exporters = handleTest ./prometheus-exporters.nix { };
1235 prosody = handleTest ./xmpp/prosody.nix { };
1236 prosody-mysql = handleTest ./xmpp/prosody-mysql.nix { };
1237 proxy = runTest ./proxy.nix;
1238 prowlarr = runTest ./prowlarr.nix;
1239 pt2-clone = runTest ./pt2-clone.nix;
1240 pykms = runTest ./pykms.nix;
1241 public-inbox = runTest ./public-inbox.nix;
1242 pufferpanel = runTest ./pufferpanel.nix;
1243 pulseaudio = discoverTests (import ./pulseaudio.nix);
1244 qbittorrent = runTest ./qbittorrent.nix;
1245 qboot = handleTestOn [ "x86_64-linux" "i686-linux" ] ./qboot.nix { };
1246 qemu-vm-restrictnetwork = handleTest ./qemu-vm-restrictnetwork.nix { };
1247 qemu-vm-volatile-root = runTest ./qemu-vm-volatile-root.nix;
1248 qemu-vm-external-disk-image = runTest ./qemu-vm-external-disk-image.nix;
1249 qemu-vm-store = runTest ./qemu-vm-store.nix;
1250 qgis = handleTest ./qgis.nix { package = pkgs.qgis; };
1251 qgis-ltr = handleTest ./qgis.nix { package = pkgs.qgis-ltr; };
1252 qownnotes = runTest ./qownnotes.nix;
1253 qtile = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./qtile/default.nix;
1254 quake3 = runTest ./quake3.nix;
1255 quicktun = runTest ./quicktun.nix;
1256 quickwit = runTest ./quickwit.nix;
1257 quorum = runTest ./quorum.nix;
1258 rabbitmq = runTest ./rabbitmq.nix;
1259 radarr = runTest ./radarr.nix;
1260 radicale = runTest ./radicale.nix;
1261 radicle = runTest ./radicle.nix;
1262 ragnarwm = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./ragnarwm.nix;
1263 rasdaemon = runTest ./rasdaemon.nix;
1264 rathole = runTest ./rathole.nix;
1265 readarr = runTest ./readarr.nix;
1266 realm = runTest ./realm.nix;
1267 readeck = runTest ./readeck.nix;
1268 rebuilderd = runTest ./rebuilderd.nix;
1269 redis = handleTest ./redis.nix { };
1270 redlib = runTest ./redlib.nix;
1271 redmine = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./redmine.nix { };
1272 renovate = runTest ./renovate.nix;
1273 replace-dependencies = handleTest ./replace-dependencies { };
1274 reposilite = runTest ./reposilite.nix;
1275 restartByActivationScript = runTest ./restart-by-activation-script.nix;
1276 restic-rest-server = runTest ./restic-rest-server.nix;
1277 restic = runTest ./restic.nix;
1278 retroarch = runTest ./retroarch.nix;
1279 rke2 = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./rke2 { };
1280 rkvm = handleTest ./rkvm { };
1281 rmfakecloud = runTest ./rmfakecloud.nix;
1282 robustirc-bridge = runTest ./robustirc-bridge.nix;
1283 rosenpass = runTest ./rosenpass.nix;
1284 roundcube = runTest ./roundcube.nix;
1285 routinator = handleTest ./routinator.nix { };
1286 rshim = handleTest ./rshim.nix { };
1287 rspamd = handleTest ./rspamd.nix { };
1288 rspamd-trainer = runTest ./rspamd-trainer.nix;
1289 rss-bridge = handleTest ./web-apps/rss-bridge { };
1290 rss2email = handleTest ./rss2email.nix { };
1291 rstudio-server = runTest ./rstudio-server.nix;
1292 rsyncd = runTest ./rsyncd.nix;
1293 rsyslogd = handleTest ./rsyslogd.nix { };
1294 rtkit = runTest ./rtkit.nix;
1295 rtorrent = runTest ./rtorrent.nix;
1296 rush = runTest ./rush.nix;
1297 rustls-libssl = runTest ./rustls-libssl.nix;
1298 rxe = runTest ./rxe.nix;
1299 sabnzbd = runTest ./sabnzbd.nix;
1300 samba = runTest ./samba.nix;
1301 samba-wsdd = runTest ./samba-wsdd.nix;
1302 sane = runTest ./sane.nix;
1303 sanoid = runTest ./sanoid.nix;
1304 saunafs = runTest ./saunafs.nix;
1305 scaphandre = runTest ./scaphandre.nix;
1306 schleuder = runTest ./schleuder.nix;
1307 scion-freestanding-deployment = runTest ./scion/freestanding-deployment;
1308 scrutiny = runTest ./scrutiny.nix;
1309 scx = runTest ./scx/default.nix;
1310 sddm = import ./sddm.nix { inherit runTest; };
1311 sdl3 = runTest ./sdl3.nix;
1312 seafile = runTest ./seafile.nix;
1313 searx = runTest ./searx.nix;
1314 seatd = runTest ./seatd.nix;
1315 send = runTest ./send.nix;
1316 service-runner = runTest ./service-runner.nix;
1317 servo = runTest ./servo.nix;
1318 shadps4 = runTest ./shadps4.nix;
1319 sftpgo = runTest ./sftpgo.nix;
1320 sfxr-qt = runTest ./sfxr-qt.nix;
1321 sgt-puzzles = runTest ./sgt-puzzles.nix;
1322 shadow = runTest ./shadow.nix;
1323 shadowsocks = handleTest ./shadowsocks { };
1324 sharkey = runTest ./web-apps/sharkey.nix;
1325 shattered-pixel-dungeon = runTest ./shattered-pixel-dungeon.nix;
1326 shiori = runTest ./shiori.nix;
1327 signal-desktop = runTest ./signal-desktop.nix;
1328 silverbullet = runTest ./silverbullet.nix;
1329 simple = runTest ./simple.nix;
1330 sing-box = runTest ./sing-box.nix;
1331 slimserver = runTest ./slimserver.nix;
1332 slurm = runTest ./slurm.nix;
1333 snmpd = runTest ./snmpd.nix;
1334 smokeping = runTest ./smokeping.nix;
1335 snapcast = runTest ./snapcast.nix;
1336 snapper = runTest ./snapper.nix;
1337 snipe-it = runTest ./web-apps/snipe-it.nix;
1338 soapui = runTest ./soapui.nix;
1339 soft-serve = runTest ./soft-serve.nix;
1340 sogo = runTest ./sogo.nix;
1341 soju = runTest ./soju.nix;
1342 solanum = runTest ./solanum.nix;
1343 sonarr = runTest ./sonarr.nix;
1344 sonic-server = runTest ./sonic-server.nix;
1345 spacecookie = runTest ./spacecookie.nix;
1346 spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark { };
1347 spiped = runTest ./spiped.nix;
1348 sqlite3-to-mysql = runTest ./sqlite3-to-mysql.nix;
1349 squid = runTest ./squid.nix;
1350 sslh = handleTest ./sslh.nix { };
1351 ssh-agent-auth = runTest ./ssh-agent-auth.nix;
1352 ssh-audit = runTest ./ssh-audit.nix;
1353 sssd = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./sssd.nix { };
1354 sssd-ldap = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./sssd-ldap.nix { };
1355 stalwart-mail = runTest ./stalwart/stalwart-mail.nix;
1356 stargazer = runTest ./web-servers/stargazer.nix;
1357 starship = runTest ./starship.nix;
1358 stash = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./stash.nix { };
1359 static-web-server = runTest ./web-servers/static-web-server.nix;
1360 step-ca = handleTestOn [ "x86_64-linux" ] ./step-ca.nix { };
1361 stratis = handleTest ./stratis { };
1362 strongswan-swanctl = runTest ./strongswan-swanctl.nix;
1363 stub-ld = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./stub-ld.nix { };
1364 stunnel = import ./stunnel.nix { inherit runTest; };
1365 sudo = runTest ./sudo.nix;
1366 sudo-rs = runTest ./sudo-rs.nix;
1367 sunshine = runTest ./sunshine.nix;
1368 suricata = runTest ./suricata.nix;
1369 suwayomi-server = handleTest ./suwayomi-server.nix { };
1370 swap-file-btrfs = runTest ./swap-file-btrfs.nix;
1371 swap-partition = runTest ./swap-partition.nix;
1372 swap-random-encryption = runTest ./swap-random-encryption.nix;
1373 swapspace = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./swapspace.nix { };
1374 sway = runTest ./sway.nix;
1375 swayfx = runTest ./swayfx.nix;
1376 switchTest = runTest ./switch-test.nix;
1377 sx = runTest ./sx.nix;
1378 sympa = runTest ./sympa.nix;
1379 syncthing = runTest ./syncthing.nix;
1380 syncthing-no-settings = runTest ./syncthing-no-settings.nix;
1381 syncthing-init = runTest ./syncthing-init.nix;
1382 syncthing-many-devices = runTest ./syncthing-many-devices.nix;
1383 syncthing-folders = runTest ./syncthing-folders.nix;
1384 syncthing-relay = runTest ./syncthing-relay.nix;
1385 sysinit-reactivation = runTest ./sysinit-reactivation.nix;
1386 systemd = runTest ./systemd.nix;
1387 systemd-analyze = runTest ./systemd-analyze.nix;
1388 systemd-binfmt = handleTestOn [ "x86_64-linux" ] ./systemd-binfmt.nix { };
1389 systemd-boot = handleTest ./systemd-boot.nix { };
1390 systemd-bpf = runTest ./systemd-bpf.nix;
1391 systemd-confinement = handleTest ./systemd-confinement { };
1392 systemd-coredump = runTest ./systemd-coredump.nix;
1393 systemd-cryptenroll = runTest ./systemd-cryptenroll.nix;
1394 systemd-credentials-tpm2 = runTest ./systemd-credentials-tpm2.nix;
1395 systemd-escaping = runTest ./systemd-escaping.nix;
1396 systemd-initrd-bridge = runTest ./systemd-initrd-bridge.nix;
1397 systemd-initrd-btrfs-raid = runTest ./systemd-initrd-btrfs-raid.nix;
1398 systemd-initrd-credentials = runTest ./systemd-initrd-credentials.nix;
1399 systemd-initrd-luks-fido2 = runTest ./systemd-initrd-luks-fido2.nix;
1400 systemd-initrd-luks-keyfile = runTest ./systemd-initrd-luks-keyfile.nix;
1401 systemd-initrd-luks-empty-passphrase = runTest {
1402 imports = [ ./initrd-luks-empty-passphrase.nix ];
1403 _module.args.systemdStage1 = true;
1404 };
1405 systemd-initrd-luks-password = runTest ./systemd-initrd-luks-password.nix;
1406 systemd-initrd-luks-tpm2 = runTest ./systemd-initrd-luks-tpm2.nix;
1407 systemd-initrd-luks-unl0kr = runTest ./systemd-initrd-luks-unl0kr.nix;
1408 systemd-initrd-modprobe = runTest ./systemd-initrd-modprobe.nix;
1409 systemd-initrd-networkd = import ./systemd-initrd-networkd.nix { inherit runTest; };
1410 systemd-initrd-networkd-ssh = runTest ./systemd-initrd-networkd-ssh.nix;
1411 systemd-initrd-networkd-openvpn = handleTestOn [
1412 "x86_64-linux"
1413 "i686-linux"
1414 ] ./initrd-network-openvpn { systemdStage1 = true; };
1415 systemd-initrd-shutdown = runTest {
1416 imports = [ ./systemd-shutdown.nix ];
1417 _module.args.systemdStage1 = true;
1418 };
1419 systemd-initrd-simple = runTest ./systemd-initrd-simple.nix;
1420 systemd-initrd-swraid = runTest ./systemd-initrd-swraid.nix;
1421 systemd-initrd-vconsole = runTest ./systemd-initrd-vconsole.nix;
1422 systemd-initrd-vlan = runTest ./systemd-initrd-vlan.nix;
1423 systemd-journal = runTest ./systemd-journal.nix;
1424 systemd-journal-gateway = runTest ./systemd-journal-gateway.nix;
1425 systemd-journal-upload = runTest ./systemd-journal-upload.nix;
1426 systemd-lock-handler = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./systemd-lock-handler.nix;
1427 systemd-machinectl = runTest ./systemd-machinectl.nix;
1428 systemd-networkd = runTest ./systemd-networkd.nix;
1429 systemd-networkd-bridge = runTest ./systemd-networkd-bridge.nix;
1430 systemd-networkd-dhcpserver = runTest ./systemd-networkd-dhcpserver.nix;
1431 systemd-networkd-dhcpserver-static-leases = runTest ./systemd-networkd-dhcpserver-static-leases.nix;
1432 systemd-networkd-ipv6-prefix-delegation =
1433 handleTest ./systemd-networkd-ipv6-prefix-delegation.nix
1434 { };
1435 systemd-networkd-vrf = runTest ./systemd-networkd-vrf.nix;
1436 systemd-no-tainted = runTest ./systemd-no-tainted.nix;
1437 systemd-nspawn = runTest ./systemd-nspawn.nix;
1438 systemd-nspawn-configfile = runTest ./systemd-nspawn-configfile.nix;
1439 systemd-oomd = runTest ./systemd-oomd.nix;
1440 systemd-portabled = runTest ./systemd-portabled.nix;
1441 systemd-repart = handleTest ./systemd-repart.nix { };
1442 systemd-resolved = runTest ./systemd-resolved.nix;
1443 systemd-ssh-proxy = runTest ./systemd-ssh-proxy.nix;
1444 systemd-shutdown = runTest ./systemd-shutdown.nix;
1445 systemd-sysupdate = runTest ./systemd-sysupdate.nix;
1446 systemd-sysusers-mutable = runTest ./systemd-sysusers-mutable.nix;
1447 systemd-sysusers-immutable = runTest ./systemd-sysusers-immutable.nix;
1448 systemd-sysusers-password-option-override-ordering = runTest ./systemd-sysusers-password-option-override-ordering.nix;
1449 systemd-timesyncd = runTest ./systemd-timesyncd.nix;
1450 systemd-timesyncd-nscd-dnssec = runTest ./systemd-timesyncd-nscd-dnssec.nix;
1451 systemd-user-linger = runTest ./systemd-user-linger.nix;
1452 systemd-user-tmpfiles-rules = runTest ./systemd-user-tmpfiles-rules.nix;
1453 systemd-misc = runTest ./systemd-misc.nix;
1454 systemd-userdbd = runTest ./systemd-userdbd.nix;
1455 systemd-homed = runTest ./systemd-homed.nix;
1456 systemtap = handleTest ./systemtap.nix { };
1457 startx = import ./startx.nix { inherit pkgs runTest; };
1458 szurubooru = handleTest ./szurubooru.nix { };
1459 taler = handleTest ./taler { };
1460 tandoor-recipes = runTest ./tandoor-recipes.nix;
1461 tandoor-recipes-script-name = runTest ./tandoor-recipes-script-name.nix;
1462 tang = runTest ./tang.nix;
1463 taskserver = runTest ./taskserver.nix;
1464 taskchampion-sync-server = runTest ./taskchampion-sync-server.nix;
1465 tayga = runTest ./tayga.nix;
1466 technitium-dns-server = runTest ./technitium-dns-server.nix;
1467 teeworlds = runTest ./teeworlds.nix;
1468 telegraf = runTest ./telegraf.nix;
1469 teleport = handleTest ./teleport.nix { };
1470 teleports = runTest ./teleports.nix;
1471 thelounge = handleTest ./thelounge.nix { };
1472 terminal-emulators = handleTest ./terminal-emulators.nix { };
1473 thanos = handleTest ./thanos.nix { };
1474 tiddlywiki = runTest ./tiddlywiki.nix;
1475 tigervnc = handleTest ./tigervnc.nix { };
1476 tika = runTest ./tika.nix;
1477 timezone = runTest ./timezone.nix;
1478 timidity = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./timidity { };
1479 tinc = handleTest ./tinc { };
1480 tinydns = runTest ./tinydns.nix;
1481 tinyproxy = runTest ./tinyproxy.nix;
1482 tinywl = runTest ./tinywl.nix;
1483 tlsrpt = runTest ./tlsrpt.nix;
1484 tmate-ssh-server = runTest ./tmate-ssh-server.nix;
1485 tomcat = runTest ./tomcat.nix;
1486 tor = runTest ./tor.nix;
1487 tpm-ek = handleTest ./tpm-ek { };
1488 traefik = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./traefik.nix;
1489 trafficserver = runTest ./trafficserver.nix;
1490 transfer-sh = runTest ./transfer-sh.nix;
1491 transmission_3 = handleTest ./transmission.nix { transmission = pkgs.transmission_3; };
1492 transmission_4 = handleTest ./transmission.nix { transmission = pkgs.transmission_4; };
1493 # tracee requires bpf
1494 tracee = handleTestOn [ "x86_64-linux" ] ./tracee.nix { };
1495 trezord = runTest ./trezord.nix;
1496 trickster = runTest ./trickster.nix;
1497 trilium-server = runTestOn [ "x86_64-linux" ] ./trilium-server.nix;
1498 tsm-client-gui = runTest ./tsm-client-gui.nix;
1499 ttyd = runTest ./web-servers/ttyd.nix;
1500 tt-rss = runTest ./web-apps/tt-rss.nix;
1501 txredisapi = runTest ./txredisapi.nix;
1502 tuned = runTest ./tuned.nix;
1503 tuptime = runTest ./tuptime.nix;
1504 turbovnc-headless-server = runTest ./turbovnc-headless-server.nix;
1505 turn-rs = runTest ./turn-rs.nix;
1506 tusd = runTest ./tusd/default.nix;
1507 tuxguitar = runTest ./tuxguitar.nix;
1508 twingate = runTest ./twingate.nix;
1509 typesense = runTest ./typesense.nix;
1510 tzupdate = runTest ./tzupdate.nix;
1511 ucarp = runTest ./ucarp.nix;
1512 udisks2 = runTest ./udisks2.nix;
1513 ulogd = runTest ./ulogd/ulogd.nix;
1514 umami = runTest ./web-apps/umami.nix;
1515 umurmur = runTest ./umurmur.nix;
1516 unbound = runTest ./unbound.nix;
1517 unifi = runTest ./unifi.nix;
1518 unit-php = runTest ./web-servers/unit-php.nix;
1519 unit-perl = runTest ./web-servers/unit-perl.nix;
1520 upnp.iptables = handleTest ./upnp.nix { useNftables = false; };
1521 upnp.nftables = handleTest ./upnp.nix { useNftables = true; };
1522 uptermd = runTest ./uptermd.nix;
1523 uptime-kuma = runTest ./uptime-kuma.nix;
1524 urn-timer = runTest ./urn-timer.nix;
1525 usbguard = runTest ./usbguard.nix;
1526 userborn = runTest ./userborn.nix;
1527 userborn-mutable-users = runTest ./userborn-mutable-users.nix;
1528 userborn-immutable-users = runTest ./userborn-immutable-users.nix;
1529 userborn-mutable-etc = runTest ./userborn-mutable-etc.nix;
1530 userborn-immutable-etc = runTest ./userborn-immutable-etc.nix;
1531 user-activation-scripts = runTest ./user-activation-scripts.nix;
1532 user-enable-option = runTest ./user-enable-option.nix;
1533 user-expiry = runTest ./user-expiry.nix;
1534 user-home-mode = runTest ./user-home-mode.nix;
1535 ustreamer = runTest ./ustreamer.nix;
1536 uwsgi = runTest ./uwsgi.nix;
1537 v2ray = runTest ./v2ray.nix;
1538 varnish60 = runTest {
1539 imports = [ ./varnish.nix ];
1540 _module.args.package = pkgs.varnish60;
1541 };
1542 varnish77 = runTest {
1543 imports = [ ./varnish.nix ];
1544 _module.args.package = pkgs.varnish77;
1545 };
1546 vault = runTest ./vault.nix;
1547 vault-agent = runTest ./vault-agent.nix;
1548 vault-dev = runTest ./vault-dev.nix;
1549 vault-postgresql = runTest ./vault-postgresql.nix;
1550 vaultwarden = discoverTests (import ./vaultwarden.nix);
1551 vdirsyncer = runTest ./vdirsyncer.nix;
1552 vector = import ./vector { inherit runTest; };
1553 velocity = runTest ./velocity.nix;
1554 vengi-tools = runTest ./vengi-tools.nix;
1555 victorialogs = runTest ./victorialogs.nix;
1556 victoriametrics = import ./victoriametrics { inherit runTest; };
1557 vikunja = runTest ./vikunja.nix;
1558 virtualbox = handleTestOn [ "x86_64-linux" ] ./virtualbox.nix { };
1559 vm-variant = handleTest ./vm-variant.nix { };
1560 vscode-remote-ssh = handleTestOn [ "x86_64-linux" ] ./vscode-remote-ssh.nix { };
1561 vscodium = import ./vscodium.nix { inherit runTest; };
1562 vsftpd = runTest ./vsftpd.nix;
1563 waagent = runTest ./waagent.nix;
1564 wakapi = runTest ./wakapi.nix;
1565 warzone2100 = runTest ./warzone2100.nix;
1566 wasabibackend = runTest ./wasabibackend.nix;
1567 wastebin = runTest ./wastebin.nix;
1568 watchdogd = runTest ./watchdogd.nix;
1569 webhook = runTest ./webhook.nix;
1570 weblate = runTest ./web-apps/weblate.nix;
1571 whisparr = runTest ./whisparr.nix;
1572 whoami = runTest ./whoami.nix;
1573 whoogle-search = runTest ./whoogle-search.nix;
1574 wiki-js = runTest ./wiki-js.nix;
1575 wine = handleTest ./wine.nix { };
1576 wireguard = import ./wireguard {
1577 inherit pkgs runTest;
1578 inherit (pkgs) lib;
1579 };
1580 wg-access-server = runTest ./wg-access-server.nix;
1581 without-nix = runTest ./without-nix.nix;
1582 wmderland = runTest ./wmderland.nix;
1583 workout-tracker = runTest ./workout-tracker.nix;
1584 wpa_supplicant = import ./wpa_supplicant.nix { inherit pkgs runTest; };
1585 wordpress = runTest ./wordpress.nix;
1586 wrappers = runTest ./wrappers.nix;
1587 writefreely = import ./web-apps/writefreely.nix { inherit pkgs runTest; };
1588 wstunnel = runTest ./wstunnel.nix;
1589 xandikos = runTest ./xandikos.nix;
1590 xautolock = runTest ./xautolock.nix;
1591 xfce = runTest ./xfce.nix;
1592 xfce-wayland = runTest ./xfce-wayland.nix;
1593 xmonad = runTest ./xmonad.nix;
1594 xmonad-xdg-autostart = runTest ./xmonad-xdg-autostart.nix;
1595 xpadneo = runTest ./xpadneo.nix;
1596 xrdp = runTest ./xrdp.nix;
1597 xrdp-with-audio-pulseaudio = runTest ./xrdp-with-audio-pulseaudio.nix;
1598 xscreensaver = runTest ./xscreensaver.nix;
1599 xss-lock = runTest ./xss-lock.nix;
1600 xterm = runTest ./xterm.nix;
1601 xxh = runTest ./xxh.nix;
1602 yarr = runTest ./yarr.nix;
1603 ydotool = import ./ydotool.nix {
1604 inherit (pkgs) lib;
1605 inherit runTest;
1606 };
1607 yggdrasil = runTest ./yggdrasil.nix;
1608 your_spotify = runTest ./your_spotify.nix;
1609 zammad = runTest ./zammad.nix;
1610 zenohd = runTest ./zenohd.nix;
1611 zeronet-conservancy = runTest ./zeronet-conservancy.nix;
1612 zfs = handleTest ./zfs.nix { };
1613 zigbee2mqtt_1 = runTest {
1614 imports = [ ./zigbee2mqtt.nix ];
1615 _module.args.package = pkgs.zigbee2mqtt_1;
1616 };
1617 zigbee2mqtt_2 = runTest {
1618 imports = [ ./zigbee2mqtt.nix ];
1619 _module.args.package = pkgs.zigbee2mqtt_2;
1620 };
1621 zipline = runTest ./zipline.nix;
1622 zoneminder = runTest ./zoneminder.nix;
1623 zookeeper = runTest ./zookeeper.nix;
1624 zoom-us = runTest ./zoom-us.nix;
1625 zram-generator = runTest ./zram-generator.nix;
1626 zrepl = runTest ./zrepl.nix;
1627 zwave-js = runTest ./zwave-js.nix;
1628 zwave-js-ui = runTest ./zwave-js-ui.nix;
1629}