{ lib, ... }:
{
  hardware.printers = let
    brother = "Brother_HL-L2340D";
    ip = "192.168.1.20";
  in {
    ensureDefaultPrinter = brother;
    ensurePrinters = [{
      name = brother;
      deviceUri = "ipp://${ip}/ipp";
      model = "everywhere";
      description = lib.replaceStrings [ "_" ] [ " " ] brother;
      location = "home";
    }];
  };

  systemd.services."ensure-printers" = {
    after = [ "network-online.target" ];
    preStart = "sleep 5";
    wants = [ "network-online.target" ];
  };
}
