summaryrefslogtreecommitdiff
path: root/modules/root/printing.nix
diff options
context:
space:
mode:
authorTim Keller <tjkeller.xyz>2024-10-31 18:58:47 -0500
committerTim Keller <tjkeller.xyz>2024-10-31 18:58:47 -0500
commit5cd716012f0a75a9f740b90d4afe7a205dee1b3b (patch)
tree0be57e514dedf8eee06b601522e918c9381dd6cb /modules/root/printing.nix
parent9675b81889f3e5b9a6b839eb91a4d0dafa528b43 (diff)
downloadnixos-5cd716012f0a75a9f740b90d4afe7a205dee1b3b.tar.xz
nixos-5cd716012f0a75a9f740b90d4afe7a205dee1b3b.zip
printers scanner setup and few other minor things
Diffstat (limited to 'modules/root/printing.nix')
-rw-r--r--modules/root/printing.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/modules/root/printing.nix b/modules/root/printing.nix
new file mode 100644
index 0000000..69ff573
--- /dev/null
+++ b/modules/root/printing.nix
@@ -0,0 +1,49 @@
+{ lib, config, pkgs, ... }: {
+ options = {
+ printing.enable = lib.mkEnableOption "enables printing";
+ avahi.enable = lib.mkEnableOption "enables avahi";
+ scanning.enable = lib.mkEnableOption "enables scanning";
+ };
+
+ config = lib.mkIf config.printing.enable {
+ services.printing = {
+ enable = true;
+ drivers = [
+ pkgs.epson-escpr2
+ ];
+ };
+
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
+
+ environment.systemPackages = with pkgs; pkgs.lib.optionals config.scanning.enable [
+ epsonscan2
+ ];
+
+ networking.hosts = {
+ "192.168.1.35" = [ "Epson_ET-8500" ];
+ "192.168.77.40" = [ "Xerox_WorkCentre_7855" ];
+ };
+
+ hardware.printers.ensurePrinters = [
+ {
+ name = "Epson_ET-8500";
+ description = "Epson ET-8500";
+ location = "Home";
+ deviceUri = "ipp://Epson_ET-8500:631/ipp/print";
+ model = "epson-inkjet-printer-escpr2/Epson-ET-8500_Series-epson-escpr2-en.ppd";
+ }
+ #{
+ # name = "Xerox_WorkCentre_7855";
+ # description = "Xerox WorkCentre 7855";
+ # location = "Office";
+ # deviceUri = "ipp://Xerox_WorkCentre_7855:631/ipp/print";
+ # model = "everywhere IPP Everywhere";
+ #}
+ ];
+ hardware.printers.ensureDefaultPrinter = "Epson_ET-8500";
+ };
+}