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";
|
stateDir = "/var/spool/ddclient";
|
||||||
ddclientUser = "ddclient";
|
ddclientUser = "ddclient";
|
||||||
ddclientFlags = "-foreground -verbose -noquiet -file /etc/ddclient.conf";
|
ddclientFlags = "-foreground -verbose -noquiet -file ${config.services.ddclient.configFile}";
|
||||||
ddclientPIDFile = "${stateDir}/ddclient.pid";
|
ddclientPIDFile = "${stateDir}/ddclient.pid";
|
||||||
|
|
||||||
in
|
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 {
|
protocol = mkOption {
|
||||||
default = "dyndns2";
|
default = "dyndns2";
|
||||||
type = str;
|
type = str;
|
||||||
@ -109,9 +120,11 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.etc."ddclient.conf" = {
|
environment.etc."ddclient.conf" = {
|
||||||
|
enable = config.services.ddclient.configFile == /etc/ddclient.conf;
|
||||||
uid = config.ids.uids.ddclient;
|
uid = config.ids.uids.ddclient;
|
||||||
mode = "0600";
|
mode = "0600";
|
||||||
text = ''
|
text = ''
|
||||||
|
# This file can be used as a template for configFile or is automatically generated by Nix options.
|
||||||
daemon=600
|
daemon=600
|
||||||
cache=${stateDir}/ddclient.cache
|
cache=${stateDir}/ddclient.cache
|
||||||
pid=${ddclientPIDFile}
|
pid=${ddclientPIDFile}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user