Remove nix-daemon.socket dependency of /nix/store

The dependency causes a cycle as the nix store will be mounted after the
network is ready, which itself depends on the socket.target which
requires the nix-daemon.socket to be ready too.
This commit is contained in:
Rodrigo Arias 2023-09-18 17:19:28 +02:00
parent 8c11c7460a
commit 1fc6891dc6

View File

@ -4,6 +4,17 @@
# from being able to mount it.
boot.readOnlyNixStore = false;
# The nix-daemon.socket has an unnecessary dependency over the /nix/store
# mount point. But that mount point won't be provided until the network is
# ready. However, the network-address-eno1.service, has a dependency over
# sockets.target, causing a cycle.
# One solution is to make the nix-daemon.socket depend only on the socket
# patch (which is already covered by ConditionPathIsReadWrite =
# /nix/var/nix/daemon-socket), instead on the /nix/store.
systemd.sockets.nix-daemon.unitConfig = {
RequiresMountsFor = "/nix/var/nix/daemon-socket";
};
# Mount the hut nix store via NFS in read-only mode.
fileSystems."/mnt/hut-nix-store" = {
device = "hut:/nix/store";