anchor.diff:          description = ''
             Whether to synchronise your machine's IP address with a dynamic DNS provider (e.g. dyndns.org).
           '';
  +      };
  +
  +      homeDir = mkOption {
  +        default = "/var/lib/ddclient";
  +        type = str;
  +        description = "Home directory for the daemon user.";
         };
   
         domain = mkOption {
  
positive.code:         description = ''
            Password. WARNING: The password becomes world readable in the Nix store.
          '';
        };
  
        configFile = mkOption {
  
negative.code: { config, pkgs, lib, ... }:
  
  let
    cfg = config.services.ddclient;
    boolToStr = bool: if bool then "yes" else "no";
  
    configText = ''
      # This file can be used as a template for configFile or is automatically generated by Nix options.
      daemon=${toString cfg.interval}
      cache=${cfg.homeDir}/ddclient.cache
      pid=/run/ddclient/ddclient.pid
      foreground=NO
      use=${cfg.use}
      login=${cfg.username}
      password=${cfg.password}
      protocol=${cfg.protocol}
      ${let server = cfg.server; in
        lib.optionalString (server != "") "server=${server}"}
      ssl=${boolToStr cfg.ssl}
      wildcard=YES
      quiet=${boolToStr cfg.quiet}
      verbose=${boolToStr cfg.verbose}
      ${cfg.domain}
      ${cfg.extraConfig}
    '';
  
  in
  
  with lib;
  
  {
  
  