forked from mirrors/nixpkgs
ddclient: add configFile option
ddclient: improve documentation Adopted @joachifm's suggestions. ddclient additional refinement
This commit is contained in:
parent
d454f9cca2
commit
5bca9297ff
|
@ -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}
|
||||
|
|
Loading…
Reference in a new issue