Commit Graph

41126 Commits

Author SHA1 Message Date
TNE
4582b524ba
pgadmin: Use systemd's LoadCredential for password files (#312569)
* pgadmin: Use systemd's LoadCredential for password files

* Update nixos/modules/services/admin/pgadmin.nix

---------

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2024-05-19 00:16:00 +02:00
Pol Dellaiera
aa5d9c30f8
Merge pull request #309236 from ElvishJerricco/sd-s1-fix-xfs-fsck
nixos/systemd-stage-1: Fix fsck.xfs needing bash's sh symlink
2024-05-18 23:57:04 +02:00
Jonathan Davies
52743c88f5
nixos/step-ca: Added test case for finding package version in journald logs 2024-05-18 22:24:04 +01:00
Jack Wilsdon
391dfcf9af nixos/steam: fix maintainers 2024-05-18 21:50:10 +01:00
JJ
d9443cb26b
plasma6: move ffmpegthumbs to optional, clarify comments 2024-05-18 13:41:50 -07:00
Sandro
c21d10ba30
Merge pull request #263375 from lorenzleutgeb/benchexec
benchexec: init at 3.21
2024-05-18 15:52:30 +02:00
Jonathan Davies
d01d430342
nixos/step-ca: Added Caddy example to integration tests. 2024-05-18 10:43:23 +01:00
Bjørn Forsman
3983b7677d nixos/rl-2405: fix typo in chromium DRM change entry
stanging -> standing

Fixes: e4f185cfaf ("nixos/rl-2405: mention chromium DRM change")
2024-05-18 10:58:12 +02:00
crayor1
970f689a49
nixos/doc: fix a typo in option-declarations.section.md (#304733)
Fix a typo
2024-05-18 13:06:50 +08:00
Aleksana
419fffedfb
Merge pull request #295846 from linsui/yazi
nixos/yazi: support plugins and flavors
2024-05-18 12:44:27 +08:00
Fabián Heredia Montiel
d6801d9d85
Merge pull request #308833 from whentze/linux-hardened-update
Linux Hardened Kernels 2024-05-03
2024-05-17 22:03:14 -06:00
Lorenz Leutgeb
9f2f6359bb nixos/doc/rl-2405: mention BenchExec and friends 2024-05-17 21:24:06 +02:00
Lorenz Leutgeb
88d736df69 nixos/benchexec: init 2024-05-17 21:24:05 +02:00
Lorenz Leutgeb
1dd4d2283e nixos/pqos-wrapper: init 2024-05-17 21:24:05 +02:00
Lorenz Leutgeb
c250e8ee94 nixos/cpu-energy-meter: init 2024-05-17 21:21:50 +02:00
Moraxyc
da28a5ff2a
nixos/artalk: init module 2024-05-18 02:15:33 +08:00
Aleksana
9c4874ae8c
Merge pull request #307011 from acid-bong/qtile-final
nixos/qtile: add finalPackage option
2024-05-18 01:55:08 +08:00
OPNA2608
9c5ceeb61e nixos/tests/lomiri: Use ydotool for mouse control
Certain elements are not reachable via the keyboard, and some keyboard-centric methods for testing elements have flaky downsides.
2024-05-17 19:52:56 +02:00
linsui
ced6734812 yazi: add config files to wrapper 2024-05-18 01:52:43 +08:00
linsui
4826bc455d nixos/yazi: support plugins and flavors 2024-05-18 01:52:34 +08:00
Shawn8901
ef5142ec5b nixos/sddm: dont generate X11 node if disabled 2024-05-17 19:27:32 +02:00
Wanja Hentze
62bfa65656 linux/hardened/patches/6.8: init at 6.8.9-hardened1 2024-05-17 18:09:01 +02:00
tomberek
2c55e033f2
Merge pull request #306909 from mrkline/snapper-timer
nixos/snapper: Add persistent option to config
2024-05-17 10:01:04 -05:00
Lin Jian
805191d9fb
Merge pull request #309455 from c-leri/nixos/fix/thermald-adaptative
nixos/thermald: improve doc and code about configFile and adaptive
2024-05-17 21:15:43 +08:00
nikstur
203f99022a
Merge pull request #312212 from nikstur/os-release-uapi-version-format
nixos/version: support UAPI Version Format in IMAGE_VERSION field
2024-05-17 10:54:17 +02:00
K900
5233d62dcc
Merge pull request #312292 from Naxdy/work/kdeconnect-module-sshfs
nixos/kdeconnect: don't install `sshfs`
2024-05-17 07:23:57 +03:00
Pol Dellaiera
7a338b0feb
Merge pull request #312294 from drupol/erratum-fix-pr-311999
nixos/loki: use `cfg.package`
2024-05-16 23:08:21 +02:00
Pol Dellaiera
3da72dcbc5
Merge pull request #312249 from dotlambda/nextcloud
nixos/nextcloud: correct latest version
2024-05-16 22:27:52 +02:00
Pol Dellaiera
ae48735c53
nixos/loki: use cfg.package 2024-05-16 22:11:19 +02:00
Pol Dellaiera
84d184a31e
Merge pull request #311999 from jpds/loki-verify-config
nixos/loki: Implement configuration verification
2024-05-16 21:57:29 +02:00
Naxdy
a765cd4a70
nixos/kdeconnect: don't install sshfs
see https://github.com/NixOS/nixpkgs/pull/311269 - it's now hardcoded
2024-05-16 21:48:34 +02:00
Jade Lovelace
007f0f90aa
Merge pull request #311574 from lf-/jade/fix-nixos-installtest-nixos-option
nixosTests.installer: test nixos-option anew
2024-05-16 10:00:23 -07:00
Maximilian Bosch
d5f39744c8
Merge pull request #309953 from flyingcircusio/PL-132430-percona-innovation
percona: restructure releases according to upstream release policy
2024-05-16 16:35:08 +00:00
Robert Schütz
dce84c46d7 nixos/nextcloud: correct latest version 2024-05-16 08:53:01 -07:00
celeri
12e2e82939
nixos/thermald: improve doc and code about configFile and adaptive 2024-05-16 11:41:56 -04:00
Pol Dellaiera
2ca9ba37bc
Merge pull request #311299 from thenhnn/filesender-packaging-php-format
pkgs/formats: add generator for PHP config files
2024-05-16 16:45:26 +02:00
Ilan Joselevich
49ba95b9a3
Merge pull request #310115 from Nanotwerp/virt-manager-dconf
nixos/virt-manager: use `dconf` to autoconnect `QEMU/KVM`
2024-05-16 16:47:23 +03:00
nikstur
ff776981fe nixos/version: support UAPI Version Format in IMAGE_VERSION field
Add '~' and '^' to the supported characters for the field. These
characters are needed to be able to define all versions that are
compatible with the UAPI Version Format specification.

One example where this is used is the `%A` flag in systemd.unit. If we
don't allow these other characters, we for example cannot declare a
pre-relase version.

systemd, as far as I can tell, doesn't enforce any restrictions on the
os-release fields.

https://uapi-group.org/specifications/specs/version_format_specification/
2024-05-16 15:37:41 +02:00
Weijia Wang
b6f403758f
Merge pull request #312169 from B4dM4n/remove-alias-usage
treewide: Remove usage of pkgs.{system,hostPlatform} aliases
2024-05-16 15:25:10 +02:00
Aleksana
7d94720e49
Merge pull request #312181 from Moraxyc/fix-atop-mkSystemd
nixos/atop: fix mkSystemd
2024-05-16 20:54:52 +08:00
Aleksana
be3aee43dd
Merge pull request #311397 from Raroh73/fix/services.llama-cpp
nixos/llama-cpp: fix rocm support
2024-05-16 20:26:28 +08:00
Moraxyc
e704b94191
nixos/atop: fix mkSystemd 2024-05-16 19:53:25 +08:00
nhnn
083f211783
pkgs: add PHP to formats.nix 2024-05-16 13:07:34 +03:00
Fabian Möller
da68f358bc
treewide: Remove usage of pkgs.{system,hostPlatform} aliases
These aliases should not be used inside nixpkgs and are only there for backward
compatibility.
2024-05-16 11:48:32 +02:00
Aleksana
770a6c6cf2
Merge pull request #312144 from jcaesar/pr-5
nixos/firefox: fix use of listToAttrs
2024-05-16 16:11:37 +08:00
Julius Michaelis
f303b593a2 nixos/firefox: fix use of listToAttrs
Broken in #304773
Fixes #312098
2024-05-16 16:15:52 +09:00
Franz Pletz
389408695e
Merge pull request #311479 from fpletz/nixos-test/mediamtx-sleep
nixos/tests/mediamtx: make more robust, reformat
2024-05-16 07:57:51 +02:00
Yt
c8a9664fac
Merge pull request #311790 from jpds/vector-test-metrics
nixos/vector: Added Prometheus exporter integration to tests
2024-05-15 23:21:48 +00:00
Jade Lovelace
f05ecf16e6
Merge pull request #250638 from benley/keycloak-systemd-notify
nixos/keycloak: Add systemd startup notification
2024-05-15 14:13:20 -07:00
Benjamin Staffin
b45bb628ea nixos/oauth2_proxy: Conditionally depend on keycloak.service
Co-Authored-By: Jade Lovelace <software@lfcode.ca>
2024-05-15 14:10:26 -07:00
Martin Weinelt
10955966a5
Merge pull request #311916 from wegank/pretalx-plugins-init
pretalx: add a few plugins
2024-05-15 21:41:03 +02:00
Jonathan Davies
8d7f3c9dbd
nixos/loki: Implement configuration verification
Fixes: #293088
2024-05-15 18:12:10 +01:00
Marie Ramlow
6478f80b17 nixos/rosenpass: move preStart into script to workaround systemd bug
Because of a systemd bug, using both ExecStartPre and ExecStart will fill up the systemd credentials directory,
which leads to rosenpass failing to start.
This will be fixed in systemd v256, see https://github.com/systemd/systemd/pull/31202

Related issue: https://github.com/NixOS/nixpkgs/issues/258371
2024-05-15 17:52:45 +02:00
Raghav Sood
ec2f5e1cb9
Merge pull request #309615 from mkienitz/fix/vsftpd-assertion
Fix/vsftpd assertion
2024-05-15 23:09:28 +08:00
Pol Dellaiera
4275fc290a
Merge pull request #293817 from PatrickDaG/your_spotify
nixos/your_spotify: init at 1.10.1
2024-05-15 16:45:23 +02:00
Martin Weinelt
29fd61c784
nixos/tests/pretalx: test pages plugin install 2024-05-15 16:27:25 +02:00
Martin Weinelt
f4f9f96037
nixos/pretalx: add plugins option
Allow loading pretalx plugins in a declarative manner. They are passed
into the package dependencies at build time, so that collectstatic and
other django maintenance functions account for them, since we cannot
regenerate assets at runtime anyway.
2024-05-15 16:24:24 +02:00
Jonas Heinrich
b3fcfcfabd
Merge pull request #311766 from pacien/stalwart-0-6-0-module-fixes
nixos/stalwart-mail: module and test fixes for v0.6.0
2024-05-15 14:04:30 +02:00
Jonathan Davies
c97e5f8d17
nixos/vector: Added Prometheus exporter/Vector logs integration to tests. 2024-05-15 12:10:26 +01:00
Florian Klink
ea6604c03a nixosTests.garage: migrate replicationMode to string
Do the same config change steps the assertion asks users to.
2024-05-15 11:50:11 +02:00
Florian Klink
24ace2abee nixos/garage: assert that replication_mode is string
The explicit `replication_mode` option in `services.garage.settings`
has been removed and is now handled by the freeform settings in order
to allow it being completely absent (for Garage 1.x).
That module option previously `toString`'ed the value it's configured
with, which is now no longer possible.
Warn the user if they're still using a non-string here.
2024-05-15 11:48:25 +02:00
Florian Klink
1284b4f7fa Reapply "nixos/garage: drop replication_mode setting"
This reverts commit 67cf6279d0.

Reintroduce the option, we'll fix it in followup commits.
2024-05-15 11:39:21 +02:00
teutat3s
948c550669
nixosTests.garage: run test for garage_1_x
Add reminder comment to add new versions to tests
2024-05-15 11:09:41 +02:00
Weijia Wang
88b7d613f5
Merge pull request #311689 from teutat3s/zhf/virtualbox-tests
nixosTests.virtualbox: fix tests, remove minimal profile
2024-05-15 10:56:39 +02:00
Yureka
67cf6279d0
Revert "nixos/garage: drop replication_mode setting" 2024-05-15 09:51:48 +02:00
Aleksana
b30832e018
Merge pull request #311814 from donovanglover/fix/enableOCR-docs
nixos/testing: fix markdown link in enableOCR description
2024-05-15 15:32:09 +08:00
Pol Dellaiera
ec2ac8ec82
Merge pull request #275485 from Ex-32/binfmt-emulatedsystems-fix
nixos/binfmt: added assertion to prevent emulation of current system
2024-05-15 08:58:12 +02:00
Donovan Glover
4afa9444ae
nixos/testing: fix markdown link in enableOCR description 2024-05-14 21:22:09 -04:00
euxane
aa107a60c4 nixos/stalwart-mail: fix vm test for v0.6.0
This migrates the syntax for a few configuration values,
which now need to be quoted strings for user values.

This also disables the use of a public resolver,
which is not accessible in the sandbox.
2024-05-15 00:45:21 +02:00
euxane
f4c5060ecc nixos/stalwart-mail: set default lookup storage
This configuration key is now required.
The shared default DB is a good default.
2024-05-15 00:42:08 +02:00
Pol Dellaiera
8821e81e02
Merge pull request #311307 from michaelpj/mpj/remove-some-maintennce
Remove myself from some packages I no longer use
2024-05-14 21:23:12 +02:00
Benjamin Staffin
64c94bd40a nixos/keycloak: Add systemd startup notification
This makes it possible for other systemd units to depend on
keycloak.service using `after` and `wants` relationships, and systemd
will actually wait for Keycloak to finish its initialization before
starting any dependent units.  This can be important for services like
oauth2-proxy, which (when configured to use Keycloak as its auth
provider) will fail to start until Keycloak's
`.well-known/openid-configuration` endpoint is available.
2024-05-14 14:26:35 -04:00
teutat3s
bb99280c9c
nixosTests.virtualbox: remove minimal profile
This fixes build failures with the wayland dependency:
Quoting @nevivurn:
"guestadditions->...->wayland, but the test config pulls in
modules/profiles/minimal.nix which disables xlibs and thus it won't build"

Co-authored-by: Yongun Seong <nevivurn@nevi.dev>
2024-05-14 18:14:45 +02:00
Nick Cao
ff610bbb02
Merge pull request #311376 from SuperSandro2000/display-managers-misc
nixos/display.managers: use cfg where possible
2024-05-14 09:36:02 -04:00
Aleksana
39458d9055
Merge pull request #300564 from Cynerd/bcg-fix
nixos/bcg: fix usage without environment files
2024-05-14 21:27:59 +08:00
Tom Fitzhenry
54ba3732f1 hostapd: add "wpa2-sha1" to authentication.mode enum
This is required for some Kindles (e.g. Kindle Paperwhite 7th Gen),
and printers (e.g. Brother MFC-J4440DW).

OpenWRT typically adds "wpa_key_mgmt = WPA-PSK", per 3f28c422ba/package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh (L44-L71)
2024-05-14 19:28:15 +10:00
Jade Lovelace
099671c419 nixosTests.installer: test nixos-option anew
Someone put a FIXME in here. The FIXME looked really old. I uncommented
out the thing and it still passes. Calling this fixed.
2024-05-13 23:34:03 -07:00
gileri
59ba3dd518
go-ethereum: 1.13.5 -> 1.14.3 2024-05-14 00:13:22 +02:00
Asad Saeeduddin
ebbd29d695
nixos/doc: clarify command template parameter
squash-reworded from #284844
2024-05-14 00:05:24 +02:00
Guillaume Girol
673f00ad7b
Merge pull request #310199 from symphorien/borg_ignore_warnings_master
nixos/borgbackup: add an option to ignore warnings
2024-05-13 23:53:18 +02:00
Franz Pletz
8e7ebfe4f5
nixos/tests/mediamtx: make more robust, reformat
We're sleeping now until the timeout of the receive service is reached
to check for its state since it might fail until the stream is
available.
2024-05-13 23:47:34 +02:00
Franz Pletz
fc96e711c3
Merge pull request #310823 from WilliButz/systemd-initrd/fix-aarch64-modprobe-test 2024-05-13 23:03:39 +02:00
Weijia Wang
1fbd31f24d
Merge pull request #311293 from diogotcorreia/pgvecto.rs-broken-pg12-pg13
pgvecto-rs: mark as broken in pg12 and pg13
2024-05-13 23:02:50 +02:00
Patrick
05b36f060d
nixosTests.your_spotify: init 2024-05-13 22:12:17 +02:00
Patrick
77a6460e74
nixos/your_spotify: init 2024-05-13 22:10:13 +02:00
Yongun Seong
7715ce37e7 nixosTests.fcitx5: make test less flaky 2024-05-13 19:06:22 +02:00
Raroh73
1f2c3812d4
nixos/llama-cpp: fix rocm support 2024-05-13 17:01:33 +02:00
K900
37c6c6315b
Merge pull request #310786 from K900/greetd-plymouth
nixos/greetd: add option to make greetd not stop Plymouth early
2024-05-13 17:41:29 +03:00
Sandro Jäckel
4b1e83e97c
nixos/display.managers: use cfg where possible 2024-05-13 15:59:28 +02:00
Sandro
2616ccbcac
Merge pull request #310926 from Gerg-L/display-manager 2024-05-13 15:59:17 +02:00
Cosima Neidahl
068c0e3c95
Merge pull request #303745 from quantenzitrone/ydotool
ydotool: refactor ; nixos/ydotool: init module & nixosTest
2024-05-13 15:49:49 +02:00
OPNA2608
8621da969e doc/release-notes: add finishing dot for ydotool entry 2024-05-13 15:46:00 +02:00
Florian Klink
2a2f796888
Merge pull request #308801 from jmbaur/switch-to-configuration-rs
nixos/switch-to-configuration: add new implementation
2024-05-13 15:39:09 +02:00
Aleksana
5e1830b877
Merge pull request #311318 from toadjaune/doc-fix-download-links
doc: Fix nixos download page links
2024-05-13 19:54:43 +08:00
Christina Rust
31a5a35b7e
Merge pull request #305286 from cafkafk/devpi-server-init
nixos/devpi-server: init
2024-05-13 13:14:51 +02:00
Florian Klink
c8b2579f1f
Merge pull request #309643 from flokli/garage-replication_mode
nixos/garage: drop replication_mode setting
2024-05-13 12:59:23 +02:00
Arnaud Venturi
a01a9a3f5f doc: Fix nixos download page links
Those two links are currently broken, update them to point to the
up-to-date nixos download page.
2024-05-13 12:54:22 +02:00
Pavol Rusnak
83fc4bfacc
Merge pull request #310141 from MrMebelMan/init/keto 2024-05-13 12:40:58 +02:00
Quantenzitrone
483392f209
nixosTests.ydotool: init
Co-authored-by: Cosima Neidahl <opna2608@protonmail.com>
2024-05-13 12:22:06 +02:00
Quantenzitrone
73d91cdd70
nixos/ydotool: init module
Co-authored-by: Cosima Neidahl <opna2608@protonmail.com>
2024-05-13 12:21:57 +02:00
Christina Sørensen
52e0ad744d
nixos/devpi-server: init
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2024-05-13 12:14:44 +02:00
K900
446ec6d9ab
Merge pull request #310350 from oddlama/fix-oauth2-proxy
nixos/oauth2-proxy: fix invalid comparison between list and attrset
2024-05-13 13:06:41 +03:00
Michael Peyton Jones
cd981c1cc6
tzupdate: remove michaelpj as maintainer 2024-05-13 10:57:00 +01:00
Michael Peyton Jones
bf5bec1538
arbtt: remove michaeplj as maintainer 2024-05-13 10:56:59 +01:00
Vladyslav Burzakovskyy
5a37ed1bc0 keto: init at 0.13.0-alpha.0 2024-05-13 11:41:49 +02:00
Franz Pletz
5f8fffdec4
Merge pull request #310819 from ilya-epifanov/thermald-config-fix
thermald: fixed handling of an external config
2024-05-13 11:34:12 +02:00
Jörg Thalheim
ba37bf5f3d
Merge pull request #307076 from flokli/caddy-reload
nixos/caddy: don't set ExecReload if enableReload is disabled
2024-05-13 10:45:28 +02:00
Diogo Correia
101e8a0a2b
pgvecto-rs: mark as broken in pg12 and pg13
Upstream (accidentally) broke support for postgresql 12 and 13 on
v0.2.1 by changing the signature of the `from_datum` function[^1].
This went unnoticed since the release branch `0.2` did not have CI.
Furthermore, they are removing support for these versions of postgresql
on v0.3.0[^2].

[^1]: 97e861d51d
[^2]: https://github.com/tensorchord/pgvecto.rs/issues/343
2024-05-13 09:25:06 +01:00
Florian Klink
2ec060b94e nixos/zsh: remove lib.lib
This fails my NixOS configuration:

```
       error: attribute 'lib' missing

       at /nix/store/ninrqc3pblnmqgh489cbr9rq5pijcpd6-nixpkgs-src/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix:90:7:

           89|     programs.zsh.interactiveShellInit =
           90|       lib.lib.mkAfter (lib.concatStringsSep "\n" ([
             |       ^
           91|         "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
```
2024-05-13 10:21:47 +02:00
Martin Weinelt
9731a32d81
Merge pull request #309115 from NyCodeGHG/nixos/miniflux-sd-notify
nixos/miniflux: use systemd notify and watchdog
2024-05-13 10:12:37 +02:00
Yureka
aa64bb27ba nixos/garage: add assertion for replication_factor 2024-05-13 10:03:21 +02:00
Martin Weinelt
5a9b28e88b
Merge pull request #311197 from endocrimes/dani/fish-boogaloo
nixos/fish: Fix more lib references
2024-05-13 01:22:34 +02:00
Danielle Lancashire
d0e35cbd3e
nixos/fish: Fix more lib references 2024-05-13 01:18:49 +02:00
Florian Klink
aff6a121a3
Merge pull request #311039 from DavHau/pr_smokeping
nixos/smokeping: use nginx instead of thttpd
2024-05-13 01:11:59 +02:00
Danielle Lancashire
f26c2aa2fc
nixos/fish: fix reference to mapAttrsFlatten 2024-05-13 00:58:30 +02:00
aszlig
e4bd1e8f92
nixos/confinement: Use prio 100 for RootDirectory
One of the module that already supports the systemd-confinement module
is public-inbox. However with the changes to support DynamicUser and
ProtectSystem, the module will now fail at runtime if confinement is
enabled (it's optional and you'll need to override it via another
module).

The reason is that the RootDirectory is set to /var/empty in the
public-inbox module, which doesn't work well with the InaccessiblePaths
directive we now use to support DynamicUser/ProtectSystem.

To make this issue more visible, I decided to just change the priority
of the RootDirectory option definiton the default override priority so
that whenever another different option is defined, we'll get a conflict
at evaluation time.

Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13 00:40:41 +02:00
aszlig
0a9cecc35a
nixos/systemd-confinement: Make / read-only
Our more thorough parametrised tests uncovered that with the changes for
supporting DynamicUser, we now have the situation that for static users
the root directory within the confined environment is now writable for
the user in question.

This is obviously not what we want and I'd consider that a regression.
However while discussing this with @ju1m and my suggestion being to
set TemporaryFileSystem to "/" (as we had previously), they had an even
better idea[1]:

> The goal is to deny write access to / to non-root users,
>
>   * TemporaryFileSystem=/ gives us that through the ownership of / by
>     root (instead of the service's user inherited from
>     RuntimeDirectory=).
>   * ProtectSystem=strict gives us that by mounting / read-only (while
>     keeping its ownership to the service's user).
>
> To avoid the incompatibilities of TemporaryFileSystem=/ mentioned
> above, I suggest to mount / read-only in all cases with
> ReadOnlyPaths = [ "+/" ]:
>
>   ...
>
> I guess this would require at least two changes to the current tests:
>
>   1. to no longer expect root to be able to write to some paths (like
>      /bin) (at least not without first remounting / in read-write
>      mode).
>   2. to no longer expect non-root users to fail to write to certain
>      paths with a "permission denied" error code, but with a
>      "read-only file system" error code.

I like the solution with ReadOnlyPaths even more because it further
reduces the attack surface if the user is root. In chroot-only mode this
is especially useful, since if there are no other bind-mounted paths
involved in the unit configuration, the whole file system within the
confined environment is read-only.

[1]: https://github.com/NixOS/nixpkgs/pull/289593#discussion_r1586794215

Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13 00:40:40 +02:00
aszlig
27f36b5e57
nixos/tests/confinement: Parametrise subtests
This is to make sure that we test all of the DynamicUser/User/Group and
PrivateTmp options in a uniform way. The reason why we need to do this
is because we recently introduced support for the DynamicUser option and
since there are some corner cases where we might end up with more
elevated privileges (eg. writable directories in some cases), we want to
make sure that the environment is as restrictive as with a static
User/Group assignment.

I also removed various checks that try to os.chown(), since with our new
recursive checker those are redundant.

Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13 00:40:38 +02:00
aszlig
51d3f3475c
nixos/tests/confinement: Run test probes in Python
So far the architecture for the tests was that we would use a systemd
socket unit using the Accept option to start a small shell process where
we can pipe commands into by connecting to the socket created by the
socket unit.

This is unnecessary since we can directly use the code snippets from the
individual subtests and systemd will take care of checking the return
code in case we get any assertions[^1].

Another advantage of this is that tests now run in parallel, so we can
do rather expensive things such as looking in /nix to see whether
anything is writable.

The new assert_permissions() function is the main driver behind this and
allows for a more fine-grained way to check whether we got the right
permissions whilst also ignoring irrelevant things such as read-only
empty directories.

Our previous approach also just did a read-only check, which might be
fine in full-apivfs mode where the attack surface already is large, but
in chroot-only mode we really want to make sure nothing is every
writable.

A downside of the new approach is that currently the unit names are
numbered via lib.imap1, which makes it annoying to track its definition.

[^1]: Speaking of assertions, I wrapped the code to be run with pytest's
      assertion rewriting, so that we get more useful AssertionErrors.

Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13 00:40:36 +02:00
aszlig
f7d026b431
nixos/tests/confinement: Move to dedicated dir
When experimenting on ways how to refactor the test, I wrote a
significant enough amount of Python to warrant a dedicated Python file.

This commit is mainly to prepare for that and make it easier to track
renames.

Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13 00:40:34 +02:00
aszlig
ba31b3753e
nixos/tests/confinement: Re-add description attr
The reason why I originally used the "description" attribute was that it
can be easily used to parametrise the tests so that we can specify
common constraints and apply it across a number of different
configurations.

When porting the tests to Python, the description attribute was replaced
by inlining it into the Python code, most probably because it was easier
to do in bulk since using Nix to generate the subtest parts would be
very complicated to do since we also had to please Black (a Python code
formatter that we no longer use in test scripts).

Since we now also want to support DynamicUser in systemd-confinement,
the need to parametrise the tests became apparent again because it's now
easier to refactor our subtests to run both with *and* without
DynamicUser set to true.

Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13 00:40:32 +02:00
Julien Moutinho
0a5542c766
nixos/systemd-confinement: support ProtectSystem=/DynamicUser=
See https://discourse.nixos.org/t/hardening-systemd-services/17147/14
2024-05-13 00:40:25 +02:00
Jade Lovelace
553dab119b
Merge pull request #311158 from lf-/jade/remove-outdated-maintainership
nixos: remove historical maintainership of modules by eelco
2024-05-12 13:26:25 -07:00
Franz Pletz
ef26d99b37
Merge pull request #310873 from ivan/radvd-debuglevel
nixos/radvd: add debugLevel option
2024-05-12 22:23:24 +02:00
Pol Dellaiera
378c5c67ed
Merge pull request #310348 from ehmry/nginx-validateConfigFile
nixos/nginx: add validateConfigFile option
2024-05-12 21:58:59 +02:00
Weijia Wang
4433bbfd2a
Merge pull request #304773 from acid-bong/no-libs
treewide: remove file-wide `with lib;` uses in nixos/modules/programs
2024-05-12 21:52:15 +02:00
Jade Lovelace
3fd324f823 nixos: remove historical maintainership of modules by eelco
Eelco has made several early contributions to NixOS including writing
the samba module among other things, but is more or less inactive these
days.

By my brief inspection, he has not committed to the nixos/ tree since
releasing Nix 2.13 in early 2023 and merging a PR to networking tests
slightly before that. A lot of these tests/modules are actually
unmaintained in practice, so we should update the code to reflect the
practical reality so someone can consider picking them up.
2024-05-12 12:48:57 -07:00
Andreas Rammhold
d157db3480
Merge pull request #307051 from hax404/modules/tayga/mappings
nixos/tayga: add mappings option
2024-05-12 21:16:26 +02:00
Martin Weinelt
6ce8bb794d
Merge pull request #311085 from mweinelt/knot-test-xfr
nixos/tests/knot: wait for successful zone transfers
2024-05-12 21:01:40 +02:00
Xyven1
201a5ff61f nixos/plex: add systemd hardening configuration 2024-05-12 14:22:04 -04:00
Marek Fajkus
cf1e14e8a9
Merge pull request #310880 from presto8/warn-xss-lock
nixos/xss-lock: add warning for startx
2024-05-12 19:53:52 +02:00
Raito Bezarius
b35ccb7fda nixos/tests/misc: call the tester test to be callTest-ed
Otherwise, this will destroy the release machinery to collect all the
systems.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-12 18:15:52 +02:00
K900
cd682e0a15
Merge pull request #311089 from RaitoBezarius/sowwy
nixos/release-`*`: fix `nixos.tests.misc` which was split into multiple tests
2024-05-12 18:29:54 +03:00
Florian Klink
0244a8d5d7 nixos/caddy: don't set ExecReload if enableReload is disabled
Otherwise, setting services.caddy.enableReload to false fails in a very bad fashion:

The reload command still gets executed, but fails:

```
Apr 26 21:23:01 n1-rk1 systemd[1]: Reloading Caddy...
Apr 26 21:23:01 n1-rk1 caddy[70793]: {"level":"info","ts":1714166581.733018,"msg":"using provided configuration","config_file":"/etc/caddy/caddy_config","config_adapter":"caddyfile"}
Apr 26 21:23:01 n1-rk1 caddy[70793]: {"level":"warn","ts":1714166581.7353032,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/caddy_config","line":3}
Apr 26 21:23:01 n1-rk1 caddy[70793]: Error: sending configuration to instance: performing request: Post "http://localhost:2019/load": dial tcp [::1]:2019: connect: connection refused
Apr 26 21:23:01 n1-rk1 systemd[1]: caddy.service: Control process exited, code=exited, status=1/FAILURE
Apr 26 21:23:01 n1-rk1 systemd[1]: Reload failed for Caddy.
```

… and the server is not restarted either, as a ExecReload= command is
specified.

Fix this, by only setting ExecReload if the reload exists.

The first empty string is still necessary to reset the old option.
2024-05-12 18:27:02 +03:00
Raito Bezarius
64e51577b7 nixos/release-*: fix nixos.tests.misc which was split into multiple tests
Now, it's `nixos.tests.misc.default` and `nixos.tests.misc.lix` since
Lix introduction in #310194.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-12 17:22:51 +02:00
Vladimír Čunát
9447fd7bc8
Merge #309297: staging-next 2024-05-05 2024-05-12 17:09:49 +02:00
Martin Weinelt
c1b293ca0c
nixos/tests/knot: wait for successful zone transfers
Depending on the startup order of the two machines it might take a few
moments to get both zones transfered, which can lead to SERVFAIL
responses on busy machines.
2024-05-12 16:40:23 +02:00
Bobby Rong
e466c02ac3
Merge pull request #311074 from bobby285271/upd/mate-glib-networking
nixos/mate: enable services.gnome.glib-networking

cc #53700
2024-05-12 22:39:17 +08:00
Ryan Lahfa
df0bced725
Merge pull request #310194 from RaitoBezarius/lix
lix: init at 2.90-beta.1
2024-05-12 16:28:36 +02:00
Bobby Rong
3de41ce7a8
nixos/mate: enable services.gnome.glib-networking
This is already done in the 5 other desktop environments I maintain, I decided that I don't mind adding another one.
2024-05-12 22:05:22 +08:00
github-actions[bot]
971c61f4d8
Merge master into staging-next 2024-05-12 12:01:24 +00:00
DavHau
0b6c484848 nixos/smokeping: use nginx instead of thttpd
Motivation:
fixes #265953

Changes:
- deprecate `services.smokeping.port` in favor of the niginx native option
- mention in release notes
2024-05-12 13:31:11 +02:00
Pol Dellaiera
8949291221
Merge pull request #305586 from drupol/private-gpt/init
private-gpt: init at 0.5.0
2024-05-12 12:53:53 +02:00
Acid Bong
49f6869f71
treewide: remove file-wide with lib; in nixos/modules/programs 2024-05-12 10:11:06 +03:00
github-actions[bot]
ab6da4a615
Merge master into staging-next 2024-05-12 00:02:26 +00:00
Bjørn Forsman
7909e0f7d6 nixos/pixiecore: fix apiServer example
Add missing http:// scheme. Without it pixiecore logs this and never
contacts the API server:

  [DHCP] Couldn't get bootspec for [REDACTED_MAC_ADDR]: Get "localhost:8080/v1/boot/[REDACTED_MAC_ADDR]": unsupported protocol scheme "localhost"
2024-05-11 23:01:35 +02:00
Pol Dellaiera
aff1950a3f
nixos/private-gpt: init 2024-05-11 22:42:04 +02:00
Gerg-L
6e22a417e6
nixos/xserver: remove duplicate display-manager.script declaration 2024-05-11 16:34:08 -04:00
Raito Bezarius
81854ca604 nixos/tests/misc: rework and take ownership
`nixosTests.misc` is an interesting smoketest as a last (cheap) line of
defense against Nix regressions.

We rework it to accept any arbitrary package manager for Lix.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-11 21:33:25 +02:00
Preston Hunt
7f0158313d nixos/xss-lock: add warning for startx 2024-05-11 08:47:11 -07:00