Files
NixOS/modules/services/printing.nix
2026-01-16 10:19:36 -06:00

32 lines
726 B
Nix

{
config,
lib,
pkgs,
...
}:
let
printingDrivers = [
pkgs.hplip
pkgs.hplipWithPlugin
];
in
{
options.my.services.printing.enable = lib.mkEnableOption "printing services and drivers";
config = lib.mkIf config.my.services.printing.enable {
users.users = let
users = if lib.isString config.my.toggleUsers.services then [ config.my.toggleUsers.services ] else config.my.toggleUsers.services;
packages = [ pkgs.simple-scan ];
in lib.mkMerge (map (user: {
${user}.packages = packages;
}) users);
services.printing = {
enable = true;
drivers = printingDrivers;
};
hardware.sane = {
enable = true;
extraBackends = printingDrivers;
};
};
}