{
  config,
  lib,
  pkgs,
  ...
}:

let
  cfg = config.greg.print;

in
with lib;
{
  options.greg.print.enable = mkEnableOption "Configures the system to print with my home printer";

  config = mkIf cfg.enable {
    # ipp://printer.thehellings.lan:631/ - generic postscript printer
    services.printing = {
      enable = true;
      drivers = with pkgs; [ gutenprint ] ++ (lib.optional pkgs.stdenv.isx86_64 gutenprintBin);
    };

    hardware.printers.ensurePrinters = [
      {
        name = "HomeLexmarkColorPrinter";
        location = "Home office";
        deviceUri = "ipp://printer.thehellings.lan:631/";
        model = "drv:///sample.drv/generic.ppd";
        ppdOptions = {
          PageSize = "Letter";
        };
      }
    ];
  };
}
