mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-10 04:49:19 -08:00
66 lines
1.7 KiB
Nix
66 lines
1.7 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib.modules) mkIf mkDefault;
|
|
inherit (config.services) octoprint;
|
|
cfg = config.services.klipper;
|
|
in {
|
|
services = {
|
|
klipper = {
|
|
enable = mkDefault true;
|
|
package = mkDefault pkgs.klipper-ender3v3se;
|
|
quiet = mkDefault true;
|
|
logFile = mkDefault "/var/log/klipper/klippy.log";
|
|
logRotate = mkDefault true;
|
|
octoprintIntegration = mkIf octoprint.enable (mkDefault true);
|
|
configFiles = [
|
|
./printer.cfg
|
|
./ender3v3se.cfg
|
|
./macros.cfg
|
|
];
|
|
settings = {
|
|
# allow settings to be saved by moonraker
|
|
bltouch.z_offset = mkDefault 1.85;
|
|
extruder = {
|
|
control = "pid";
|
|
#stock defaults provided by someone
|
|
#pid_Kp = 27.142000;
|
|
#pid_Ki = 1.371000;
|
|
#pid_Kd = 134.351000;
|
|
#recent PID_CALIBRATE results
|
|
pid_Kp = 30.573;
|
|
pid_Ki = 1.742;
|
|
pid_Kd = 134.141;
|
|
};
|
|
heater_bed = {
|
|
control = "pid";
|
|
#stock defaults provided by someone
|
|
#pid_Kp = 66.371000;
|
|
#pid_Ki = 0.846000;
|
|
#pid_Kd = 1301.702000;
|
|
#recent PID_CALIBRATE results
|
|
pid_Kp = 64.742;
|
|
pid_Ki = 0.684;
|
|
pid_Kd = 1531.969;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
systemd = mkIf cfg.enable {
|
|
services.klipper = {
|
|
restartIfChanged = false;
|
|
serviceConfig = {
|
|
Nice = mkDefault (-5);
|
|
};
|
|
};
|
|
tmpfiles.rules = mkIf (cfg.logFile != null) [
|
|
"d ${dirOf cfg.logFile} 0755 ${cfg.user} ${cfg.group} 8w -"
|
|
];
|
|
};
|
|
services.udev.extraRules = mkIf cfg.enable ''
|
|
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyEnder3v3se"
|
|
'';
|
|
}
|