infrastructure/nixos/klipper.nix
2024-08-09 12:16:28 -07:00

26 lines
833 B
Nix

{ config, gensokyo-zone, lib, ... }: let
inherit (gensokyo-zone.lib) mkAlmostOptionDefault;
inherit (lib.modules) mkIf mkDefault;
inherit (config.services) moonraker octoprint;
cfg = config.services.klipper;
in {
services = {
klipper = {
enable = mkDefault true;
octoprintIntegration = mkIf octoprint.enable (mkDefault true);
user = mkIf moonraker.enable (mkAlmostOptionDefault "moonraker");
group = mkIf moonraker.enable (mkAlmostOptionDefault "moonraker");
mutableConfig = true;
mutableConfigFolder = mkIf moonraker.enable (mkDefault "${moonraker.stateDir}/config");
settings = {};
};
};
systemd = mkIf cfg.enable {
services.klipper = {
restartIfChanged = false;
serviceConfig.LogFilterPatterns = [
''~INFO:root:Stats''
];
};
};
}