anchor.diff:  
               port = mkOption {
                 type = types.port;
  -              default = 6379;
  -              description = "The port for Redis to listen to.";
  +              default = if name == "" then 6379 else 0;
  +              defaultText = literalExpression ''if name == "" then 6379 else 0'';
  +              description = ''
  +                The TCP port to accept connections.
  +                If port 0 is specified Redis will not listen on a TCP socket.
  +              '';
               };
   
               openFirewall = mkOption {
  
positive.code:             bind = mkOption {
                type = with types; nullOr str;
                default = if name == "" then "127.0.0.1" else null;
                defaultText = "127.0.0.1 or null if name != \"\"";
                description = ''
                  The IP interface to bind to.
                  <literal>null</literal> means "all interfaces".
  
negative.code:           };
            config.settings = mkMerge [
              {
                port = config.port;
                daemonize = false;
                supervised = "systemd";
                loglevel = config.logLevel;
  