Commit Graph

20234 Commits

Author SHA1 Message Date
github-actions[bot]
d00621a67c
Merge staging-next into staging 2022-03-03 00:13:12 +00:00
Jonas Heinrich
764670261a nixos/opensnitch: Add options to configure daemon 2022-03-02 18:38:56 -05:00
Renaud
671a068a01
Remove F-PROT package and service module (EoL) (#160372) 2022-03-02 21:51:47 +02:00
aszlig
7286be7e81 nixos/systemd-confinement: Allow shipped unit file
In issue #157787 @martined wrote:

  Trying to use confinement on packages providing their systemd units
  with systemd.packages, for example mpd, fails with the following
  error:

  system-units> ln: failed to create symbolic link
  '/nix/store/...-system-units/mpd.service': File exists

  This is because systemd-confinement and mpd both provide a mpd.service
  file through systemd.packages. (mpd got updated that way recently to
  use upstream's service file)

To address this, we now place the unit file containing the bind-mounted
paths of the Nix closure into a drop-in directory instead of using the
name of a unit file directly.

This does come with the implication that the options set in the drop-in
directory won't apply if the main unit file is missing. In practice
however this should not happen for two reasons:

  * The systemd-confinement module already sets additional options via
    systemd.services and thus we should get a main unit file
  * In the unlikely event that we don't get a main unit file regardless
    of the previous point, the unit would be a no-op even if the options
    of the drop-in directory would apply

Another thing to consider is the order in which those options are
merged, since systemd loads the files from the drop-in directory in
alphabetical order. So given that we have confinement.conf and
overrides.conf, the confinement options are loaded before the NixOS
overrides.

Since we're only setting the BindReadOnlyPaths option, the order isn't
that important since all those paths are merged anyway and we still
don't lose the ability to reset the option since overrides.conf comes
afterwards.

Fixes: https://github.com/NixOS/nixpkgs/issues/157787
Signed-off-by: aszlig <aszlig@nix.build>
2022-03-02 11:42:44 -08:00
github-actions[bot]
b50d36a69a
Merge staging-next into staging 2022-03-02 18:11:00 +00:00
Kevin Cox
79862ae905
Merge pull request #161008 from rhysmdnz/xone
xone: init package and module
2022-03-02 11:26:51 -05:00
github-actions[bot]
fbd1c5b484
Merge staging-next into staging 2022-03-01 12:11:43 +00:00
Maximilian Bosch
199d4224e9
Merge pull request #155207 from rapenne-s/freshclam_when_internet
clamav: start freshclan after network-online target
2022-03-01 11:14:30 +01:00
Solene Rapenne
317ca6bb4e clamav: remove freshclam service dependency 2022-02-28 22:51:07 +01:00
github-actions[bot]
f831b62376
Merge staging-next into staging 2022-02-28 12:01:47 +00:00
Janne Heß
d32ba3f4b0
Merge pull request #161929 from martinetd/switchTest
logrotate: do not enable logrotate.service itself
2022-02-28 10:19:25 +01:00
Jonathan Ringer
3af9faf36d
Merge pull request #133431 from Ma27/glibc-2.34
glibc: 2.33-108 -> 2.34-115
2022-02-27 18:07:11 -08:00
Rok Garbas
993c35991b
Merge pull request #157693 from Radvendii/zammad
zammad: init at 5.0.2
2022-02-28 00:57:11 +01:00
zowoq
177281ad00 nixos/amazon-image: use 5_10 kernel and add assert 2022-02-27 15:04:37 -08:00
Janne Heß
5ec0477dfc
Merge pull request #161059 from hercules-ci/fix-nix-daemon-socket-availability
nixos/nix-daemon: Ensure continued availability of daemon socket
2022-02-27 17:57:57 +01:00
Maximilian Bosch
1077a6e040
nixos/stage-1: typo fixes 2022-02-27 14:07:31 +01:00
Jörg Thalheim
c219935f5e
Merge pull request #162056 from NickCao/bird-reload
nixos/bird: run service as non-root user, add test for reload
2022-02-27 09:48:04 +00:00
Maximilian Bosch
da905d4cf9
nixos/stage-1: fix modprobe in initial ramdisk on systems w/glibc-2.34
This effectively fixes the majority of all VM tests which were broken
because `/dev/vda` (or any other block device) wasn't mountable:

      machine # mounting /dev/vda on /...
      machine # mount: mounting /dev/vda on /mnt-root/ failed: No such device[    2.820976] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
      machine # [    2.821757] CPU: 0 PID: 1 Comm: init Not tainted 5.10.72 #1-NixOS
      machine # [    2.821757] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
      machine # [    2.821757] Call Trace:
      machine # [    2.821757]  dump_stack+0x6b/0x83
      machine # [    2.821757]  panic+0x101/0x2c8
      machine # [    2.821757]  do_exit.cold+0x14/0xb3
      machine # [    2.821757]  do_group_exit+0x33/0xa0
      machine # [    2.821757]  __x64_sys_exit_group+0x14/0x20
      machine # [    2.821757]  do_syscall_64+0x33/0x40
      machine # [    2.821757]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      machine # [    2.821757] RIP: 0033:0x7f67ec2800f6
      machine # [    2.821757] Code: 00 4c 8b 0d 2c 5d 11 00 eb 19 66 2e 0f 1f 84 00 00 00 00 00 89 d7 89 f0 0f 05 48 3d 00 f0 ff ff 77 22 f4 89 d7 44 89 c0 0f 05 <48> 3d 00 f0 ff ff 76 e2 f7 d8 64 41 89 01 eb da 66 2e 0f 1f 84 00
      machine # [    2.821757] RSP: 002b:00007fff8f5a71d8 EFLAGS: 00000202 ORIG_RAX: 00000000000000e7
      machine # [    2.821757] RAX: ffffffffffffffda RBX: 0000000000699704 RCX: 00007f67ec2800f6
      machine # [    2.821757] RDX: 0000000000000001 RSI: 000000000000003c RDI: 0000000000000001
      machine # [    2.821757] RBP: 0000000000000004 R08: 00000000000000e7 R09: ffffffffffffff80
      machine # [    2.821757] R10: 00007f67ec33f3e0 R11: 0000000000000202 R12: 000000000000000b
      machine # [    2.821757] R13: 00007fff8f5a75a8 R14: 0000000000000000 R15: 00000000004fc198
      machine # [    2.821757] Kernel Offset: 0x31e00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
      machine # [    2.821757] Rebooting in 1 seconds..

This happened because the kernel failed to load modules such as `ext4`
from `boot.initrd.availableKernelModules`[1] on e.g. a `mount(2)` syscall.

The problem is that `kmod` isn't linked against `libpthread.so.0`
anymore because it got merged into `libc.so.6` (however, the .so still
exists), but still needs it:

      machine # newfstatat(AT_FDCWD, "/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.34-36/lib/x86_64", 0x7ffd951114c0, 0) = -1 ENOENT (No such file or directory)
      machine # openat(AT_FDCWD, "/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.34-36/lib/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
      machine # newfstatat(AT_FDCWD, "/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.34-36/lib/x86_64", 0x7ffd951114c0, 0) = -1 ENOENT (No such file or directory)
      machine # openat(AT_FDCWD, "/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.34-36/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
      machine # newfstatat(AT_FDCWD, "/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.34-36/lib", 0x7ffd951114c0, 0) = -1 ENOENT (No such file or directory)
      machine # openat(AT_FDCWD, "/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.34-36/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
      machine # writev(2, [{iov_base="/nix/store/kdc9n48ksdc1a8y8w512w"..., iov_len=69}, {iov_base=": ", iov_len=2}, {iov_base="error while loading shared libra"..., iov_len=36}, {iov_base=": ", iov_len=2}, {iov_base="libpthread.so.0", iov_len=15}, {iov_base=": ", iov_len=2}, {iov_base="cy
      machine # ) = 184
      machine # exit_group(127)                         = ?
      machine # +++ exited with 127 +++
      machine # mount: mounting /dev/vda on /mnt-root/ failed: No such device
      machine # [   19.167180] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
      machine # [   19.167711] CPU: 0 PID: 1 Comm: init Not tainted 5.10.72 #1-NixOS

This is not a problem

* inside stage-1 because `LD_LIBRARY_PATH` points to `$out/lib` of
  extra-utils where `libpthread.so.6` also exists.
* on a running system because `${pkgs.glibc}/lib` is part of kmod's
  rpath.

However this is a problem inside the kernel which calls `modprobe` (in
our case `kmod`) to load modules and doesn't know about
`LD_LIBRARY_PATH`. Also, the rpath-reference was nuked.

To work around this, the kernel's `modprobe`
(i.e. `/proc/sys/kernel/modprobe`) now points to a wrapper which
explicitly declares `LD_LIBRARY_PATH`. We can't use `makeWrapper` here
because `modprobe` itself must not be renamed. Otherwise, `kmod` (which
is the link-target of `modprobe`) won't work because it expects
`argv[0] == "modprobe"` to perform modprobe's tasks.

[1] https://nixos.org/manual/nixos/stable/options.html#opt-boot.initrd.availableKernelModules
2022-02-27 10:26:51 +01:00
Nick Cao
6e389e6367
nixos/bird: run service as non-root user, add test for reload 2022-02-27 16:19:22 +08:00
Dominique Martinet
0dadec45d8 logrotate/systemd: add 'minsize = 1M' to wtmp/btmp rotation
align with upstream logrotate which added the minsize rule at some point.
This avoids needlessly rotating the files too often as brought up in
https://github.com/NixOS/nixpkgs/pull/159187#issuecomment-1052426774
2022-02-27 07:20:26 +09:00
Martin Weinelt
308403c329
Merge pull request #161663 from felixsinger/update/pkgs/mumble 2022-02-26 22:38:26 +01:00
Felix Singer
c267e9ce37 mumble,murmur: 1.3.4 -> 1.4.231
Update version to 1.4.231.

Build 231 points to a specific commit from the 1.4.x branch adding many
fixes and improvements. Since this version is an unofficial release, add
an unstable prefix to the version string in Nixpkgs.

Signed-off-by: Felix Singer <felixsinger@posteo.net>
Signed-off-by: Franz Pletz <fpletz@fnordicwalking.de>
2022-02-26 22:08:22 +01:00
Maciej Krüger
42a5831e62
nixos/pgadmin: init 2022-02-26 14:30:14 +01:00
Dominique Martinet
4d12b79cd7 logrotate: do not enable logrotate.service itself
logrotate.timer is enough for rotating logs. Enabling logrotate.service would
make the service start on every configuration switch, leading to tests failure when
logrotate is enabled.

Also update test to make sure the timer is active and runs the service
on date change.
2022-02-26 19:13:12 +09:00
K900
cb2cfba6f7 treewide: switch all desktop file generators to new API
Notably:
- remove explicit arguments that match the defaults
- convert everything to the right Nix types
2022-02-25 13:40:38 -08:00
Luflosi
0eb1d070c8 ipfs-migrator: 1.7.1 -> 2.0.2
https://github.com/ipfs/fs-repo-migrations/releases/tag/v2.0.2

This is pretty much a complete rewrite of the ipfs-migrator package.
In version 2.0.0 a major change was made to the way the migrator works. Before, there was one binary that contained every migration. Now every migration has its own binary. If fs-repo-migrations can't find a required binary in the PATH, it will download it off the internet. To prevent that, build every migration individually, symlink them all into one package and then wrap fs-repo-migrations so it finds the package with all the migrations.
The change to the IPFS NixOS module and the IPFS package is needed because without explicitly specifying a repo version to migrate to, fs-repo-migrations will query the internet to find the latest version. This fails in the sandbox, for example when testing the ipfs passthru tests.
While it may seem like the repoVersion and IPFS version are in sync and the code could be simplified, this is not the case. See https://github.com/ipfs/fs-repo-migrations#when-should-i-migrate for a table with the IPFS versions and corresponding repo versions.
Go 1.17 breaks the migrations, so use Go 1.16 instead. This is also the Go version used in their CI, see 3dc218e300/.github/workflows/test.yml (L4). See https://github.com/ipfs/fs-repo-migrations/pull/140#issuecomment-982715907 for a previous mention of this issue. The issue manifests itself when doing anything with a migration, for example `fs-repo-11-to-12 --help`:
```
panic: qtls.ClientHelloInfo doesn't match

goroutine 1 [running]:
github.com/marten-seemann/qtls-go1-15.init.0()
	github.com/marten-seemann/qtls-go1-15@v0.1.1/unsafe.go:20 +0x132
```
Also add myself as a maintainer for this package.
This fixes the test failure discovered in https://github.com/NixOS/nixpkgs/pull/160914.
See https://github.com/ipfs/fs-repo-migrations/issues/148 to read some of my struggles with updating this package.
2022-02-25 11:12:19 -08:00
0x4A6F
7ad39a4125
Merge pull request #161193 from Mic92/bird1
bird: drop bird1 package & modules; hardening
2022-02-25 17:03:09 +01:00
Jörg Thalheim
a9252603d5
Merge pull request #160195 from illustris/proxmox-lxc
nixos/proxmox-lxc: init
2022-02-25 14:49:48 +00:00
Stig
c1f6adfaa8
Merge pull request #154109 from Izorkin/update-peertube
peertube: 3.4.1 -> 4.1.0
2022-02-25 14:38:15 +01:00
Martin Weinelt
f45ba367d9
Merge pull request #161735 from fooker/pr/snapserver-config-fix 2022-02-25 11:41:30 +01:00
Jörg Thalheim
ad16194460
nixos/bird: improve systemd hardening / capability set
aligned with https://github.com/archlinux/svntogit-packages/blob/packages/bird/trunk/bird.service#L20-L21
2022-02-25 11:39:34 +01:00
Jörg Thalheim
9abf72f229
bird1: drop package + modules
reason: no longer maintained upstream.
2022-02-25 11:39:34 +01:00
zowoq
ec2028eb3c nixos/kubernetes: use kubectl from kubernetes
- also clarify kubectl wrapper naming
2022-02-25 19:22:30 +10:00
Dustin Frisch
ec10d9a836
nixos/snapserver: fix argument handling.
The argument parser used by snapserver behaves differntly for optional
arguments with existing defaults. In such cases, the standalone argument
name is a valid input and a following value is interpreted as a
positional argument. Therefore the argument and the value must be
provided as a single argument seperated by equals sign.
2022-02-24 23:11:58 +01:00
Samuel Dionne-Riel
0adf99aee4
Merge pull request #156005 from zhaofengli/pi02
Update Raspberry Pi packages
2022-02-24 15:05:23 -05:00
Izorkin
e0616741d1
nixos/peertube: add python path 2022-02-24 22:34:01 +03:00
Izorkin
c2296c3ec2
nixos/peertube: fix youtube-dl import 2022-02-24 22:34:01 +03:00
Markus Kowalewski
5721945070 nixos/tetrd: add to module list and fix enable description
The module was dangling and and not listed.
2022-02-24 09:44:57 -08:00
Dustin Frisch
5f9b2148b7
nixos/k40-whisperer: module init 2022-02-24 16:03:09 +01:00
lewo
49fa262cda
Merge pull request #161388 from nlewo/fix-openstack-metadata-fetcher
openstack-metadata-fetcher: do not fail if no user-data is provided
2022-02-24 10:16:44 +01:00
Thiago Kenji Okada
e22d349e67
Merge pull request #159546 from K900/the-plumbening
[RFC] [RFT] nixos/pipewire: default to wireplumber
2022-02-24 08:49:45 +00:00
ajs124
9748295636
Merge pull request #160237 from helsinki-systems/drop/virtuoso
virtuoso: drop
2022-02-23 23:48:52 +01:00
Pascal Wittmann
65f66dd4d2
Merge pull request #161056 from dywedir/nixos/vaultwarden
nixos/vaultwarden: fix evaluation
2022-02-23 22:27:58 +01:00
Taeer Bar-Yam
13e35662cc add a defaultText 2022-02-23 16:19:10 -05:00
Pascal Bach
66ddd69bdc
Merge pull request #158375 from afreakk/plex-example
plex: extraPlugins example
2022-02-23 17:39:15 +01:00
Taeer Bar-Yam
b5ec72fc13 tweaks 2022-02-23 10:41:28 -05:00
Taeer Bar-Yam
005769ee13 whitespace 2022-02-23 10:41:28 -05:00
Taeer Bar-Yam
74dcaf5784 zammad: test passes! 2022-02-23 10:41:28 -05:00
Taeer Bar-Yam
00e74ad907 minor changes 2022-02-23 10:41:28 -05:00
Taeer Bar-Yam
4d38b6460f zammad: reformat 2022-02-23 10:41:27 -05:00