summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/networking/rpcbind.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/networking/rpcbind.nix')
-rw-r--r--nixos/modules/services/networking/rpcbind.nix10
1 files changed, 10 insertions, 0 deletions
diff --git a/nixos/modules/services/networking/rpcbind.nix b/nixos/modules/services/networking/rpcbind.nix
index aa04214debb0..60e78dfec51b 100644
--- a/nixos/modules/services/networking/rpcbind.nix
+++ b/nixos/modules/services/networking/rpcbind.nix
@@ -35,6 +35,16 @@ with lib;
systemd.services.rpcbind = {
wantedBy = [ "multi-user.target" ];
+ # rpcbind performs a check for /var/run/rpcbind.lock at startup
+ # and will crash if /var/run isn't present. In the stock NixOS
+ # var.conf tmpfiles configuration file, /var/run is symlinked to
+ # /run, so rpcbind can enter a race condition in which /var/run
+ # isn't symlinked yet but tries to interact with the path, so
+ # controlling the order explicitly here ensures that rpcbind can
+ # start successfully. The `wants` instead of `requires` should
+ # avoid creating a strict/brittle dependency.
+ wants = [ "systemd-tmpfiles-setup.service" ];
+ after = [ "systemd-tmpfiles-setup.service" ];
};
users.users.rpc = {