Files
TheaninovOS/modules/nixos/services/airprint.nix
2025-08-11 17:15:37 +02:00

38 lines
609 B
Nix

{
pkgs,
lib,
config,
username,
...
}:
with lib;
let
cfg = config.services.airprint;
in
{
options.services.airprint = {
enable = mkEnableOption "Enable printing over the air using sane and avahi";
};
config = mkIf cfg.enable {
hardware.sane = {
enable = true;
extraBackends = [ pkgs.sane-airscan ];
};
services.printing = {
enable = true;
stateless = true;
};
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
users.users.${username}.extraGroups = [
"lp"
"scanner"
];
};
}