diff options
author | Nadrieril <nadrieril@gmail.com> | 2017-07-21 19:14:03 +0100 |
---|---|---|
committer | Nadrieril <nadrieril@gmail.com> | 2017-08-06 22:57:53 +0100 |
commit | 541377e5f0189819cfa50dacbb7569e26c06a3c0 (patch) | |
tree | 45951d63068cbad720f0865aea1f437b0e4e0e63 /nixos/modules/services/network-filesystems | |
parent | d4ef5ac0e962bd6604dda38617c4b98c77a62949 (diff) | |
download | nixlib-541377e5f0189819cfa50dacbb7569e26c06a3c0.tar nixlib-541377e5f0189819cfa50dacbb7569e26c06a3c0.tar.gz nixlib-541377e5f0189819cfa50dacbb7569e26c06a3c0.tar.bz2 nixlib-541377e5f0189819cfa50dacbb7569e26c06a3c0.tar.lz nixlib-541377e5f0189819cfa50dacbb7569e26c06a3c0.tar.xz nixlib-541377e5f0189819cfa50dacbb7569e26c06a3c0.tar.zst nixlib-541377e5f0189819cfa50dacbb7569e26c06a3c0.zip |
rsync service: modernize config file generation
Diffstat (limited to 'nixos/modules/services/network-filesystems')
-rw-r--r-- | nixos/modules/services/network-filesystems/rsyncd.nix | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix index 2018bfa14a57..a52fec4c4070 100644 --- a/nixos/modules/services/network-filesystems/rsyncd.nix +++ b/nixos/modules/services/network-filesystems/rsyncd.nix @@ -8,22 +8,21 @@ let motdFile = builtins.toFile "rsyncd-motd" cfg.motd; - moduleConfig = name: - let module = getAttr name cfg.modules; in - "[${name}]\n " + (toString ( - map - (key: "${key} = ${toString (getAttr key module)}\n") - (attrNames module) - )); - - cfgFile = builtins.toFile "rsyncd.conf" - '' + foreach = attrs: f: + concatStringsSep "\n" (mapAttrsToList f attrs); + + cfgFile = '' ${optionalString (cfg.motd != "") "motd file = ${motdFile}"} ${optionalString (cfg.address != "") "address = ${cfg.address}"} ${optionalString (cfg.port != 873) "port = ${toString cfg.port}"} ${cfg.extraConfig} - ${toString (map moduleConfig (attrNames cfg.modules))} - ''; + ${foreach cfg.modules (name: module: '' + [${name}] + ${foreach module (k: v: + "${k} = ${v}" + )} + '')} + ''; in { @@ -91,10 +90,7 @@ in config = mkIf cfg.enable { - environment.etc = singleton { - source = cfgFile; - target = "rsyncd.conf"; - }; + environment.etc."rsyncd.conf".text = cfgFile; systemd.services.rsyncd = { description = "Rsync daemon"; |