summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2022-01-10 21:30:15 +0300
committerNikolay Amiantov <ab@fmap.me>2022-01-10 22:45:12 +0300
commitb451eca621d8cd52345e2094e46e970719b6a902 (patch)
treea5db3b1261e494dd53606c58950cf3cb34b61780 /nixos/modules
parent0ecf7d414811f831060cf55707c374d54fbb1dec (diff)
downloadnixpkgs-b451eca621d8cd52345e2094e46e970719b6a902.tar
nixpkgs-b451eca621d8cd52345e2094e46e970719b6a902.tar.gz
nixpkgs-b451eca621d8cd52345e2094e46e970719b6a902.tar.bz2
nixpkgs-b451eca621d8cd52345e2094e46e970719b6a902.tar.lz
nixpkgs-b451eca621d8cd52345e2094e46e970719b6a902.tar.xz
nixpkgs-b451eca621d8cd52345e2094e46e970719b6a902.tar.zst
nixpkgs-b451eca621d8cd52345e2094e46e970719b6a902.zip
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`.
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/services/system/nscd.nix4
1 files changed, 3 insertions, 1 deletions
diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix
index d720f254b81..00a87e788dc 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; };