From 4d2af12a0ac06177c58af5d33246d253aa8645f0 Mon Sep 17 00:00:00 2001 From: Fern Garden Date: Thu, 4 Sep 2025 08:53:28 +0800 Subject: [PATCH] Enable klipper on weebill --- hosts/weebill/default.nix | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/hosts/weebill/default.nix b/hosts/weebill/default.nix index 411b0c1..e97d02d 100644 --- a/hosts/weebill/default.nix +++ b/hosts/weebill/default.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: { +{ + config, + pkgs, + ... +}: { # Boot loader. boot = { kernelPackages = pkgs.linuxKernel.packages.linux_rpi4; @@ -33,6 +37,35 @@ openFirewall = true; }; + # 3D Printing. + users.users."3dprinting" = { + isSystemUser = true; + group = "3dprinting"; + }; + + users.groups."3dprinting" = {}; + + services.mainsail = { + enable = true; + hostName = "weebill.local"; + }; + + services.moonraker = { + enable = true; + user = "3dprinting"; + group = "3dprinting"; + settings.authorization.trusted_clients = ["127.0.0.0/8"]; + }; + + services.klipper = rec { + enable = true; + user = "3dprinting"; + group = "3dprinting"; + configDir = "${config.services.moonraker.stateDir}/config"; + configFile = "${configDir}/printer.cfg"; + mutableConfig = true; + }; + # Enable WebOne HTTP proxy. services.webone.enable = true; @@ -66,6 +99,6 @@ # Open ports for services. networking.firewall = { allowedUDPPorts = [53 67]; # DHCP server. - allowedTCPPorts = [8080 548]; # WebOne & Netatalk. + allowedTCPPorts = [8080 548 80]; # WebOne, Netatalk, nginx. }; }