anchor.diff:    # cupsd.conf tells cupsd to use this tree.
     bindir = pkgs.buildEnv {
       name = "cups-progs";
  -    paths = cfg.drivers;
  +    paths =  cfg.drivers;
       pathsToLink = [ "/lib/cups" "/share/cups" ];
       postBuild =  ''
  -      ${pkgs.coreutils}/bin/mkdir -p $out/lib/cups/backend
  -      ${pkgs.coreutils}/bin/ln -s ${pkgs.samba}/bin/smbspool $out/lib/cups/backend/smb
  -
  -      # Provide support for printing via HTTPS.
  -      ${pkgs.coreutils}/bin/ln -s ipp $out/lib/cups/backend/https
  -
         ${cfg.bindirCmds}
       '';
     };
  
positive.code: 
    cfg = config.services.printing;
  
    # 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
    # we can't update ${cups}/lib/cups itself, we create a symlink tree
  
negative.code:         exec = "${cups}/sbin/cupsd -c ${pkgs.writeText "cupsd.conf" cfg.cupsdConf} -F";
        };
  
      services.printing.drivers = [ pkgs.cups pkgs.ghostscript additionalBackends ];
      services.printing.cupsdConf = 
        ''
          LogLevel info
  