diff --git a/flake.lock b/flake.lock index bb53e27..a6a6e4b 100644 --- a/flake.lock +++ b/flake.lock @@ -81,15 +81,16 @@ ] }, "locked": { - "lastModified": 1774647994, - "narHash": "sha256-rlag0DprIbYK12lsHyYtLcKwTKi1K0YHIy6v01+r9p8=", + "lastModified": 1774505501, + "narHash": "sha256-7UiRrDptj7yuEFwToOfdunUMz/i3jRLR7CmMoYQjq6k=", "owner": "basecamp", "repo": "basecamp-cli", - "rev": "c42190e9aaa135cc99e8ae0af388ed5b88c10c37", + "rev": "f087e6ef84002503d0dbc75ea1c8c928a8928d9e", "type": "github" }, "original": { "owner": "basecamp", + "ref": "v0.7.2", "repo": "basecamp-cli", "type": "github" } @@ -539,14 +540,17 @@ "openspec": "openspec" }, "locked": { - "lastModified": 1775018331, - "narHash": "sha256-EOUoKH+JHMj/c41qoW0Q1YIYUM/fyLJ/6raalxrQfQo=", - "path": "/home/sascha.koenig/p/NIX/nixpkgs", - "type": "path" + "lastModified": 1775045654, + "narHash": "sha256-JAUl/bzTpolq9ULS3JLCmGA+JcZIMOhfjLaLhzEAKyo=", + "ref": "refs/heads/master", + "rev": "df3c1f6e70788574d2471f25974f00f0d2c32f87", + "revCount": 205, + "type": "git", + "url": "https://code.m3ta.dev/m3tam3re/nixpkgs" }, "original": { - "path": "/home/sascha.koenig/p/NIX/nixpkgs", - "type": "path" + "type": "git", + "url": "https://code.m3ta.dev/m3tam3re/nixpkgs" } }, "m3ta-nixpkgs_2": { @@ -733,11 +737,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1774835230, - "narHash": "sha256-TQg2v9bufA/37dxtBzP9/gZeyxLDr5MIrvgV1Kv6FjU=", + "lastModified": 1775044794, + "narHash": "sha256-WHIZHvguLKWOcmAXdpOjrrSb528+bJU2geyAWPa1Yzc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8155abb4814accbfe9a36b7e67d622777a9acde2", + "rev": "1de4a8e478f9f7cf3143967e8de444be35114c39", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4373f4b..02d60d8 100644 --- a/flake.nix +++ b/flake.nix @@ -22,8 +22,8 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - # m3ta-nixpkgs.url = "git+https://code.m3ta.dev/m3tam3re/nixpkgs"; - m3ta-nixpkgs.url = "path:/home/sascha.koenig/p/NIX/nixpkgs"; + m3ta-nixpkgs.url = "git+https://code.m3ta.dev/m3tam3re/nixpkgs"; + # m3ta-nixpkgs.url = "path:/home/sascha.koenig/p/NIX/nixpkgs"; # llm-agents.url = "github:numtide/llm-agents.nix"; diff --git a/home/features/coding/opencode.nix b/home/features/coding/opencode.nix index c4517a8..b159aec 100644 --- a/home/features/coding/opencode.nix +++ b/home/features/coding/opencode.nix @@ -15,7 +15,7 @@ {src = inputs.skills-vercel;} ]; - extraPlugins = ["/home/sascha.koenig/p/AI/opencode-memory"]; + extraPlugins = [""]; # AZ-Gruppe LiteLLM endpoint + available models extraSettings = { diff --git a/hosts/AZ-LT-NIX/services/default.nix b/hosts/AZ-LT-NIX/services/default.nix index 7288420..fd6a04a 100644 --- a/hosts/AZ-LT-NIX/services/default.nix +++ b/hosts/AZ-LT-NIX/services/default.nix @@ -4,6 +4,7 @@ ./mem0.nix ./n8n.nix ./netbird.nix + ./printing.nix ./sound.nix ./udev.nix ]; diff --git a/hosts/AZ-LT-NIX/services/printing.nix b/hosts/AZ-LT-NIX/services/printing.nix new file mode 100644 index 0000000..b1ed668 --- /dev/null +++ b/hosts/AZ-LT-NIX/services/printing.nix @@ -0,0 +1,34 @@ +{pkgs, ...}: { + # CUPS Druckdienst für PDF-Druck aus n8n + # Drucker: Kyocera TASKalfa 4054ci @ 192.168.152.137 + services.printing = { + enable = true; + drivers = with pkgs; [ + cups-filters # driverless IPP Everywhere Support + ]; + }; + + # Avahi für mDNS/IPP-Druckererkennung + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + # Kyocera TASKalfa 4054ci deklarativ einrichten + hardware.printers = { + ensurePrinters = [ + { + name = "JW2OG"; + location = "Buero"; + description = "Kyocera TASKalfa 4054ci"; + deviceUri = "ipps://192.168.152.137:443/ipp/print"; + model = "everywhere"; + ppdOptions = { + PageSize = "A4"; + }; + } + ]; + ensureDefaultPrinter = "JW2OG"; + }; +} diff --git a/hosts/AZ-PRM-1/services/default.nix b/hosts/AZ-PRM-1/services/default.nix index 7800794..b2a4b02 100644 --- a/hosts/AZ-PRM-1/services/default.nix +++ b/hosts/AZ-PRM-1/services/default.nix @@ -6,6 +6,7 @@ ./netbird.nix ./pgadmin.nix ./postgres.nix + ./printing.nix ./traefik.nix ./traefik-routing.nix ]; diff --git a/hosts/AZ-PRM-1/services/printing.nix b/hosts/AZ-PRM-1/services/printing.nix new file mode 100644 index 0000000..5301f2d --- /dev/null +++ b/hosts/AZ-PRM-1/services/printing.nix @@ -0,0 +1,40 @@ +{pkgs, ...}: { + # CUPS Druckdienst für PDF-Druck aus n8n + # Drucker: Kyocera TASKalfa 4054ci @ 192.168.152.137 + services.printing = { + enable = true; + drivers = with pkgs; [ + cups-filters # driverless IPP Everywhere Support + ]; + }; + + # Avahi für mDNS/IPP-Druckererkennung + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + # Kyocera TASKalfa 4054ci deklarativ einrichten + hardware.printers = { + ensurePrinters = [ + { + name = "JW2OG"; + location = "Buero"; + description = "Kyocera TASKalfa 4054ci"; + deviceUri = "ipps://192.168.152.137:443/ipp/print"; + model = "everywhere"; + ppdOptions = { + PageSize = "A4"; + }; + } + ]; + ensureDefaultPrinter = "JW2OG"; + }; + + # n8n braucht Zugriff auf lp/lpr zum Drucken + systemd.services.n8n = { + path = [pkgs.cups]; + serviceConfig.SupplementaryGroups = ["lp"]; + }; +} diff --git a/secrets.nix b/secrets.nix index a9b0c15..c6364b9 100644 --- a/secrets.nix +++ b/secrets.nix @@ -9,7 +9,7 @@ let jannik.mueller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPvZazSuIoWoRWhkAqQDMLeurxVUyy1MTllp1wfw1tzq"; users = [sascha.koenig]; - systems = [AZ-CLD-1 AZLTNIX AZ-PRM-1]; + systems = [AZ-CLD-1 AZ-LT-NIX AZ-PRM-1]; in { "secrets/server.crt.age".publicKeys = systems ++ users; "secrets/server.key.age".publicKeys = systems ++ users;