nixpkgs/nixos
Florian Klink 0d198e7a52 nixos/nix-daemon: workaround NixOS/nix#6285
The Nix-provided `nix-daemon.socket` file has a

> ConditionPathIsReadWrite=/nix/var/nix/daemon-socket/socket

line, to skip that unit if /nix/var/nix/daemon-socket/socket is
read-only (which is the case in some nixos-containers with that folder
bind-ro-mounted from the host).

In these cases, the unit was skipped.

Systemd 250 (rightfully) started to also skip in these cases:

> [ 237.187747] systemd[1]: Nix Daemon Socket was skipped because of a failed condition check (ConditionPathIsReadWrite=/nix/var/nix/daemon-socket).

However, systemd < 250 didn't skip if /nix/var/nix/daemon-socket/socket
didn't /exist at all/, and we were relying on this bug in the case for
fresh NixOS systems, to have /nix/var/nix/daemon-socket/socket created
initially.

Move the creation of that folder to systemd-tmpfiles, by shipping an
appropriate file in `${nixPackage}/lib/tmpfiles.d/nix-daemon.conf`
(NixOS/nix#6285).

In the meantime, set a systemd tmpfiles rule manually in NixOS.

This has been tested to still work with read-only bind-mounted
/nix/var/nix/daemon-socket/socket in containers, it'll keep them
read-only ;-)
2022-03-21 11:43:38 +01:00
..
doc Merge pull request #164330 from Luflosi/fix-tor-client-disable 2022-03-20 19:51:30 +01:00
lib Merge pull request #162271 from Infinisil/warn-no-type 2022-03-16 22:58:45 +01:00
maintainers nixos/nix-daemon: use structural settings 2022-01-26 21:04:50 -05:00
modules nixos/nix-daemon: workaround NixOS/nix#6285 2022-03-21 11:43:38 +01:00
tests nixos/tests: add mastodon test 2022-03-20 21:01:03 +01:00
COPYING
default.nix
README
release-combined.nix nixos/release tested job: drop nano test 2022-03-01 19:28:31 +01:00
release-small.nix nixos/release: disable nfs3.simple 2022-03-03 06:34:59 +10:00
release.nix

*** NixOS ***

NixOS is a Linux distribution based on the purely functional package
management system Nix.  More information can be found at
https://nixos.org/nixos and in the manual in doc/manual.