Commit Graph

27510 Commits

Author SHA1 Message Date
7c6f434c
39e6b1a240
Merge pull request #175558 from klemensn/atop-convert-logs-fix-startup
nixos/atop: Convert log format to fix service start
2022-05-31 20:37:23 +00:00
Sandro
8d8e031d25
Merge pull request #133771 from erdnaxe/libreddit_fix
nixos/libreddit: service hardening and test
2022-05-31 21:53:51 +02:00
Maximilian Bosch
185ee01e80
Merge pull request #173273 from kfollesdal/grafana-azuread
nixos/grafana: add new options to grafana module
2022-05-31 19:24:33 +02:00
Robert Hensing
c5d82eb1ab
Merge pull request #174939 from FliegendeWurst/nixos-tests
nixos/tests: various fixes
2022-05-31 16:31:06 +02:00
Robert Hensing
53326189ba
Merge pull request #174829 from blaggacao/fix/cleanup-nixpkgs-initial-system
nixos: remove effect-less nixpgks.initialSystem
2022-05-31 16:26:25 +02:00
Markus S. Wamser
32e26d2627 release-notes: fix typo 2022-05-31 08:53:58 +02:00
Klemens Nanni
09350ff7d4 nixos/atop: Convert log format to fix service start
Raw logs are stored in a versioned binary format and must be update with
atopconvert(1) upon atop version updates.

Failure to do so results in atop.service startup failure as I found out
the hard way after the "atop: 2.6.0 -> 2.7.1"[0] bump:
```
May 31 01:49:25 <hostname> sh[2269709]: existing file /var/log/atop/atop_20220531 has incompatible header
May 31 01:49:25 <hostname> sh[2269709]: (created by version 2.6 - current version 2.7)
May 31 01:49:25 <hostname> systemd[1]: atop.service: Main process exited, code=exited, status=7/NOTRUNNING
```

Convert logs in `ExecStartPre` and replace them iff updated.
This is to avoid changing original modification times upon every service
start and thus work against atop's log rotation (see existing
`ExecStartPre`).

0: https://github.com/NixOS/nixpkgs/pull/175180#issuecomment-1141546487
2022-05-31 07:21:01 +02:00
markuskowa
412168b4ae
Merge pull request #175316 from markuskowa/upd-slurm
slurm: 21.08.8.2 -> 22.05.0.1
2022-05-30 21:18:28 +02:00
Janne Heß
cbaacfb8df
Release 22.05 2022-05-30 20:50:07 +02:00
ajs124
872d0ba943
Merge pull request #174448 from helsinki-systems/upd/nginx
nginxStable: 1.20.2 -> 1.22.0
2022-05-30 13:35:01 +02:00
Janne Heß
563e5c46f5
Merge pull request #175445 from helsinki-systems/fix/vmware-mkoverride
nixos/vmware-guest: Remove the video driver
2022-05-30 12:30:46 +02:00
ajs124
30186896ee nixos/nginx: fix SystemCallFilter for openresty 2022-05-30 11:58:28 +02:00
Janne Heß
5157246aa4
nixos/vmware-guest: Remove the video driver
This breaks isos since https://github.com/NixOS/nixpkgs/pull/172668
because vmware is enabled there. @K900 tested this and confirmed that
the GPU acceleration still works.
2022-05-30 11:56:21 +02:00
Florian Klink
f12a263b69
Merge pull request #172707 from klemensn/init-zfs-mount-options
nixos/stage-1: Fix library path in libraries, fix ZFS mount options
2022-05-30 10:51:17 +02:00
Guillaume Girol
f2493e87d8
Merge pull request #173110 from symphorien/ovmf-cross
nixos/libvirtd: make it possible to boot a UEFI aarch64 vm on x86_64
2022-05-29 21:46:45 +00:00
linj
37792e5766 nixos/dendrite: add an option loadCredential
systemd-247 provides a mechanism called LoadCredential for secrets and
it is better than environment file. See the section of Environment=
in the manual of systemd.exec for more information.

Some options in config.yaml need values to be strings, which currently
can be used with environmentFile but not loadCredential. But it's
possible to use loadCredential for those options, e.g. we can
substitute their values in ExecStart, but not in ExecStartPre due to
[1].

[1]: https://github.com/systemd/systemd/issues/19604
2022-05-29 13:34:14 -07:00
Janne Heß
d732671af2
Merge pull request #175138 from Mic92/docs
release-notes: link to all nix versions
2022-05-29 21:30:47 +02:00
ajs124
757046a257
Merge pull request #175095 from mweinelt/slapd-argon2-changelog
nixos/doc/rl-2205: add slapd argon2 module rename hint
2022-05-29 20:49:21 +02:00
Markus Kowalewski
b6020f42a5
nixos/slurm: update systemd service for slurmd
Adjust according to upstream recommendation
2022-05-29 17:17:01 +02:00
Jörg Thalheim
d32a2bf207 nixos/mimir: also expose mimirtool to users 2022-05-29 03:49:17 -04:00
Jörg Thalheim
a6cdcce08b nixos/mimir: add test 2022-05-29 03:49:17 -04:00
Jörg Thalheim
6497902407 nixos/mimir: set workingdirectory
Mimir writes files relatative to its working directory.
With this option less files have to be configured.
2022-05-29 03:49:17 -04:00
Alyssa Ross
c3c0dd00d8 treewide: fix loss of precision in NixOS systems
Prior to this patch:

	$ nix-instantiate --eval -E '
	>   with import ./. {
	>     localSystem.config = "aarch64-unknown-linux-musl";
	>   };
	>   (nixos {}).config.nixpkgs.localSystem.config
	> '
	"aarch64-unknown-linux-gnu"

Because only the system triple was being passed through, the Musl part
of the system specification was lost.  This patch fixes various
occurrences of NixOS evaluation when a Nixpkgs evaluation is already
available, to pass through the full elaborated system attribute set,
to avoid this loss of precision.
2022-05-28 20:01:55 +00:00
Guillaume Girol
9b73ceb7c2
Merge pull request #173919 from symphorien/os-prober-hang
nixos/tests/os-prober: fix
2022-05-28 19:10:37 +00:00
Aleksandar Topuzović
fd86efb8c2 nixos/nextcloud: Fix broken config file 2022-05-28 19:14:12 +01:00
Jörg Thalheim
b8f31e9e3b
release-notes: link to all nix versions 2022-05-28 16:42:48 +02:00
Florian Klink
8707ec2798
Merge pull request #174167 from chivay/saleae
nixos/saleae-logic: init
2022-05-28 14:30:32 +02:00
Martin Weinelt
c48756aae2
Merge pull request #172849 from waldheinz/systemd-boot-builder-downgrade
nixos/systemd-boot: fix systemd-boot-builder dowgrade to fail
2022-05-28 13:23:44 +02:00
Matthias Treydte
a30de3b849 nixos/systemd-boot: fix systemd-boot-builder dowgrade to fail
Since, 4ddc78818e systemd-boot-builder
is broken in two ways:

  * if no systemd-boot is currently installed *and* the NIXOS_INSTALL_BOOTLOADER
    env variable is not set, it will try to run "bootctl update", which will fail
  * if the currently installed systemd-boot version is newer than the version
    we're about to install, it will also try to run "bootctl update", which will fail

This patch changes the behaviour,

  * for the first case to still fail, but not even bother to try running
    "bootctl update" and instead erroring out with an exception
  * for the second case to leave the newer version in place, restoring
    the pre - 4ddc78818e behaviour

To do the proper version check a new "should_update" helper function was introduced,
mimicing the compare_product C function from bootctl. If the following systemd
issue gets resolved, we would have a nice way to get rid of this function:

> https://github.com/systemd/systemd/issues/23450

This change allows to again switch to a different NixOS configuration which contains
an older systemd-boot.

Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>
2022-05-28 13:18:21 +02:00
Martin Weinelt
173fdcb251
nixos/doc/rl-2205: add slapd argon2 module rename hint 2022-05-28 11:35:21 +02:00
Hubert Jasudowicz
91015fe196 nixos/saleae-logic: init 2022-05-27 20:39:32 +02:00
Maximilian Bosch
d2a75266ef
Merge pull request #174906 from symphorien/matrix-secret-file
release-notes: don't encourage people to copy secrets to the store
2022-05-27 19:33:59 +02:00
Sandro
e34ee08ec5
Merge pull request #174639 from mtoohey31/fix/os-release-newline 2022-05-27 19:29:38 +02:00
Sandro
23ec1c06c0
Merge pull request #173126 from NULLx76/update-hedgedoc-module
nixos/hedgedoc: fix and add config options
2022-05-27 16:03:22 +02:00
Rick van Schijndel
ed91be4909
Merge pull request #174936 from alyssais/make-test-pyton
nixos/testing-python.nix: fix typo in warning
2022-05-27 15:44:48 +02:00
FliegendeWurst
9d2c8ba7e9 nixos/tests/gitolite: fix test timeout
This prevents ssh from reading from stdin.

Link the NixOS test to the package.
2022-05-27 15:34:46 +02:00
FliegendeWurst
19e4234f4c nixos/tests/meilisearch: fix curl invocation
Also replace the movies dataset with a direct download as
it is not present in newer meilisearch versions.

Link the NixOS test to the package.
2022-05-27 15:33:42 +02:00
pennae
f16c8e58ca
Merge pull request #167037 from schuelermine/patch-doc-submodule-default
nixos/doc/types: note submodules’ default’s behaviour
2022-05-27 13:21:48 +00:00
Alyssa Ross
1e396f9802
nixos/testing-python.nix: fix typo in warning
"pyton" -> "python"
2022-05-27 13:00:25 +00:00
Guillaume Girol
2fdd23c154 release-notes: don't encourage people to copy secrets to the store 2022-05-27 12:00:00 +00:00
Maximilian Bosch
57a8966d03
Merge pull request #171227 from aidalgol/nextcloud-setup-script-fix
nixos/nextcloud: Fix broken error suppression in setup script
2022-05-27 13:23:10 +02:00
FliegendeWurst
8cb2a61de4 nixos/tests/mjolnir: fix registration test 2022-05-27 11:50:22 +02:00
David Arnold
646e214e11
nixos: remove effect-less nixpgks.initialSystem
- initialSystem was keeping track of the evaluating system
- it had been used by `nesting.children`
- since, 20.09, `nesting.children` has been replaced with named
  specializations

It appears that this option was left over and not cleand up properly.
2022-05-26 20:00:05 -05:00
Klemens Nanni
9eb704b65a nixos/stage-1: Zap no longer needed LD_LIBRARY_PATH
The previous commit properly adjusts all library paths, thus no need to
forcefully adjust the path at runtime any longer.
2022-05-26 22:17:02 +02:00
Klemens Nanni
d33e52b253 nixos/stage-1: Fix library path in libraries also
`extra-utils` composes the set of programs and libraries needed by

1. copying over all programs
2. copying over all libraries any program directly links against
3. set the runtime path for every program to the library directory

It seems that this approach misses the case where a library itself links
against another library.  That is to say, `extra-utils` assumes that
either only progams link against libraries or that every library linked
to by a library is already linked to by a program.

`mount.zfs` linking against `libcrypto`, in turn linking against `libdl`
shows how the current approach falls short:

```
$ objdump -p $(which mount.zfs) | grep NEEDED | grep -e libdl -e libcrypto
  NEEDED               libcrypto.so.1.1
$ ldd (which mount.zfs) | grep libdl
        libdl.so.2 => /nix/store/ybkkrhdwdj227kr20vk8qnzqnmj7a06x-glibc-2.34-115/lib/libdl.so.2 (0x00007f9967a9a000
```

Using `mount.zfs` directly in stage 1 init still works since
`LD_LIBRARY_PATH` overrides this (as intended).

util-linux's `mount` however executes `mount.zfs` with LD_LIBRARY_PATH
removed from its environment as can be seen with strace(1) in an
interactive stage 1 init shell (`boot.shell_on_fail` kernel parameter):

```
 # env -i LD_LIBRARY_PATH=$LD_LIBRARY_PATH $(which strace) -ff -e trace=/exec -v -qqq $(which mount) /mnt-root
execve("/nix/store/3gqbb3swgiy749fxd5a4k6kirkr2jr9n-extra-utils/bin/mount", ["/nix/store/3gqbb3swgiy749fxd5a4k"..., "/mnt-root"], ["LD_LIBRARY_PATH=/nix/store/3gqbb"...]) = 0
[pid  1026] execve("/sbin/mount.zfs", ["/sbin/mount.zfs", "<redacted>", "/mnt-root", "-o", "rw,zfsutil"], []) = 0
/sbin/mount.zfs: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1026, si_uid=0, si_status=127, si_utime=0, si_stime=0} ---
```

env(1) is used for clarity (hence subshells for absoloute paths).

While `mount` uses the right library path, `mount.zfs` is stripped of
it, so ld.so(8) fails resolve `libdl` (as required by `libcrypto`).

To fix this and not rely on `LD_LIBRARY_PATH` to be set, fix the library
path inside libraries as well.

This finally mounts all ZFS filesystems using `zfsutil` with correct and
intended mount options.
2022-05-26 22:17:02 +02:00
Klemens Nanni
4b045c7066 nixos/stage-1: Remove redundant symlink check
find(1)'s test `-type f` already excludes symbolic links, so `test -L`
will never return false for found files.
2022-05-26 22:17:02 +02:00
Klemens Nanni
de77849ad6 nixos/stage-1: Account for hardcoded executable paths
At least pkgs/os-specific/linux/util-linux/default.nix uses
```
    "--enable-fs-paths-default=/run/wrappers/bin:/run/current-system/sw/bin:/sbin"
```

which does not cover stage 1 init's PATH as all executables are put
under /bin/.

Fix util-linux's `mount` usage by symlinking /sbin to it.
2022-05-26 22:17:02 +02:00
Klemens Nanni
9553106832 nixos/stage-1: Ensure correct ZFS mount options
Consider ZFS filesystems meant to be mounted with zfs.mount(8), e.g.
```
config.fileSystems."/media".options = [ "zfsutil" ];
config.fileSystems."/nix".options = [ "zfsutil" ];
```

`zfsutil` uses dataset properties as mount options such that zfsprops(7)
do not have to be duplicated in fstab(5) entries or manual mount(8)
invocations.

Given the example configuation above, /media is correctly mounted with
`setuid=off` translated into `nosuid`:

```
$ zfs get -Ho value setuid /media
off
$ findmnt -t zfs -no options /media
rw,nosuid,nodev,noexec,noatime,xattr,posixacl
```

/nix however was mounted with default mount(8) options:
```
$ zfs get -Ho value setuid /nix
off
$ findmnt -t zfs -no options /nix
rw,relatime,xattr,noacl
```

This holds true for all other ZFS properties/mount options, including
`exec/[no]exec`, `devices/[no]dev`, `atime/[no]atime`, etc.

/nix is mounted using BusyBox's `mount` during stage 1 init while /media
is mounted later using proper systemd and/or util-linux's `mount`.

Tracing stage 1 init showed that BusyBox never tried to execute
mount.zfs(8) as intended by `zfsutil`.

Replacing it with util-linux's `mount` and adding the mount helper
showed attempts to execute mount.zfs(8).

Ensure ZFS filesystems are mounted with correct options iff `zfsutil` is
used.
2022-05-26 22:16:53 +02:00
Manuel Bärenz
3b6fb49f3d scribus: Rename scribus{,Unstable} -> scribus{_1_4,} 2022-05-26 21:10:04 +02:00
Jonas Heinrich
f81c763c1d nixos/appvm: init at unstable-2021-12-20
Co-authored-by: Mikhail Klementev <blame@dumpstack.io>
Co-authored-by: Cabia Rangris <me@cab404.ru>
2022-05-26 08:33:49 -04:00