From b451eca621d8cd52345e2094e46e970719b6a902 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 10 Jan 2022 21:30:15 +0300 Subject: [PATCH] nscd service: fix ordering and start automatically During working on #150837 I discovered that `google-oslogin` test started failing, and so did some of my development machines. Turns out it was because nscd doesn't start by default; rather it's wanted by NSS lookup targets, which are not always fired up. To quote from section on systemd.special(7) on `nss-user-lookup.target`: > All services which provide parts of the user/group database should be > ordered before this target, and pull it in. Following this advice and comparing our unit to official `sssd.service` unit (which is a similar service), we now pull NSS lookup targets from the service, while starting it with `multi-user.target`. --- nixos/modules/services/system/nscd.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index d720f254b8135..00a87e788dc4d 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -50,7 +50,9 @@ in systemd.services.nscd = { description = "Name Service Cache Daemon"; - wantedBy = [ "nss-lookup.target" "nss-user-lookup.target" ]; + before = [ "nss-lookup.target" "nss-user-lookup.target" ]; + wants = [ "nss-lookup.target" "nss-user-lookup.target" ]; + wantedBy = [ "multi-user.target" ]; environment = { LD_LIBRARY_PATH = nssModulesPath; };