From 6c3a7be483b905b2fd7e4b8347f35e146499b502 Mon Sep 17 00:00:00 2001 From: kalipso Date: Fri, 11 Apr 2025 17:03:10 +0200 Subject: [PATCH 1/3] [printing] init module --- machines/modules/malobeo/printing.nix | 51 +++++++++++++++++++++++++++ outputs.nix | 1 + 2 files changed, 52 insertions(+) create mode 100644 machines/modules/malobeo/printing.nix diff --git a/machines/modules/malobeo/printing.nix b/machines/modules/malobeo/printing.nix new file mode 100644 index 0000000..ad28215 --- /dev/null +++ b/machines/modules/malobeo/printing.nix @@ -0,0 +1,51 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.malobeo.printing; + driverFile = pkgs.writeTextDir "share/cups/model/konicaminoltac258.ppd" (builtins.readFile ../KOC658UX.ppd); + + defaultPpdOptions = { + PageSize = "A4"; + SelectColor = "Grayscale"; + Finisher = "FS534"; + SaddleUnit = "SD511"; + Model = "C258"; + InputSlot = "Tray1"; + }; + +in +{ + options.services.malobeo.printing = { + enable = mkOption { + type = types.bool; + default = false; + description = "Setup malobeo printers"; + }; + }; + + config = mkIf (cfg.enable) { + services.printing.enable = true; + services.printing.drivers = [ + driverFile + ]; + + hardware.printers.ensurePrinters = [ { + name = "KonicaDefault"; + model = "konicaminoltac258.ppd"; + location = "Zine Workshop"; + deviceUri = "ipp://192.168.1.42/ipp"; + ppdOptions = defaultPpdOptions; + } + { + name = "KonicaBooklet"; + model = "konicaminoltac258.ppd"; + location = "Zine Workshop"; + deviceUri = "ipp://192.168.1.42/ipp"; + ppdOptions = defaultPpdOptions // { + Fold = "Stitch"; + Staple = "None"; + }; + } + ]; + }; +} diff --git a/outputs.nix b/outputs.nix index b7c2db6..60d04c1 100644 --- a/outputs.nix +++ b/outputs.nix @@ -117,6 +117,7 @@ in (utils.lib.eachSystem (builtins.filter filter_system utils.lib.defaultSystems disko.imports = [ ./machines/modules/disko ]; users.imports = [ ./machines/modules/malobeo/users.nix ]; backup.imports = [ ./machines/modules/malobeo/backup.nix ]; + printing.imports = [ ./machines/modules/malobeo/printing.nix ]; }; hydraJobs = nixpkgs.lib.mapAttrs (_: nixpkgs.lib.hydraJob) ( From 8b370828446bf366dd94d3a712a56b058a018a50 Mon Sep 17 00:00:00 2001 From: kalipso Date: Fri, 11 Apr 2025 17:07:49 +0200 Subject: [PATCH 2/3] [louise] enable printing module --- machines/louise/configuration.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/machines/louise/configuration.nix b/machines/louise/configuration.nix index d3bffc0..4c99b3a 100644 --- a/machines/louise/configuration.nix +++ b/machines/louise/configuration.nix @@ -9,6 +9,7 @@ ../modules/sshd.nix ../modules/minimal_tools.nix ../modules/autoupdate.nix + inputs.self.nixosModules.malobeo.printing ]; malobeo.autoUpdate = { @@ -50,9 +51,10 @@ }; services.printing.enable = true; + services.malobeo.printing.enable = true; + services.printing.drivers = [ (pkgs.writeTextDir "share/cups/model/brother5350.ppd" (builtins.readFile ../modules/BR5350_2_GPL.ppd)) - (pkgs.writeTextDir "share/cups/model/konicaminoltac258.ppd" (builtins.readFile ../modules/KOC658UX.ppd)) pkgs.gutenprint pkgs.gutenprintBin pkgs.brlaser From 80fc4cc528a0639522d5349a26ae06bae518258a Mon Sep 17 00:00:00 2001 From: kalipso Date: Fri, 11 Apr 2025 17:24:31 +0200 Subject: [PATCH 3/3] [louise] fix missing inputs --- machines/louise/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/louise/configuration.nix b/machines/louise/configuration.nix index 4c99b3a..bf1272f 100644 --- a/machines/louise/configuration.nix +++ b/machines/louise/configuration.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, inputs, ... }: { imports =