diff options
author | Peter Hoeg <peter@hoeg.com> | 2017-10-11 23:13:37 +0800 |
---|---|---|
committer | Peter Hoeg <peter@hoeg.com> | 2017-10-12 12:55:12 +0800 |
commit | 0034f9e52c581e2f3dc924c3ff73630fae555024 (patch) | |
tree | 49474b500f2d22550d5a1d7c2c4b313b05e086e1 | |
parent | 3fe7cddc304abb86e61a750a4f807270c7ca7825 (diff) | |
download | nixlib-0034f9e52c581e2f3dc924c3ff73630fae555024.tar nixlib-0034f9e52c581e2f3dc924c3ff73630fae555024.tar.gz nixlib-0034f9e52c581e2f3dc924c3ff73630fae555024.tar.bz2 nixlib-0034f9e52c581e2f3dc924c3ff73630fae555024.tar.lz nixlib-0034f9e52c581e2f3dc924c3ff73630fae555024.tar.xz nixlib-0034f9e52c581e2f3dc924c3ff73630fae555024.tar.zst nixlib-0034f9e52c581e2f3dc924c3ff73630fae555024.zip |
dnsmasq nixos: make sure it always runs
By default we only restart if the dnsmasq daemon fails but we introduce an option to always keep it running.
-rw-r--r-- | nixos/modules/services/networking/dnsmasq.nix | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix index fcf5aa5f175b..91a3e54474ac 100644 --- a/nixos/modules/services/networking/dnsmasq.nix +++ b/nixos/modules/services/networking/dnsmasq.nix @@ -55,6 +55,14 @@ in ''; }; + alwaysKeepRunning = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, systemd will always respawn dnsmasq even if shut down manually. The default, disabled, will only restart it on error. + ''; + }; + extraConfig = mkOption { type = types.lines; default = ""; @@ -101,10 +109,12 @@ in BusName = "uk.org.thekelleys.dnsmasq"; ExecStart = "${dnsmasq}/bin/dnsmasq -k --enable-dbus --user=dnsmasq -C ${dnsmasqConf}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + PrivateTmp = true; + ProtectSystem = true; + ProtectHome = true; + Restart = if cfg.alwaysKeepRunning then "always" else "on-failure"; }; restartTriggers = [ config.environment.etc.hosts.source ]; }; - }; - } |