Commit Graph

27488 Commits

Author SHA1 Message Date
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
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
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
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
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
sternenseemann
8b5e372c97
Merge pull request #168113 from a-m-joseph/ispowerpc-becomes-ispower32
lib/systems/inspect.nix: replace isPowerPC with isPower32BigEndian
2022-05-26 11:44:39 +02:00
Maciej Krüger
41e3072c81
Merge pull request #147232 from mkg20001/zen-tweaks 2022-05-26 06:44:54 +02:00
Matthew Toohey
e41c423b01 nixos/version: add trailing newline to os-release 2022-05-25 20:25:27 -04:00
Jörg Thalheim
8d9afe3d3b
doc: rework notable changes 2022-05-25 23:26:44 +02:00
Jörg Thalheim
9cbb75f315
doc: fix docker/maddy in changelog 2022-05-25 21:56:28 +02:00
Jörg Thalheim
5936d939ce
doc: sort service list 2022-05-25 21:47:34 +02:00
Jörg Thalheim
9ae4a910e4
nixos/timetagger: drop non-evaluating service files
The file was not included in the module list and also does not evaluate.
2022-05-25 21:24:48 +02:00
Jörg Thalheim
78f5129aa6
doc: add missing new services to release-notes 2022-05-25 21:24:47 +02:00
Sandro
7fa8d8b2e2
Merge pull request #153481 from Tchekda/submit/bird-lg 2022-05-25 18:20:58 +02:00
Adam Joseph
c0085404bd lib/systems/inspect.nix: remove isPowerPC
Very confusingly, the `isPowerPC` predicate in
`lib/systems/inspect.nix` does *not* match `powerpc64le`!

This is because `isPowerPC` is defined as

  isPowerPC      = { cpu = cpuTypes.powerpc; };

Where `cpuTypes.powerpc` is:

  { bits = 32; significantByte = bigEndian; family = "power"; };

This means that the `isPowerPC` predicate actually only matches the
subset of machines marketed under this name which happen to be 32-bit
and running in big-endian mode which is equivalent to:

  with stdenv.hostPlatform; isPower && isBigEndian && is32bit

This seems like a sharp edge that people could easily cut themselves
on.  In fact, that has already happened: in
`linux/kernel/common-config.nix` there is a test which will always
fail:

  (stdenv.hostPlatform.isPowerPC && stdenv.hostPlatform.is64bit)

A more subtle case of the strict isPowerPC being used instead of the
moreg general isPower accidentally are the GHC expressions:

  Update pkgs/development/compilers/ghc/8.10.7.nix
  Update pkgs/development/compilers/ghc/8.8.4.nix
  Update pkgs/development/compilers/ghc/9.2.2.nix
  Update pkgs/development/compilers/ghc/9.0.2.nix
  Update pkgs/development/compilers/ghc/head.nix

Since the remaining legitimate use sites of isPowerPC are so few, remove
the isPowerPC predicate completely. The alternative expression above is
noted in the release notes as an alternative.

Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2022-05-25 09:45:42 +02:00
Elis Hirwing
868e519238
php: Upgrade from PHP 8.0 to 8.1 as default PHP 2022-05-24 19:24:49 +02:00
Eric Bailey
3798f3c168
kops: 1.23.1 -> 1.23.2 (#174165)
Also update 22.05 release notes, which still mentioned 1.22.4 as the default.
2022-05-24 13:57:45 +02:00
sternenseemann
392b95da61
Merge pull request #140271 from sternenseemann/executable-cross
stdenv.mkDerivation: be less strict about check execution for cross
2022-05-24 01:14:36 +02:00
Sandro
49d6b4aa34
Merge pull request #173512 from SuperSandro2000/gnupg-pinentry
nixos/gnupg: default to a reasonable pinentry program on headless sys…
2022-05-23 21:29:16 +02:00
sternenseemann
1f8bae43e4 nixos/doc/rl-2211.section.md: changes w.r.t. cross check execution 2022-05-23 21:25:04 +02:00
Janne Heß
953b5d19bc
manual: Fix the 22.11 changelog 2022-05-23 21:13:37 +02:00