3
0
Fork 0
forked from mirrors/nixpkgs

ddclient: add configFile option

ddclient: improve documentation

Adopted @joachifm's suggestions.

ddclient additional refinement
This commit is contained in:
Thomas Bereknyei 2016-08-20 03:39:52 -04:00 committed by Robert Helgesson
parent d454f9cca2
commit 5bca9297ff
No known key found for this signature in database
GPG key ID: C3DB11069E65DC86

View file

@ -7,7 +7,7 @@ let
stateDir = "/var/spool/ddclient";
ddclientUser = "ddclient";
ddclientFlags = "-foreground -verbose -noquiet -file /etc/ddclient.conf";
ddclientFlags = "-foreground -verbose -noquiet -file ${config.services.ddclient.configFile}";
ddclientPIDFile = "${stateDir}/ddclient.pid";
in
@ -52,6 +52,17 @@ in
'';
};
configFile = mkOption {
default = "/etc/ddclient.conf";
type = path;
description = ''
Path to configuration file.
When set to the default '/etc/ddclient.conf' it will be populated with the various other options in this module. When it is changed (for example: '/root/nixos/secrets/ddclient.conf') the file read directly to configure ddclient. This is a source of impurity.
The purpose of this is to avoid placing secrets into the store.
'';
example = "/root/nixos/secrets/ddclient.conf";
};
protocol = mkOption {
default = "dyndns2";
type = str;
@ -109,9 +120,11 @@ in
};
environment.etc."ddclient.conf" = {
enable = config.services.ddclient.configFile == /etc/ddclient.conf;
uid = config.ids.uids.ddclient;
mode = "0600";
text = ''
# This file can be used as a template for configFile or is automatically generated by Nix options.
daemon=600
cache=${stateDir}/ddclient.cache
pid=${ddclientPIDFile}