Commit Graph

4354 Commits

Author SHA1 Message Date
polykernel
4a9d9928dc nixos/nix-daemon: use structural settings
The `nix.*` options, apart from options for setting up the
daemon itself, currently provide a lot of setting mappings
for the Nix daemon configuration. The scope of the mapping yields
convience, but the line where an option is considered essential
is blurry. For instance, the `extra-sandbox-paths` mapping is
provided without its primary consumer, and the corresponding
`sandbox-paths` option is also not mapped.

The current system increases the maintenance burden as maintainers have to
closely follow upstream changes. In this case, there are two state versions
of Nix which have to be maintained collectively, with different options
avaliable.

This commit aims to following the standard outlined in RFC 42[1] to
implement a structural setting pattern. The Nix configuration is encoded
at its core as key-value pairs which maps nicely to attribute sets, making
it feasible to express in the Nix language itself. Some existing options are
kept such as `buildMachines` and `registry` which present a simplified interface
to managing the respective settings. The interface is exposed as `nix.settings`.

Legacy configurations are mapped to their corresponding options under `nix.settings`
for backwards compatibility.

Various options settings in other nixos modules and relevant tests have been
updated to use structural setting for consistency.

The generation and validation of the configration file has been modified to
use `writeTextFile` instead of `runCommand` for clarity. Note that validation
is now mandatory as strict checking of options has been pushed down to the
derivation level due to freeformType consuming unmatched options. Furthermore,
validation can not occur when cross-compiling due to current limitations.

A new option `publicHostKey` was added to the `buildMachines`
submodule corresponding to the base64 encoded public host key settings
exposed in the builder syntax. The build machine generation was subsequently
rewritten to use `concatStringsSep` for better performance by grouping
concatenations.

[1] - https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
2022-01-26 21:04:50 -05:00
Martin Weinelt
bcbeaa003b
Merge pull request #156205 from B4dM4n/nixos-tests-teeworlds 2022-01-26 21:13:37 +01:00
Pascal Bach
5374a4a005
Merge pull request #156220 from B4dM4n/nixos-tests-geth
nixos/tests/geth: fix api check
2022-01-26 13:31:17 +01:00
Martin Weinelt
89e18a19cd
Merge pull request #156738 from mweinelt/hass-ping 2022-01-26 00:08:47 +01:00
Martin Weinelt
d9ad2b40f1
nixos/tests/home-assistant: test ping via wake_on_lan component
Let the home-assistant instance linger around for 30s so it can run
regular jobs and trigger more code paths that could result in errors.
2022-01-25 18:30:45 +01:00
Fabian Möller
520383dd0b
nixos/tests/bird: init 2022-01-25 15:15:52 +01:00
Anderson Torres
48743a4f17
Merge pull request #156571 from AndersonTorres/new-misc
mpc: install Bash shell completion (and more)
2022-01-25 10:20:29 -03:00
Jacek Galowicz
ac44b27bab
Merge pull request #153077 from Madouura/dev/bcachefs-test
nixos/tests/bcachefs: use multi-disk
2022-01-25 11:53:44 +01:00
AndersonTorres
a2658f4633 nixos/tests/mpd.nix: mpc_cli -> mpc-cli 2022-01-24 23:24:06 -03:00
Bernardo Meurer
16f77e1412
Merge pull request #153932 from jmc-figueira/wine-wayland
wine-wayland: added derivation for building the experimental Wayland driver for Wine
2022-01-24 20:52:24 +00:00
Guillaume Girol
1b1fe46bb1
Merge pull request #156314 from B4dM4n/nixos-tests-missing
nixos/tests: add missing tests
2022-01-24 19:32:15 +00:00
Patrick Hilhorst
746c4bdb22
Merge pull request #155904 from houstdav000/patch/quorum_module_test 2022-01-24 15:17:08 +01:00
Patrick Hilhorst
4ed7bed68d
Merge branch 'master' into nixos-tests-missing 2022-01-24 12:05:30 +01:00
Scott Worley
3f70c90d7a nixos/tests/installer: Fix race in bcache test
It looks like "make-bcache" also registers the devices, so the separate
registration afterwords is unnecessary.

Previously, the separate registration right afterwords didn't cause
a problem, presumably because it won the race with make-bcache's
registration.  After 1640359f33 slightly
changed the timing of command execution in tests, the separate
registration often fails with the error message "device already
registered", stopping the test.
2022-01-24 10:58:23 +01:00
João Figueira
ae10fad86b
Merge branch 'master' into wine-wayland 2022-01-24 01:33:13 +00:00
Sandro
983a352d8f
Merge pull request #143687 from Synthetica9/handbrake-installcheck 2022-01-24 01:06:37 +01:00
Michael Weiss
a3d847c3bd
Merge pull request #151902 from primeos/sway
sway: 1.6.1 -> 1.7
2022-01-23 21:46:19 +01:00
Guillaume Girol
64a18f1a8e
Merge pull request #152877 from cleeyv/jitsi-update
Update of all Jitsi Meet components
2022-01-23 20:44:55 +00:00
Michael Weiss
2e719d1cda
sway: 1.6.1 -> 1.7
Release notes: https://github.com/swaywm/sway/releases/tag/1.7

Notable (backward incompatible) changes:
- The default terminal changed from Alacritty to foot

Known issues:
- `swaynag` will crash when Sway 1.6.1 is still running while the Nix
  package (and thus `swaynag`) is already updated to version 1.7.
- The experimental Ozone/Wayland support of Electron apps will be broken
  for a while. Electron version 17 should work but the Chromium fixes
  haven't yet been backported to Electron version 16.

NixOS module: programs.sway.extraPackages: The "alacritty" package was
replaced with "foot".

VM test: We switched from the OpenGL ES 2.0 renderer to Pixman. The
terminal was also changed to foot but Alacritty is still used for the
XWayland test (since foot doesn't support X11).

Co-authored-by: Patrick Hilhorst <git@hilhorst.be>
2022-01-23 19:21:37 +01:00
Patrick Hilhorst
8b86f9816d
handbrake: convert nixos test to runCommand 2022-01-23 16:42:27 +01:00
Jonas Heinrich
c95e816c65
nixos/wordpress: Drop old deprecated interface (#152674) 2022-01-23 23:17:01 +09:00
Fabian Möller
fd6b95db22
nixos/tests: add missing tests
Some tests from the `nixos/tests` folder were missing in the `all-tests.nix`
file. This meant they couldn't be run from the `nixosTests` attribute
set and therefore not be linked to their packages.
2022-01-23 12:11:05 +01:00
Jonathan Ringer
4cf0848fc8 nixosTests.boot-stage1: fix kernel build with 5.15 2022-01-22 17:45:39 -08:00
Fabian Möller
af628f46a1
nixos/tests/geth: fix api check
Since https://github.com/ethereum/go-ethereum/pull/21686 the `chainId`
API returns an error when the chain is not synced. So use
`blockNumber` as a basic function test.
2022-01-22 22:07:14 +01:00
ajs124
ef5d714f8c nixos/tests/mysql-backup: test multiple mariadb versions 2022-01-22 02:27:05 +01:00
ajs124
37ba30c494 nixos/tests/mysql-autobackup: test multiple mariadb versions 2022-01-22 02:27:05 +01:00
ajs124
a2ec554e83 nixos/tests/mysql-replication: test multiple mariadb versions 2022-01-22 02:27:05 +01:00
ajs124
65dfe147b7 nixos/tests/mariadb-galera: test multiple mariadb versions
merge both tests and completely refactor
2022-01-22 02:27:04 +01:00
ajs124
38998112c1 nixos/tests/mysql: test multiple mariadb versions 2022-01-22 02:27:04 +01:00
Fabian Möller
28b3e689bf
nixos/tests/teeworlds: fix blocking execute calls 2022-01-21 12:05:58 +01:00
Lassulus
0defcc063b
Merge pull request #155894 from ivanbrennan/xmonad-tests-remove-sleeps
nixosTests.xmonad: avoid sleep()
2022-01-21 11:33:03 +01:00
Michele Guerini Rocco
3e5848ef15
Merge pull request #144590 from Luflosi/networkd-routes
nixos/networkd: Add routes from interfaces to [Route] section of .network file
2022-01-21 00:33:50 +01:00
Jan Tojnar
5ac7a55c73
Merge pull request #155862 from ncfavier/revert-150980-gdm-test
nixosTests.gnome: Revert "add autologin delay to catch GDM failures"
2022-01-20 21:38:21 +01:00
Luflosi
ca58bd0a50
nixos/networkd: Add routes from interfaces to [Route] section of .network file
Closes https://github.com/NixOS/nixpkgs/pull/93635.
2022-01-20 20:14:55 +01:00
Patrick Hilhorst
ffccc4c558
nixosTests.quorum: use succeed everywhere 2022-01-20 19:58:42 +01:00
Patrick Hilhorst
a7c72013c8
nixosTests.quorum: use less opaque strings and more nix objects 2022-01-20 19:58:19 +01:00
David Houston
1bbd418013
nixos/quorum: Patch test to not run indefinitely
As written, the nixos/quorum module will simply run forever, and has
been timing out in Hydra. Implement a fix for such by changing the final
statement from a wait_until_succeeds to simply succeed, forcing the test
to succeed or fail instead of run indefinitely.
2022-01-20 11:35:23 -05:00
ivanbrennan
8a1d379992 nixosTests.xmonad: add ivanbrennan to maintainers 2022-01-20 11:17:03 -05:00
ivanbrennan
51ff3add1a nixosTests.xmonad: avoid sleep()
Replace sleep() calls where possible, using wait_for_* methods. This
should provide more robustness in cases where tests are running on a
congested system.
2022-01-20 09:58:05 -05:00
Jonas Heinrich
80475b46f5
nixos/invoiceplane: init module and package at 1.5.11 (#146909) 2022-01-20 22:45:35 +09:00
Robert Hensing
98ae5a9298
Merge pull request #153211 from hercules-ci/minimal-nixos
Add minimal NixOS entrypoint
2022-01-20 14:42:46 +01:00
Naïm Favier
e869dc0ce0
Revert "nixosTests.gnome: add autologin delay to catch GDM failures" 2022-01-20 13:04:47 +01:00
Lassulus
634bcb85e2
Merge pull request #155478 from ivanbrennan/xmonad-enable-configured-recompile
XMonad: enable configured recompile
2022-01-20 11:27:13 +01:00
ivanbrennan
44af29e6f5 nixosTests.xmonad: test configured recompilation
Add test coverage for the enableConfiguredRecompile option, checking
that we can compile and exec a new xmonad from a user's local config, as
well as restart the originally configured xmonad.

As I needed a reliable way to wait for recompilation to finish before
proceeding with subsequent test steps, I adjusted the startup behavior
to write a file ("oldXMonad" or "newXMonad") to /etc upon startup, and
replaced some "sleep" calls with "wait_for_file".
2022-01-20 01:48:05 -05:00
Sandro
67f0e333d6
Merge pull request #142706 from euank/k3s-tests-update 2022-01-20 03:22:26 +01:00
Michele Guerini Rocco
2da332aa2d
Merge pull request #155535 from risicle/ris-libreswan-4.6
libreswan: 4.5 -> 4.6
2022-01-19 22:42:49 +01:00
Pascal Bach
e34a112c18
Merge pull request #155510 from yayayayaka/fix-nextcloud-test
nixos/nextcloud: Fix nixos test on master
2022-01-19 21:48:43 +01:00
Robert Hensing
f22ffbc14e
Merge pull request #155598 from hercules-ci/cleanup-nixos-test-lorri
nixos/tests/lorri: Remove redundant stdout redirect
2022-01-19 13:25:28 +01:00
Sandro
42cbcca501
Merge pull request #125474 from jojosch/dnsdist-1.6.0 2022-01-19 11:55:12 +01:00
rnhmjoj
741a585052
nixos/tests/libreswan: fixup 739c51ae4e 2022-01-19 11:43:01 +01:00