diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-07-19 12:48:30 -0400 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-07-19 12:48:30 -0400 |
commit | 425ec4cb00d09a0803d9cc8cdbc554661c704a8a (patch) | |
tree | d7f0abaf84c8080eb30224c571a01fa8f0455b52 /modules/services/logging | |
parent | 917e53a2d255885835814e7ff30708facca4ca88 (diff) | |
download | nixlib-425ec4cb00d09a0803d9cc8cdbc554661c704a8a.tar nixlib-425ec4cb00d09a0803d9cc8cdbc554661c704a8a.tar.gz nixlib-425ec4cb00d09a0803d9cc8cdbc554661c704a8a.tar.bz2 nixlib-425ec4cb00d09a0803d9cc8cdbc554661c704a8a.tar.lz nixlib-425ec4cb00d09a0803d9cc8cdbc554661c704a8a.tar.xz nixlib-425ec4cb00d09a0803d9cc8cdbc554661c704a8a.tar.zst nixlib-425ec4cb00d09a0803d9cc8cdbc554661c704a8a.zip |
syslogd: Make it work with systemd
Also made syslogd optional (and disabled by default).
Diffstat (limited to 'modules/services/logging')
-rw-r--r-- | modules/services/logging/syslogd.nix | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/modules/services/logging/syslogd.nix b/modules/services/logging/syslogd.nix index bfe7352122c0..2136aaa5586c 100644 --- a/modules/services/logging/syslogd.nix +++ b/modules/services/logging/syslogd.nix @@ -36,6 +36,15 @@ in services.syslogd = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable syslogd. Note that systemd also logs + syslog messages, so you normally don't need to run syslogd. + ''; + }; + tty = mkOption { type = types.uniq types.string; default = "tty10"; @@ -89,22 +98,27 @@ in ###### implementation - config = { + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.sysklogd ]; services.syslogd.extraParams = optional cfg.enableNetworkInput "-r"; - jobs.syslogd = + boot.systemd.services."syslog.service" = { description = "Syslog daemon"; + + requires = [ "syslog.socket" ]; - #startOn = "started udev"; - - environment = { TZ = config.time.timeZone; }; - - daemonType = "fork"; + wantedBy = [ "multi-user.target" "syslog.target" ]; - path = [ pkgs.sysklogd ]; + environment.TZ = config.time.timeZone; - exec = "syslogd ${toString cfg.extraParams} -f ${syslogConf}"; + serviceConfig = + '' + ExecStart=${pkgs.sysklogd}/sbin/syslogd ${toString cfg.extraParams} -f ${syslogConf} -n + # Prevent syslogd output looping back through journald. + StandardOutput=null + ''; }; }; |