anchor.diff:          exec = "cupsd -c ${pkgs.writeText "cupsd.conf" cfg.cupsdConf} -F";
         };
   
  -    services.printing.drivers = [ pkgs.cups pkgs.cups_pdf_filter pkgs.ghostscript additionalBackends ];
  +    services.printing.drivers =
  +      [ pkgs.cups pkgs.cups_pdf_filter pkgs.ghostscript additionalBackends pkgs.perl pkgs.coreutils pkgs.gnused ];
   
       services.printing.cupsdConf =
         ''
  
positive.code:         startOn = "started network-interfaces";
          stopOn = "stopping network-interfaces";
  
          # !!! Why is config.system.path in here?
          path = [ cups config.system.path ];
  
          preStart =
            ''
  
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
  