Commit Graph

27516 Commits

Author SHA1 Message Date
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
Maximilian Bosch
2b7e06e0b6
Merge pull request #174145 from alarsyo/nextcloud24-php8
nixos/nextcloud: use PHP 8 avoiding broken 2FA app
2022-05-23 20:23:11 +02:00
Janne Heß
bfdfe12c78
22.11 is Raccoon 2022-05-23 20:08:07 +02:00
Janne Heß
3673f148b3
Merge remote-tracking branch 'origin/staging-next'
* origin/staging-next: (62 commits)
  Re-Revert "lua: fix on darwin by using makeBinaryWrapper (#172749)"
  openldap: fix cross-compilation
  makeBinaryWrapper: fix codesign on aarch64-darwin
  python3Packages.ldap: fix linking with openldap 2.5+
  Revert "lua: fix on darwin by using makeBinaryWrapper (#172749)"
  wine: enable parallel build again
  pkgsi686Linux.gdb: fix formatting for 32-bit systems
  gtk4: Fix incorrect merge
  nixos/openldap: use upstream unit defaults
  openldap: update maintainers
  openldap: 2.4.58 -> 2.6.2
  Revert "Add mingwW64-llvm cross-system."
  lua: fix on darwin by using makeBinaryWrapper (#172749)
  python310Packages.python-mimeparse: execute tests
  pandas: fix darwin build
  gtk3: 3.24.33 -> 3.24.33-2022-03-11
  gtk4: patch fixing g-c-c crashes
  e2fsprogs: patch for CVE-2022-1304
  firefox-unwrapped: fix cross compilation
  rustc: expose correct llvmPackages for cross compile
  ...
2022-05-23 19:56:59 +02:00
Janne Heß
c1c368194e
release-notes: Fix the first lines for 22.05
They had the wrong order
2022-05-23 19:19:13 +02:00
Antoine Martin
f3f0b60006 nixos/nextcloud: use PHP 8 avoiding broken 2FA app 2022-05-23 18:39:39 +02:00
Vladimír Čunát
c70995bae3
Merge #173996: nixosTests.custom-ca: fix meta evaluation 2022-05-23 17:52:11 +02:00
sternenseemann
c2738707de
Merge pull request #168316 from sternenseemann/supported-no-hydra
lib.systems: remove supported, replace with flakeExposed
2022-05-23 17:08:22 +02:00
Martin Weinelt
6d8f8a7b46
Merge pull request #174090 from helsinki-systems/fix/plymouth
nixos/plymouth: Fix non-systemd initrd boot
2022-05-23 17:08:02 +02:00
sternenseemann
168b926435 lib.systems: remove supported, replace with flakeExposed
Since the list only gates the platforms the nixpkgs flake exposes
packages to build on, the `hydra` label made little sense. It was also
only used for this purpose, so the `tier*` attributes were largely
unnecessary.

To reflect the intention more accurately, we expose
`lib.systems.flakeExposed` and use it to gate flake.nix's system list.
2022-05-23 15:27:30 +02:00
Janne Heß
9d7aff488a
Merge pull request #174061 from helsinki-systems/fix/nixos-test-mysql-backup
nixosTests.mysql-backup: fix
2022-05-23 14:10:06 +02:00
github-actions[bot]
f51499324c
Merge master into staging-next 2022-05-23 12:01:25 +00:00
pennae
023e25264c
Merge pull request #172983 from pennae/mosquitto-bind-interface
nixos/mosquitto: add bind_interface listener option, fix assertion messages
2022-05-23 10:53:08 +00:00
Janne Heß
e9bdd5fa74
Merge pull request #168168 from fedeinthemix/home-mode
nixos/users-group: Add 'homeMode' option.
2022-05-23 12:27:49 +02:00
Florian Klink
2403723108
Merge pull request #172652 from klemensn/systemd-optional-system-units
nixos/systemd: Package only built component units
2022-05-23 11:35:01 +02:00
Janne Heß
2cc4bf9427
nixos/plymouth: Fix non-systemd initrd boot 2022-05-23 11:17:21 +02:00
Federico Beffa
572ff94f55 nixos/users-group: make homeMode respect is_dry and create home directly with right permissions 2022-05-23 07:47:11 +02:00
Jared Baur
5463b86d03
nixos/users: Fix typo 2022-05-22 22:13:39 -07:00
ajs124
b67500724f nixosTests.mysql-backup: fix 2022-05-23 02:39:33 +02:00
github-actions[bot]
ba5122823c
Merge master into staging-next 2022-05-23 00:02:36 +00:00
github-actions[bot]
107b6041bc
Merge master into staging-next 2022-05-22 18:01:20 +00:00
Izorkin
6e8e1faabe
nixos/tests: add nginx-http3 test 2022-05-22 19:29:12 +03:00
Martin Weinelt
05232d19b6
Merge pull request #163220 from fleaz/init-r53_ddns 2022-05-22 17:08:55 +02:00
Vladimír Čunát
bf1aabe3c1
nixosTests.custom-ca: fix meta evaluation
Test case: nix eval -f. nixosTests.custom-ca.firefox.meta
2022-05-22 15:57:57 +02:00
Benno Bielmeier
d156db7d17 nixos/gollum: add option 'no-edit' 2022-05-22 15:06:00 +02:00
Benno Bielmeier
8e7b82be49 nixos/gollum: add option 'user-icons' 2022-05-22 15:06:00 +02:00
Benno Bielmeier
8a770f06a2 gollum: refactor package
use `bundlerApp` in preference to `stdenv.mkDerivation`
2022-05-22 15:06:00 +02:00
github-actions[bot]
86ec85655d
Merge master into staging-next 2022-05-22 12:01:28 +00:00
Yureka
821724b184 nixos/gitlab: support 15.x 2022-05-22 13:09:36 +02:00
Jörg Thalheim
e2e77bfb9a
Merge pull request #173978 from alyssais/postfix-RemainAfterExit
nixos/postfix: make postfix-setup RemainAfterExit
2022-05-22 12:04:04 +01:00
Alyssa Ross
27530ba856
nixos/postfix: make postfix-setup RemainAfterExit
Otherwise, it wouldn't get restarted when a new system configuration
was activatad, so the Postfix configuration wouldn't be updated.

Fixes: fb2fa1b50f ("nixos/postfix: pull setup into its own unit")
2022-05-22 10:33:22 +00:00
github-actions[bot]
dbef850602
Merge master into staging-next 2022-05-22 00:02:20 +00:00
Francesco Gazzetta
6bb9d0ce3b nixos/zeronet: fix systemd after 2022-05-21 17:46:28 -04:00
Francesco Gazzetta
183e391256 nixos/zeronet: add package option 2022-05-21 17:46:28 -04:00
Guillaume Girol
4f709ea817
Merge pull request #164883 from oxalica/feat/btrbk-no-timer
nixos/btrbk: allow instances without timers and simplify
2022-05-21 20:04:54 +00:00
github-actions[bot]
084f3d75e7
Merge master into staging-next 2022-05-21 18:01:06 +00:00
Maximilian Bosch
bfa8abf3b0
Merge pull request #170797 from Ma27/mailman
mailman: refactor package structure
2022-05-21 19:24:24 +02:00
Maximilian Bosch
33c44a1031
nextcloud22: drop
Version 22 will be EOLed in July 2022[1] and we shouldn't have
unsupported software in the soon-to-be-released NixOS 22.05, hence
dropping it already.

[1] https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule
2022-05-21 18:34:28 +02:00
Jan Tojnar
b8b9f52393 Merge branch 'master' into staging-next
Conflicts:
- pkgs/applications/networking/browsers/firefox/common.nix between 318fae87c0 and f6c5761935.
2022-05-21 17:52:39 +02:00
Guillaume Girol
32e45a5c9f nixos/tests/os-prober: fix
synchronize the list of extraDependencies with the installer test
2022-05-21 12:00:00 +00:00
Bobby Rong
ce084ad5bf
Merge pull request #173842 from bobby285271/pantheon-updates
nixos/pantheon: install sideload when Flatpak is enabled
2022-05-21 17:34:41 +08:00
Bobby Rong
646336ee06
nixos/pantheon: install sideload when Flatpak is enabled
Tested by installing VLC from Flathub, sideload is installed by default on elementary OS.
2022-05-21 14:05:42 +08:00
Aidan Gauland
80367c8db8
nixos/nextcloud: Remove confusing comment
There is a comment above the invocation of 'nextcloud-occ app:enable', stating
that the script should not fail if any of the apps cannot be enabled, but there
is nothing in place to suppress errors.  The app:enable command already
continues installing the remaining apps when one fails to install, and we do not
want to suppress errors in the setup script, so this just removes the comment
about not failing.
2022-05-21 10:36:51 +12:00
Malte Brandy
859c2499fb Merge branch 'master' into haskell-updates 2022-05-20 22:22:38 +02:00
David Tchekachev
0f63bd3ba8
nixos/bird-lg: init 2022-05-20 15:44:00 +03:00
sternenseemann
604120a374
Merge pull request #173576 from sternenseemann/xmonad-tests
[haskell-updates] release-haskell.nix: include nixos tests for xmonad
2022-05-20 11:48:23 +02:00
Janne Heß
cd139069fd
Merge pull request #173668 from mweinelt/slapd-notify
nixos/openldap: use upstream unit defaults
2022-05-20 10:20:13 +02:00
github-actions[bot]
ce95d139b7
Merge master into staging-next 2022-05-20 06:01:19 +00:00
Bobby Rong
cee75cb765
Merge pull request #173459 from bobby285271/pantheon-updates
Pantheon 7 updates 2022-05-18
2022-05-20 13:12:39 +08:00
github-actions[bot]
75906ed245
Merge master into staging-next 2022-05-20 00:02:29 +00:00
Maximilian Bosch
aea3ec632d
mailman: split python env for web and mailman 2022-05-20 01:36:48 +02:00
Maximilian Bosch
72a14ea563
mailman: refactor package structure
* Removed unused `.package`-option.
* Added explicit postgresql support.
* Create a new meta-package for mailman to make sure each component has
  the **same** python and packages can be downgraded if needed (e.g.
  psycopg2 or sqlalchemy) without interfering with `pythonPackages` in any way.
* Document why certain python overrides are needed.

Closes #170035
Closes #158424
2022-05-20 01:21:20 +02:00
Martin Weinelt
885d4e047b
nixos/openldap: use upstream unit defaults
OpenLDAP since version 2.5.4¹ supports sd_notify, so we should make use
of it.

Also updates the unit description and documentation with the values
upstream provides.

Starts slapd only after reaching `network-online.target`, which ensures
binding to specific ip addresses is possible, since `network.target`
only guarantees interfaces exist, but not that addressing is finished.

[1] https://bugs.openldap.org/show_bug.cgi?id=8707
2022-05-19 22:31:26 +02:00
Jörg Thalheim
e56ae50ed9
Merge pull request #173109 from Mic92/upterm
nixos/upterm: additional hardening
2022-05-19 20:16:13 +01:00
Robert Hensing
90344e9f40
Merge pull request #171163 from hercules-ci/nixpkgs-config-doc
Add generated `nixpkgs.config` doc to Nixpkgs manual
2022-05-19 20:51:38 +02:00
github-actions[bot]
b833efbcd7
Merge master into staging-next 2022-05-19 18:06:51 +00:00
sternenseemann
f181d591ce
Merge pull request #173623 from xaverdh/xmonad-fix-example
nixos/xmonad: adjust to reflect v0.17.0 update of xmonad
2022-05-19 19:18:55 +02:00
Dominik Xaver Hörl
065085b340 rl-2205: mention changes to the xmonad haskell module 2022-05-19 18:11:39 +02:00
Dominik Xaver Hörl
34a1ff28e0 nixos/xmonad: adjust example to reflect v0.17.0 update of xmonad 2022-05-19 18:10:55 +02:00
Silvan Mosberger
f224a4f1b3
Merge pull request #76315 from nek0/restya-board-config-fix2
restya-board: further fix for functionality
2022-05-19 16:04:41 +02:00
Niklas Hambüchen
23aee34b6f
Merge pull request #171264 from NixOS/nebula-always-restart
nixos/nebula: Always restart
2022-05-19 14:05:49 +02:00
github-actions[bot]
bd83e4cf98
Merge master into staging-next 2022-05-19 12:01:54 +00:00
Vladimír Čunát
90e10f361f
Merge #172668: installation-cd: add more guest tools to NixOS graphical installation base 2022-05-19 12:12:10 +02:00
Anillc
6958412083
nixos/frr: add extraOptions option
Support passing options to daemons. For example, bgpd needs '-M rpki' to
enable rpki functions.
2022-05-19 16:02:47 +08:00
sternenseemann
0520dda5ec nixos/tests/xmonad: adjust to XMonad 0.17 2022-05-19 09:15:12 +02:00
github-actions[bot]
925219f62b
Merge master into staging-next 2022-05-18 18:01:13 +00:00
Artturi
974ba4eaa6
Merge pull request #173024 from edolstra/update-fallback-paths
nix-fallback-paths.nix: Update to 2.8.1
2022-05-18 20:42:56 +03:00
Lassulus
e7f5c53e02
Merge pull request #173439 from mweinelt/openldap
openldap: 2.4.58 -> 2.6.2
2022-05-18 19:01:11 +02:00
Sandro
9e44ffc043
nixos/gnupg: default to a reasonable pinentry program on headless systems 2022-05-18 18:31:34 +02:00
Robert Hensing
36fb9668f7
Merge pull request #172855 from bolt12/bol12-all-regions
Added all current available AWS regions
2022-05-18 16:39:17 +02:00
Kristoffer Føllesdal
298e2ce302 nixos/grafana: add disableLoginForm option 2022-05-18 16:09:04 +02:00
Kristoffer Føllesdal
ea8f7e7bbd nixos/grafana: add serveFromSubPath option 2022-05-18 16:08:15 +02:00
Martin Weinelt
39ef6322b5
openldap: 2.4.58 -> 2.6.2
https://git.openldap.org/openldap/openldap/-/blob/OPENLDAP_REL_ENG_2_5/ANNOUNCEMENT
https://git.openldap.org/openldap/openldap/-/blob/OPENLDAP_REL_ENG_2_6/ANNOUNCEMENT

Co-Authored-By: Andreas Schrägle <nix@ajs124.de>
2022-05-18 15:25:52 +02:00
github-actions[bot]
bd9c07eb24
Merge master into staging-next 2022-05-18 12:01:24 +00:00
Shea Levy
7456be85db
Merge branch 'staging-next' into staging 2022-05-18 06:40:21 -04:00
Maximilian Bosch
f1f849afb8
Merge pull request #171736 from arnottcr/nextcloud
nextcloud24: init at 24.0.0
2022-05-18 12:14:01 +02:00
Silvan Mosberger
26ab617a10
Merge pull request #172393 from mweinelt/openssh/sntrup761x25519-sha512-kexmethod
nixos/openssh: Add sntrup761x25519-sha512 kexAlgo
2022-05-18 12:03:00 +02:00
Maximilian Bosch
a0bcf1e9ea
nixos/nextcloud: styling 2022-05-18 11:50:53 +02:00
Maximilian Bosch
e46bff9569
nixos/nextcloud: upgrade instructions / info for v23 2022-05-18 11:47:50 +02:00