From dc45779be86c8bc2916b6c1830420e22c8832c16 Mon Sep 17 00:00:00 2001 From: Mel Date: Thu, 24 Apr 2025 04:29:01 +0200 Subject: Add KlipperScreen kiosk screen to fourmi Signed-off-by: Mel --- modules/klipperscreen.nix | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 modules/klipperscreen.nix (limited to 'modules') diff --git a/modules/klipperscreen.nix b/modules/klipperscreen.nix new file mode 100644 index 0000000..76c9414 --- /dev/null +++ b/modules/klipperscreen.nix @@ -0,0 +1,35 @@ +{ config, pkgs, ... }: + +let + inherit (pkgs) writeText klipperscreen; + + ksConfig = + let + inherit (config.services.moonraker) address port; + in + writeText "KlipperScreen.conf" '' + [printer fourmi] + moonraker_host: ${address} + moonraker_port: ${toString port} + ''; +in +{ + # avoid conflict between console and cage. + console.enable = false; + + # without this the kiosk doesn't even want to get loaded :) + systemd.defaultUnit = "graphical.target"; + + services.cage = { + enable = true; + + program = "${klipperscreen}/bin/KlipperScreen -c ${ksConfig}"; + extraArguments = [ "-d" ]; + + environment = { + # don't fail with no devices found. + "WLR_LIBINPUT_NO_DEVICES" = "1"; + }; + user = "klipper"; + }; +} -- cgit 1.4.1