I’m trying to set this printer up with no success so far…
I got started with this.
But cups says the printer was removed or wrongly configured.
I got the ppd from the Dell website. I don’t know how to copy the DLPSACJFilter file. Is it necessary?
{ lib, pkgs, ... }:
{
# Manually Adding Printer (without using this derivation):
# Open the CUPS dashboard, add a printer at ipp://your-printer-ip,
# and make sure to select the "IPP Everywhere" driver (NOT "Generic IPP
# Everywhere")
# https://nixos.wiki/wiki/Printing
# https://discourse.nixos.org/t/declarative-printer-setup-missing-driver/33777/5
# For debugging purposes, the data folder used by CUPS (containing the drivers and more)
# can be obtained by looking in the environment variable $CUPS_DATADIR
# (the contents of $out/share/cups/ contained in your drivers are linked in this folder).
services.printing.enable = true;
services.printing.drivers = [
# This PPD file was generated by CUPS when creating a new LPD/LPR Printer
# from the Web UI. It was stored in /etc/cups/ppd and I copied it to this Nix repo.
(pkgs.writeTextDir "share/cups/model/Dell_C2660dn_Color_Laser.ppd" (builtins.readFile ./Dell_C2660dn_Color_Laser.ppd))
#(pkgs.writeCBin "share/cups/model/DLPSACJFilter" (builtins.readFile ./DLPSACJFilter))
];
hardware =
let
dell = "Dell_C2660dn_Color_Laser";
hostName = "Dell-C2660dn-D3C98B"; # or IP
in
{
printers = {
ensurePrinters = [
{
name = "${dell}";
deviceUri = "ipp://${hostName}";
model = "${dell}.ppd"; # Location of the PPD driver file for the printer.
# lpinfo -m shows a list of supported models.
location = "Home";
description = lib.replaceStrings [ "_" ] [ " " ] dell;
ppdOptions = {
PageSize = "A4";
Duplex = "DuplexNoTumble"; # Double-sided along the long edge
Resolution = "600dpi";
#PrintQuality = "4";
#PwgRasterDocumentType = "Rgb_8";
};
}
];
ensureDefaultPrinter = "${dell}";
};
};
}