diff --git a/system/options.nix b/system/options.nix index 0a57304ab2b..5e0c6add507 100644 --- a/system/options.nix +++ b/system/options.nix @@ -424,7 +424,7 @@ in (import ../upstart-jobs/swap.nix) (import ../upstart-jobs/network-interfaces.nix) - + (import ../upstart-jobs/nscd.nix) # Name service cache daemon. # security (import ../system/sudo.nix) diff --git a/upstart-jobs/default.nix b/upstart-jobs/default.nix index 18c4d7f9e86..d7b6317b91b 100644 --- a/upstart-jobs/default.nix +++ b/upstart-jobs/default.nix @@ -71,12 +71,6 @@ let jobs = map makeJob ([ - # Name service cache daemon. - (import ../upstart-jobs/nscd.nix { - inherit (pkgs) glibc; - inherit nssModulesPath; - }) - # Handles the maintenance/stalled event (single-user shell). (import ../upstart-jobs/maintenance-shell.nix { inherit (pkgs) bash; diff --git a/upstart-jobs/nscd.nix b/upstart-jobs/nscd.nix index c88c219c63b..fe89cdc5646 100644 --- a/upstart-jobs/nscd.nix +++ b/upstart-jobs/nscd.nix @@ -1,35 +1,44 @@ -{glibc, nssModulesPath}: +{pkgs, config, ...}: + +###### implementation + +let + nssModulesPath = config.system.nssModules.path; +in { - name = "nscd"; - - users = [ - { name = "nscd"; - uid = (import ../system/ids.nix).uids.nscd; - description = "Name service cache daemon user"; - } - ]; - - job = " -description \"Name Service Cache Daemon\" - -start on startup -stop on shutdown - -env LD_LIBRARY_PATH=${nssModulesPath} - -start script - - mkdir -m 0755 -p /var/run/nscd - mkdir -m 0755 -p /var/db/nscd - - rm -f /var/db/nscd/* # for testing - -end script - -# !!! -d turns on debug info which probably makes nscd slower -# 2>/dev/null is to make it shut up -respawn ${glibc}/sbin/nscd -f ${./nscd.conf} -d 2> /dev/null - "; - + services = { + extraJobs = [{ + name = "nscd"; + + users = [ + { name = "nscd"; + uid = (import ../system/ids.nix).uids.nscd; + description = "Name service cache daemon user"; + } + ]; + + job = '' + description \"Name Service Cache Daemon\" + + start on startup + stop on shutdown + + env LD_LIBRARY_PATH=${nssModulesPath} + + start script + + mkdir -m 0755 -p /var/run/nscd + mkdir -m 0755 -p /var/db/nscd + + rm -f /var/db/nscd/* # for testing + + end script + + # !!! -d turns on debug info which probably makes nscd slower + # 2>/dev/null is to make it shut up + respawn ${pkgs.glibc}/sbin/nscd -f ${./nscd.conf} -d 2> /dev/null + ''; + }]; + }; }