The generic Printing Configuration in NixOS enables CUPS and scanning; this module declares the driver and the specific printer I use, a Brother DCP-L2550DW.
{ pkgs, ... }:
{
services.printing.drivers = [ pkgs.brlaser ];
hardware.printers.ensurePrinters = [
{
name = "brotha";
description = "Brother DCP-L2550DW";
deviceUri = "dnssd://Brother%20DCP-L2550DW%20series._ipp._tcp.local/?uuid=e3248000-80ce-11db-8000-b42200ae9c8e";
location = "tearoom";
model = "everywhere";
}
];
}