anchor.diff:  
     browsedFile = writeConf "cups-browsed.conf" cfg.browsedConf;
   
  +  rootdir = pkgs.buildEnv {
  +    name = "cups-progs";
  +    paths = [
  +      cupsFilesFile
  +      cupsdFile
  +      (writeConf "client.conf" cfg.clientConf)
  +      (writeConf "snmp.conf" cfg.snmpConf)
  +    ] ++ optional avahiEnabled browsedFile
  +      ++ optional cfg.gutenprint gutenprint
  +      ++ cfg.drivers;
  +    pathsToLink = [ "/etc/cups" ];
  +    ignoreCollisions = true;
  +  };
  +
   in
   
   {
  
positive.code: 
          preStart =
            ''
              mkdir -m 0755 -p /etc/cups
              mkdir -m 0700 -p /var/cache/cups
              mkdir -m 0700 -p /var/spool/cups
              mkdir -m 0755 -p ${cfg.tempDir}
              ${optionalString cfg.gutenprint ''
                ${gutenprint}/bin/cups-genppdupdate
              ''}
            '';
  
          restartTriggers =
            [ config.environment.etc."cups/cups-files.conf".source
              config.environment.etc."cups/cupsd.conf".source
            ];
        };
  
      systemd.services.cups-browsed = mkIf avahiEnabled
  
negative.code:       };
  
      environment.systemPackages = [ cups ] ++ optional polkitEnabled cups-pk-helper;
      environment.etc."cups".source = "/var/lib/cups";
  
      services.dbus.packages = [ cups ] ++ optional polkitEnabled cups-pk-helper;
  
  