+68
-10
nixos/modules/services/misc/klipper.nix
+68
-10
nixos/modules/services/misc/klipper.nix
······Configuration for Klipper. See the [documentation](https://www.klipper3d.org/Overview.html#configuration-and-tuning-guides)···This will add `klipper-flash-$mcu` scripts to your environment which can be called to flash the firmware.···-message = "Option klipper.octoprintIntegration requires Octoprint to be enabled on this system. Please enable services.octoprint to use it.";-assertion = foldl (a: b: a && b) true (mapAttrsToList (mcu: _: mcu != null -> (hasAttrByPath [ "${mcu}" "serial" ] cfg.settings)) cfg.firmwares);-message = "Option klipper.settings.$mcu.serial must be set when klipper.firmware.$mcu is specified";············
···+Whether to copy the config to a mutable directory instead of using the one directly from the nix store.+This will only copy the config if the file at `services.klipper.mutableConfigPath` doesn't exist.···Configuration for Klipper. See the [documentation](https://www.klipper3d.org/Overview.html#configuration-and-tuning-guides)···This will add `klipper-flash-$mcu` scripts to your environment which can be called to flash the firmware.+description = lib.mdDoc "Path to serial port this printer is connected to. Leave `null` to derive it from `service.klipper.settings`.";···+message = "Option services.klipper.octoprintIntegration requires Octoprint to be enabled on this system. Please enable services.octoprint to use it.";+message = "Option services.klipper.group is not set when services.klipper.user is specified.";+assertion = cfg.settings != null -> foldl (a: b: a && b) true (mapAttrsToList (mcu: _: mcu != null -> (hasAttrByPath [ "${mcu}" "serial" ] cfg.settings)) cfg.firmwares);+message = "Option services.klipper.settings.$mcu.serial must be set when settings.klipper.firmware.$mcu is specified";+message = "You need to either specify services.klipper.settings or services.klipper.defaultConfig.";+"klipper.cfg".source = if cfg.settings != null then format.generate "klipper.cfg" cfg.settings else cfg.configFile;············