anchor.diff:  let
     cfg = config.services.elasticsearch;
   
  -  es5 = builtins.compareVersions (builtins.parseDrvName cfg.package.name).version "5" >= 0;
     es6 = builtins.compareVersions (builtins.parseDrvName cfg.package.name).version "6" >= 0;
   
     esConfig = ''
       network.host: ${cfg.listenAddress}
       cluster.name: ${cfg.cluster_name}
   
  -    ${if es5 then ''
  -      http.port: ${toString cfg.port}
  -      transport.tcp.port: ${toString cfg.tcp_port}
  -    '' else ''
  -      network.port: ${toString cfg.port}
  -      network.tcp.port: ${toString cfg.tcp_port}
  -      # TODO: find a way to enable security manager
  -      security.manager.enabled: false
  -    ''}
  +    http.port: ${toString cfg.port}
  +    transport.tcp.port: ${toString cfg.tcp_port}
   
       ${cfg.extraConf}
     '';
  
positive.code: 
      logging = mkOption {
        description = "Elasticsearch logging configuration.";
        default =
          if es5 then ''
            logger.action.name = org.elasticsearch.action
            logger.action.level = info
  
            appender.console.type = Console
            appender.console.name = console
            appender.console.layout.type = PatternLayout
            appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n
  
            rootLogger.level = info
            rootLogger.appenderRef.console.ref = console
          '' else ''
            rootLogger: INFO, console
            logger:
              action: INFO
              com.amazonaws: WARN
            appender:
              console:
                type: console
                layout:
                  type: consolePattern
                  conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
          '';
        type = types.str;
      };
  
  
negative.code: 
          cp ${elasticsearchYml} ${configDir}/elasticsearch.yml
          # Make sure the logging configuration for old elasticsearch versions is removed:
          rm -f "${configDir}/logging.yml"
          cp ${loggingConfigFile} ${configDir}/${loggingConfigFilename}
          mkdir -p ${configDir}/scripts
          ${optionalString es6 "cp ${cfg.package}/config/jvm.options ${configDir}/jvm.options"}
  
          if [ "$(id -u)" = 0 ]; then chown -R elasticsearch:elasticsearch ${cfg.dataDir}; fi
  