anchor.diff:  
           ServerBin ${bindir}/lib/cups
           DataDir ${bindir}/share/cups
  +
  +        SetEnv PATH ${bindir}/lib/cups/filter:${bindir}/bin:${bindir}/sbin
   
           AccessLog ${logDir}/access_log
           ErrorLog ${logDir}/error_log
  
positive.code:   bindir = pkgs.buildEnv {
      name = "cups-progs";
      paths = cfg.drivers;
      pathsToLink = [ "/lib/cups" "/share/cups" ];
      postBuild = cfg.bindirCmds;
    };
  
  
negative.code: 
    cfg = config.services.printing;
  
    additionalBackends = pkgs.runCommand "additional-cups-backends" { }
      ''
        mkdir -p $out
        if [ ! -e ${pkgs.cups}/lib/cups/backend/smb ]; then
          mkdir -p $out/lib/cups/backend
          ln -sv ${pkgs.samba}/bin/smbspool $out/lib/cups/backend/smb
        fi
  
        # Provide support for printing via HTTPS.
        if [ ! -e ${pkgs.cups}/lib/cups/backend/https ]; then
          mkdir -p $out/lib/cups/backend
          ln -sv ${pkgs.cups}/lib/cups/backend/ipp $out/lib/cups/backend/https
        fi
  
        # Import filter configuration from Ghostscript.
        mkdir -p $out/share/cups/mime/
        ln -v -s "${pkgs.ghostscript}/etc/cups/"* $out/share/cups/mime/
      '';
  
    # Here we can enable additional backends, filters, etc. that are not
    # part of CUPS itself, e.g. the SMB backend is part of Samba.  Since
  