Commit Graph

34926 Commits

Author SHA1 Message Date
Franz Pletz
dcafb07ed8
Merge pull request #232250 from YBeaugnon/libvirt-hooks
nixos/libvirtd: hooks support
2023-08-09 15:07:52 +02:00
Franz Pletz
b15eff32c4
Merge pull request #248126 from DDoSolitary/patch-netdata-ipc
nixos/netdata: fix position of NETDATA_PIPENAME
2023-08-09 14:42:55 +02:00
Guillaume Girol
0e4b8a05b2 nixos/wrappers: allow setuid and setgid wrappers to run in user namespaces
In user namespaces where an unprivileged user is mapped as root and root
is unmapped, setuid bits have no effect. However setuid root
executables like mount are still usable *in the namespace* as the user
already has the required privileges. This commit detects the situation
where the wrapper gained no privileges that the parent process did not
already have and in this case does less sanity checking. In short there
is no need to be picky since the parent already can execute the foo.real
executable themselves.

Details:
man 7 user_namespaces:
   Set-user-ID and set-group-ID programs
       When a process inside a user namespace executes a set-user-ID
       (set-group-ID) program, the process's effective user (group) ID
       inside the namespace is changed to whatever value is mapped for
       the user (group) ID of the file.  However, if either the user or
       the group ID of the file has no mapping inside the namespace, the
       set-user-ID (set-group-ID) bit is silently ignored: the new
       program is executed, but the process's effective user (group) ID
       is left unchanged.  (This mirrors the semantics of executing a
       set-user-ID or set-group-ID program that resides on a filesystem
       that was mounted with the MS_NOSUID flag, as described in
       mount(2).)

The effect of the setuid bit is that the real user id is preserved and
the effective and set user ids are changed to the owner of the wrapper.
We detect that no privilege was gained by checking that euid == suid
== ruid. In this case we stop checking that euid == owner of the
wrapper file.

As a reminder here are the values of euid, ruid, suid, stat.st_uid and
stat.st_mode & S_ISUID in various cases when running a setuid 42 executable as user 1000:

Normal case:
ruid=1000 euid=42 suid=42
setuid=2048, st_uid=42

nosuid mount:
ruid=1000 euid=1000 suid=1000
setuid=2048, st_uid=42

inside unshare -rm:
ruid=0 euid=0 suid=0
setuid=2048, st_uid=65534

inside unshare -rm, on a suid mount:
ruid=0 euid=0 suid=0
setuid=2048, st_uid=65534
2023-08-09 12:00:00 +00:00
DDoSolitary
d410464c5d
nixos/netdata: fix position of NETDATA_PIPENAME
It was accidentally placed in a condition-guarded block, making the
setting only take effect when enableAnalyticsReporting = false.
2023-08-09 19:22:20 +08:00
Florian Praden
490ec79ac3
nixos/gitea: bugfix for gitea-dump service.
Missing custom directory setup in gitea-dump service. Adding environment variable in gitea-dump service definition.
2023-08-09 11:53:18 +02:00
github-actions[bot]
bd7afc88f7
Merge staging-next into staging 2023-08-09 00:02:37 +00:00
Artturin
ea580ebee8 nixos/fish: Fix completion generator cross-compilation 2023-08-08 23:21:38 +03:00
Robert Hensing
bc9d2d6a7c
Merge pull request #247520 from Atemu/fix/kernel-passthru.tests
kernel: fix passthru.tests
2023-08-08 21:29:19 +02:00
github-actions[bot]
792f4d7934
Merge staging-next into staging 2023-08-08 18:01:27 +00:00
Mihai Fufezan
50ad802e51
nixos/hyprland: remove xwayland.hidpi 2023-08-08 20:32:53 +03:00
K900
b0b00f0e28
Merge pull request #247937 from linj-fork/fix-types.string
treewide: stop using types.string
2023-08-08 18:50:42 +03:00
WilliButz
acbf16d419
Merge pull request #247709 from Ma27/nextcloud-adminuser-doc-fix
nixos/nextcloud: improve documentation of `adminuser`-option
2023-08-08 16:29:59 +02:00
Lin Jian
74fadae942
treewide: stop using types.string
It is an error[1] now.

[1]: https://github.com/NixOS/nixpkgs/pull/247848
2023-08-08 21:31:21 +08:00
github-actions[bot]
f19f490d4e
Merge staging-next into staging 2023-08-08 12:01:54 +00:00
DavHau
74c574a8db nixos/zerotierone: document networks never left automatically
Removing a network from the joinNetworks list does not make the machine leave the network which is confusing.

This behavior is now clarified via the options description
2023-08-08 11:31:33 +02:00
Michele Guerini Rocco
ccc33bd3d7
Merge pull request #245852 from rnhmjoj/pr-fix-dnscrypt
dnscrypt-wrapper fixes
2023-08-08 10:34:27 +02:00
Lassulus
e63386d6bf
Merge pull request #247751 from Mic92/installation-device-trusted-users
nixos/installation-device: allow nix-copy for root/nixos user
2023-08-08 08:23:59 +02:00
github-actions[bot]
66d14ccd84
Merge staging-next into staging 2023-08-08 06:01:31 +00:00
Franz Pletz
9640eb3970
Merge pull request #246029 from ehmry/eris-go 2023-08-08 06:18:03 +02:00
Franz Pletz
7fdf825d82
Merge pull request #247823 from emilylange/caddy 2023-08-08 05:57:37 +02:00
github-actions[bot]
2e9323c2d4
Merge staging-next into staging 2023-08-08 00:02:19 +00:00
emilylange
efdcf6b96c
nixosTests.caddy: remove etag subtest
Caddy 2.7.x does no longer return etags for files with unix modtimes of
0 and 1.
Files in /nix/store have a modtime of 1.

This is something that has been specifically implemented for nix.

For now, we decided to remove the test.
But I might reimplement a similar etag subtest some time in the future.
2023-08-07 23:47:07 +02:00
Pol Dellaiera
ef02511ff4
Merge pull request #247358 from pokon548/dae-add-service
nixos/dae: init
2023-08-07 21:11:43 +02:00
github-actions[bot]
597f030762
Merge staging-next into staging 2023-08-07 18:01:43 +00:00
Lily Foster
b367b9cf87
Merge pull request #241565 from SuperSandro2000/nox-python
nixos/no-x-libs: use pythonPackagesExtensions to construct python ove…
2023-08-07 10:56:27 -04:00
Jörg Thalheim
1f1a758e95 nixos/installation-device: allow nix-copy for root/nixos user
For non-interactive installation it's quite handy to be able to nix copy additional dependencies to the system.
While this is possible for the root user, we cannot easily ssh into it, as we don't allow root login with a password.
By making nixos a trusted user, we can do "passwd && sudo systemctl start sshd" and than run nixos-anywhere
2023-08-07 16:48:49 +02:00
github-actions[bot]
9d7b03ec57
Merge staging-next into staging 2023-08-07 12:01:16 +00:00
Maximilian Bosch
648546b09d
nixos/nextcloud: improve documentation of adminuser-option
This option only has an effect on the initial setup of Nextcloud and
changes later won't have any effect.

Same issue as with `adminpassFile` - it's only passed to the installer
command - but even worse because the username is frequently used as
unique ID in the database, so there's no trivial way to change it, even
imperatively.
2023-08-07 12:16:41 +02:00
pokon548
dcf5ae3d0b nixos/dae: init 2023-08-07 14:32:32 +08:00
Wout Mertens
ea07a9a98e
Merge pull request #247319 from DDoSolitary/patch-netdata-ipc
netdata: set NETDATA_PIPENAME to /run/netdata/ipc
2023-08-07 08:27:29 +02:00
github-actions[bot]
6311c0f6ef
Merge staging-next into staging 2023-08-07 00:02:29 +00:00
Martin Weinelt
af90462b88
Merge pull request #247235 from mweinelt/wyoming-faster-whisper-option-fix
nixos/wyoming/faster-whisper: fix device option description
2023-08-06 22:04:42 +02:00
github-actions[bot]
bbf876fefa
Merge staging-next into staging 2023-08-06 18:01:26 +00:00
K900
4a2735bb3d
Merge pull request #241481 from Mayeu/update/kubo
kubo: 0.20.0 -> 0.21.0
2023-08-06 20:03:37 +03:00
Atemu
a0dcabb690 kernel: fix passthru.tests
https://github.com/NixOS/nixpkgs/pull/191540 indirectly broke kernel
passthru.tests; calling the testsForLinuxPackages and testsForKernel functions
with some args intended for some other exposed test-internal function.

Organise the passed-through functions under `passthru` to prevent this from
happening.
2023-08-06 15:47:54 +02:00
Atemu
6229f0bc8f all-tests: exclude passthru attributes from test discovery
discoverTests tries to discover some sort of internal function and tries to call
it with the arguments for that internal function. This poses an issue when you
want to expose some other functions (i.e. a parameterisation for a test) in
nixosTests.

This commit allows a test to pass through arbitrary values via `.passthru`
without them having discovery applied to them; including functions.
2023-08-06 15:40:10 +02:00
github-actions[bot]
b536c72108
Merge staging-next into staging 2023-08-06 12:02:05 +00:00
Maximilian Bosch
01820d520b
Merge pull request #247384 from jtbx/nextcloud-doc
nixos/nextcloud: improve documentation
2023-08-06 12:27:33 +02:00
Nick Cao
90c77d8891
Merge pull request #246842 from frederictobiasc/mautrix-whatsapp-module
nixos/mautrix-whatsapp: init
2023-08-06 03:21:25 -06:00
Frédéric Christ
3a1f5757b9 mautrix-whatsapp: move defaults back to options.
As suggested by @nickcao this commit moves the defaults back to the
options. Only `homeserver.domain` stays in the config section since the
documentation module does not support referencing attributes of other
modules.
2023-08-06 11:03:17 +02:00
zowoq
b2c3198256 nixos/nix-fallback-paths: 2.15.1 -> 2.17.0
https://releases.nixos.org/nix/nix-2.17.0/fallback-paths.nix
2023-08-06 16:22:39 +10:00
github-actions[bot]
2ca7eb5d4e
Merge staging-next into staging 2023-08-06 06:01:22 +00:00
davidak
62f11e9e1d
Merge pull request #246187 from SuperSamus/hid-nintendo-remove
hid-nintendo: remove
2023-08-06 04:07:11 +02:00
github-actions[bot]
0031ae7742
Merge staging-next into staging 2023-08-06 00:03:36 +00:00
Jeremy
c7a9f7c132 nixos/nextcloud: improve documentation 2023-08-06 10:02:52 +12:00
Chris Montgomery
aefa0bb6cc
nixos/matrix-synapse: set public baseurl in example config 2023-08-05 16:08:35 -04:00
Gregor Godbersen
3d9a6399a1 nixos/paperless: set default thumbnail font
The upstream default for the thumbnail font is set to "Liberation Serif
Regular" located at /usr/share/fonts which is inaccessible under nix.
(2a2bf3bf55/src/paperless/settings.py (L894))

Paperless throws an error when parsing plaintext files without a valid
font. This change sets a nix default using the liberation_ttf package.
2023-08-05 22:06:27 +02:00
Gregor Godbersen
540a20546a nixos/paperless: add test for plaintext document 2023-08-05 22:06:27 +02:00
github-actions[bot]
687b501234
Merge staging-next into staging 2023-08-05 18:01:37 +00:00
WilliButz
404abaa27a
Merge pull request #247314 from Ma27/nextcloud-php-settings
nixos/nextcloud: make php settings additive
2023-08-05 14:12:52 +02:00
github-actions[bot]
f8579c6c72
Merge staging-next into staging 2023-08-05 12:02:05 +00:00
Frédéric Christ
288d2ee55d mautrix-whatsapp: Move defaults to config section
This contribution applies Example 32 (conventional settings option) from
[nixpkgs](https://nixos.org/manual/nixos/stable/#sec-settings-nix-representable).
2023-08-05 13:57:15 +02:00
DDoSolitary
060a47e1e4
netdata: set NETDATA_PIPENAME to /run/netdata/ipc
Netdata creates its control socket at /tmp/netdata-ipc by default, which
is insecure and actually inaccessible with systemd's PrivateTmp enabled.

Originally we patched its source code to move the socket to
/run/netdata/ipc. However, it was removed due to incompatibility when
upgrading to v1.41.0: 1d2a2dc7d0

Fortunately, this new version of netdata adds support for setting the
location of the control socket via the environment variable
NETDATA_PIPENAME. So let's set it for the netdata service and the
command line utility so that they can communicate properly.
2023-08-05 18:19:08 +08:00
Maximilian Bosch
2ddb1453e6
nixos/nextcloud: make php settings additive
Right now, the settings aren't additive which means that when I do

    services.nextcloud.phpOptions."opcache.interned_strings_buffer = "23";

all other options are discarded because of how the module system works.

This isn't very nice in this case, though because wanting to override
a single option doesn't mean I want to discard the rest of the -
reasonable - defaults. Hence, the settings are showed as default in the
option's manual section, but are added with normal priority.

That means, to override _all_ options at once, an expression like

    services.nextcloud.phpOptions = mkForce {
      /* ... */
    };

is needed. This is also way more intuitive IMHO because the `mkForce`
explicitly tells that everything will be modified.

Also, APCu enable and the memory & file-size limits are also written
into `services.nextcloud.phpOptions` rather than adding them
silently before passing all options to the PHP package. This has the
benefit that users will realize on evaluation time that they configured
options that would otherwise be set by the module on its own.
2023-08-05 11:58:11 +02:00
Emery Hemingway
b6c5112152 nixos/ntopng: seperate interface config with newlines 2023-08-05 10:02:48 +01:00
Vladimír Čunát
d5732d9669
Merge branch 'staging-next' into staging 2023-08-05 07:45:29 +02:00
Martin Weinelt
12cb284a44
nixos/wyoming/faster-whisper: fix device option description 2023-08-05 00:24:26 +02:00
Maximilian Bosch
ed02e79bbe
Merge pull request #241497 from bendlas/prepare-gitea-120
nixos/gitea: add WORK_PATH to config, fix 1.20
2023-08-04 18:50:09 +02:00
Martin Weinelt
3d36620b0e
Merge pull request #247109 from helsinki-systems/fix/networking-test
nixos/tests/networking: dhcpd -> kea
2023-08-04 16:48:45 +02:00
ajs124
1690adc424 nixos/tests/networking/caseSensitiveRenaming: fix bash syntax
was introduced broken in 93502aa3b1
2023-08-04 14:38:08 +02:00
ajs124
799a69971e nixos/tests/networking: dhcpd -> kea
forgotten in 413d9d3864
2023-08-04 14:23:09 +02:00
Vincent Haupert
f652755434 nixos/image: add image.repart.package option
Allow giving a custom package containing the `systemd-repart` binary.
Defaults to `pkgs.systemd`. This option opens up the possibility to use
a different package for the image builder and the system configuration.

For example, someone could use this option to build an image with a
patched systemd while still using the upstream nixpkgs systemd package
(i.e., `pkgs.systemd`) for the system configuration installed to the
created image.
2023-08-04 13:49:18 +02:00
ajs124
bf4d2e6c1e
Merge pull request #242538 from tnias/fix/apparmor
apparmor: add some policies and improve abstractions and utils
2023-08-04 13:05:52 +02:00
Vincent Haupert
fbebce610f nixos/toplevel: move systemBuilder for boot.kernel.enable
This avoids creating a build-time reference on `boot.kernelParams` if
the configuration does not use a kernel, i.e., `boot.kernel.enable` is
set to `false`.
2023-08-04 12:46:03 +02:00
codec
47db2bfffb prometheus-idrac-exporter: init at unstable-2023-06-29 2023-08-04 00:57:19 +02:00
Jan Malakhovski
775f21b9fd doc: add a release note about proper sourceRoot usage 2023-08-03 16:32:06 +00:00
Pol Dellaiera
9aabdcf43f
Merge pull request #237892 from jthulhu/update-pharo
pharo: old -> 10.0.5
2023-08-03 18:20:01 +02:00
jthulhu
e85228766c pharo: old -> 10.0.5 2023-08-03 16:57:58 +02:00
Ryan Lahfa
2a1f1797be
Merge pull request #246941 from yaxitech/image-amend-repart-r13y 2023-08-03 15:57:24 +02:00
Gerg-L
4ca2a16390 nixos/nvidia: add Dynamic Boost support 2023-08-03 09:32:14 -04:00
Martin Weinelt
667c4f2dc6
Merge pull request #224635 from helsinki-systems/drop/dhcpd
dhcpd: remove
2023-08-03 15:12:06 +02:00
ajs124
4b0ef51702
Merge pull request #245891 from Izorkin/fix-nginx-http2
nixos/nginx: using new variant of http2 directive
2023-08-03 14:50:31 +02:00
Martin Weinelt
f699824f6e
python310Packages.django: migrate to django_4
3.2 LTS ran out of mainstream support in 2021/12 and we should probably
stay on the latest LTS release, that receives mainstream support.
2023-08-03 14:35:34 +02:00
Martin Weinelt
9eaec2881f
Merge pull request #246836 from NixOS/home-assistant
home-assistant: 2023.7.3 -> 2023.8.0
2023-08-03 13:54:00 +02:00
Vincent Haupert
5fd478506d nixos/image: use stable target dir for amended repart definitions
Output the amended repart definitions to a well-known directory in
$TMPDIR instead of using a temporary directory with a random directory
name.

The output file `repart-output.json` also contains the full path to the
repart definition file used to create the partition. As
`amend-repart-definitions.py` uses `tempfile.mkdtemp`, this introduces
an impurity:

```json
{
        "type" : "root-x86-64",
        "label" : "rootfs",
        "uuid" : "f2fa2e49-e443-45d2-a2e2-c3754cab6363",
        "file" : "/build/tmppjo7kv5o/rootfs.conf",
        "node" : "image.raw2",
        "offset" : 135266304,
        "old_size" : 0,
        "raw_size" : 1651101696,
        "old_padding" : 0,
        "raw_padding" : 0,
        "activity" : "create",
}
```

This commit changes the parent directory of the amended repart
definitions to `/build/amended-repart.d/`.
2023-08-03 11:46:35 +02:00
Izorkin
cf7cea3287
nixos/nginx: using new variant of http2 directive 2023-08-03 07:09:02 +03:00
Bobby Rong
58a421640c
Merge pull request #246743 from bobby285271/fix/wait-for-x
nixos/tests/{budgie,gnome-flashback}: unbreak
2023-08-03 10:37:45 +08:00
Bobby Rong
0c3697f511
nixos/tests/gnome-flashback: skip graphical-session.target check
https://hydra.nixos.org/build/230009507/log

Also silence warning: Module argument `nodes.machine.config` is deprecated. Use `nodes.machine` instead.
2023-08-03 09:52:12 +08:00
Bobby Rong
0ec48ee059
nixos/tests/budgie: skip graphical-session.target check
https://hydra.nixos.org/build/230010129/log
2023-08-03 09:52:11 +08:00
Pol Dellaiera
b3e46b47d9
Merge pull request #246845 from jakeschurch/add-proxmox-image-disk-size-followup
update(proxmox-image): update pull request #246120 from jakeschurch/add-prox…
2023-08-02 22:55:40 +02:00
Martin Weinelt
a98ba7fdae
Merge pull request #246564 from erictapen/kanidm
kanidm: 1.1.0-alpha.12 -> 1.1.0-beta.13
2023-08-02 22:51:18 +02:00
Martin Weinelt
822c33c217
nixos/home-assistant: allow bluetooth for gardena_bluetooth component 2023-08-02 22:42:50 +02:00
Frédéric Christ
a71889c042 mautrix-whatsapp: Add release notes 2023-08-02 21:38:12 +02:00
Frédéric Christ
0173330426 mautrix-whatsapp: Add postgres options to example 2023-08-02 21:32:55 +02:00
Frédéric Christ
b443a4d940 mautrix-whatsapp: Apply suggestions
This contribution applies suggestions made by Luflosi in
https://github.com/NixOS/nixpkgs/pull/176025#issuecomment-1237338551
as well as some general refactoring.

Co-authored-by: Luflosi <Luflosi@users.noreply.github.com>
2023-08-02 21:06:41 +02:00
Victor SENE
641d717ace nixos/mautrix-whatsapp: init module
Import from PR https://github.com/NixOS/nixpkgs/pull/176025

Co-authored-by: Luflosi <Luflosi@users.noreply.github.com>
2023-08-02 21:06:41 +02:00
Jake Schurch
36430fbb14 revert(proxmox-image): pull request #246120 from jakeschurch/add-proxmox-image-addl-disk-size-override
NOTES:

@jakeschurch did not realize that is was already updated on master, but not
backported to 23.05 channel

Signed-off-by: Jake Schurch <jakeschurch@gmail.com>
2023-08-02 15:01:44 -04:00
Robert Hensing
f8f9f13d57
Merge pull request #246386 from hercules-ci/lib-getExe-dont-make-name-assumption
lib.getExe: Do not make assumptions about the main program
2023-08-02 20:05:52 +02:00
Pol Dellaiera
17b46c61f3
Merge pull request #246746 from mode89/fix/nixos-install-with-non-empty-mnt
nixos-install: fix removal of non-empty `/mnt`
2023-08-02 18:41:46 +02:00
Ryan Lahfa
9616fc4149
Merge pull request #246603 from yaxitech/image-repart-output-json 2023-08-02 17:01:27 +02:00
Andrey Krainyak
d61cc625fa
nixos-install: fix removal of non-empty /mnt
After building the target system, `nixos-install` tries to remove `/mnt`
on the target filesystem. And the script may fail without any explanation,
if `/mnt` isn't empty.

This commit makes the installation process carry on even if there are
files under `/mnt`.

See https://github.com/NixOS/nixpkgs/issues/244643.
2023-08-02 16:37:22 +08:00
Nick Cao
c1e1fe0068
Merge pull request #246533 from wineee/terminal-emulators
deepin-terminal: enable nixosTests.terminal-emulators
2023-08-01 18:27:28 -06:00
Nick Cao
33b6f8b63d
Merge pull request #246493 from NickCao/singbox
sing-box: 1.3.4 -> 1.3.5
2023-08-01 18:22:25 -06:00
Samuel Dionne-Riel
1d416595ad nixos/grub: Remove with with broad scopes.
There is only other `with` with a somewhat broad scope, `with pkgs`, but
it's used in a place where it would become awkward to change out. And
anyway its scope is rather limited still.
2023-08-01 19:18:48 -04:00
Samuel Dionne-Riel
c867c6d172 nixos/grub: Insert required image modules for themes
With a limited testing of all packaged GRUB 2 themes (pkgs.nixos-grub2-theme)
this is tested to work.

Without this change, the theme loading will error out (waiting for a key press).

With this change, the theme loads and works as expected.
2023-08-01 18:56:03 -04:00
Samuel Dionne-Riel
50063bf9d6 nixos/grub: Add support for timeoutStyle 2023-08-01 18:56:03 -04:00
Samuel Dionne-Riel
f12b216574 nixos/grub: Fix extraFiles in subdirectories
This directly copies the systemd-boot logic, which works.

`install` with `-D` will create all leading directory components.
2023-08-01 18:54:27 -04:00
Samuel Dionne-Riel
894d47f989 nixos/grub: Always install with bootloader id
The intent was to not pass the flag when installing as removable. In
reality there is a third case, where you may not want to touch EFI
variables, and not want to install as removable.

In that case, it would install to the generic \EFI\grub\grubx64.efi,
which is not a good choice in any cases. The operating system should
"own" their path under \EFI\ to be a good citizen [citation needed].

With this change, there can be only two paths GRUB can be installed to:

 - \EFI\NixOS-boot\grubx64.efi
 - \EFI\BOOT\bootx64.efi

This removes the surprising behaviour where GRUB may be installed to a
different location only because we configured NixOS not to touch EFI
variables.

It may be necessary under some configurations to install GRUB without
touching EFI variables, but to the NixOS-owned location.
2023-08-01 18:54:27 -04:00
Vincent Haupert
7f70abf80c nixos/image: write systemd-repart output to $out/repart-output.json
Write the output of `systemd-repart` as a JSON file to
`$out/repart-output.json`.

Depending on the repart configuration, the output of `systemd-repart`
contains important information, for example, when creating verity
partitions:

> The verity root hash itself will be included in the output of
> systemd-repart.

See `Verity=` in repart.d(5).
2023-08-02 00:10:14 +02:00
WilliButz
308bac15b8
Merge pull request #246575 from NixOS/modules/hedgedoc/refactor-options
nixos/modules/hedgedoc: minor refactoring
2023-08-01 22:58:52 +02:00