anchor.diff:        serviceConfig = {
           ExecStart = ''
             ${pkgs.python27Packages.waitress}/bin/waitress-serve \
  -          --host=${cfg.web.host} --port=${cfg.web.port} \
  +          --host=${cfg.web.host} --port=${toString cfg.web.port} \
             --call django.core.handlers.wsgi:WSGIHandler'';
           User = "graphite";
           Group = "graphite";
         };
         preStart = ''
           if ! test -e ${dataDir}/db-created; then
  -          mkdir -p ${dataDir}/{whisper/,log/webapp/}
  +          mkdir -m 0700 -p ${dataDir}/{whisper/,log/webapp/}
  +          if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi
   
             # populate database
             ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput
  
positive.code:         cfg.carbon.rewriteRules
        ];
        preStart = ''
          mkdir -p ${dataDir}/whisper
        '';
      };
  
      systemd.services.carbonAggregator = mkIf cfg.carbon.enableAggregator {
        description = "Carbon Data Aggregator";
        wantedBy = [ "multi-user.target" ];
        after = [ "network-interfaces.target" ];
        environment = carbonEnv;
        serviceConfig.ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}";
        restartTriggers = [
          pkgs.pythonPackages.carbon cfg.carbon.config cfg.carbon.aggregationRules
        ];
      };
  
      systemd.services.carbonRelay = mkIf cfg.carbon.enableRelay {
        description = "Carbon Data Relay";
        wantedBy = [ "multi-user.target" ];
        after = [ "network-interfaces.target" ];
        environment = carbonEnv;
        serviceConfig.ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}";
        restartTriggers = [
          pkgs.pythonPackages.carbon cfg.carbon.config cfg.carbon.relayRules
        ];
      };
  
      systemd.services.graphiteWeb = mkIf cfg.web.enable {
        description = "Graphite Web Interface";
        wantedBy = [ "multi-user.target" ];
        after = [ "network-interfaces.target" ];
  
negative.code:   ###### interface
  
    options.services.graphite = {
      dataDir = mkOption {
        type = types.path;
        default = "/var/db/graphite";
        description = ''
          Data directory for graphite.
        '';
      };
  
      web = {
        enable = mkOption {
          description = "Whether to enable graphite web frontend";
  