fix(klipper): set log file

It complains that logging to stdout will cause performance issues,
for some reason...
This commit is contained in:
arcnmx 2024-09-14 16:57:52 -07:00
parent 51911b37ac
commit 369aede78e
2 changed files with 15 additions and 4 deletions

View file

@ -5,7 +5,7 @@
lib, lib,
... ...
}: let }: let
inherit (gensokyo-zone.lib) mapListToAttrs; inherit (gensokyo-zone.lib) mapListToAttrs mkAlmostOptionDefault;
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption;
inherit (lib.modules) mkIf mkMerge mkAfter mkOptionDefault; inherit (lib.modules) mkIf mkMerge mkAfter mkOptionDefault;
inherit (lib.attrsets) nameValuePair; inherit (lib.attrsets) nameValuePair;
@ -25,6 +25,7 @@
in { in {
options.services.klipper = with lib.types; { options.services.klipper = with lib.types; {
quiet = mkEnableOption "more silent logs"; quiet = mkEnableOption "more silent logs";
logRotate = mkEnableOption "logrotate";
configFiles = mkOption { configFiles = mkOption {
type = listOf path; type = listOf path;
default = []; default = [];
@ -54,4 +55,7 @@ in {
ln -sfT ${includeFile} ${escapeShellArg "${cfg.mutableConfigFolder}/${includeFileName}"} ln -sfT ${includeFile} ${escapeShellArg "${cfg.mutableConfigFolder}/${includeFileName}"}
''); '');
}; };
config.services.logrotate.settings.klipper = mkIf (cfg.enable && cfg.logRotate && cfg.logFile != null) {
files = mkAlmostOptionDefault cfg.logFile;
};
} }

View file

@ -11,8 +11,10 @@ in {
services = { services = {
klipper = { klipper = {
enable = mkDefault true; enable = mkDefault true;
package = pkgs.klipper-ender3v3se; package = mkDefault pkgs.klipper-ender3v3se;
quiet = mkDefault true; quiet = mkDefault true;
logFile = mkDefault "/var/log/klipper/klippy.log";
logRotate = mkDefault true;
octoprintIntegration = mkIf octoprint.enable (mkDefault true); octoprintIntegration = mkIf octoprint.enable (mkDefault true);
configFiles = [ configFiles = [
./printer.cfg ./printer.cfg
@ -25,8 +27,13 @@ in {
}; };
}; };
}; };
systemd.services.klipper = mkIf cfg.enable { systemd = mkIf cfg.enable {
restartIfChanged = false; services.klipper = {
restartIfChanged = false;
};
tmpfiles.rules = mkIf (cfg.logFile != null) [
"d ${dirOf cfg.logFile} 0755 ${cfg.user} ${cfg.group} 8w -"
];
}; };
services.udev.extraRules = mkIf cfg.enable '' services.udev.extraRules = mkIf cfg.enable ''
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyEnder3v3se" SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyEnder3v3se"