Merge pull request #231881 from lovesegfault/klipper-log

Changed files
+21 -3
nixos
modules
services
pkgs
servers
klipper
+14 -2
nixos/modules/services/misc/klipper.nix
···
description = lib.mdDoc "The Klipper package.";
};
+
logFile = mkOption {
+
type = types.nullOr types.path;
+
default = null;
+
example = "/var/lib/klipper/klipper.log";
+
description = lib.mdDoc ''
+
Path of the file Klipper should log to.
+
If `null`, it logs to stdout, which is not recommended by upstream.
+
'';
+
};
+
inputTTY = mkOption {
type = types.path;
default = "/run/klipper/tty";
···
systemd.services.klipper =
let
klippyArgs = "--input-tty=${cfg.inputTTY}"
-
+ optionalString (cfg.apiSocket != null) " --api-server=${cfg.apiSocket}";
+
+ optionalString (cfg.apiSocket != null) " --api-server=${cfg.apiSocket}"
+
+ optionalString (cfg.logFile != null) " --logfile=${cfg.logFile}"
+
;
printerConfigPath =
if cfg.mutableConfig
then cfg.mutableConfigFolder + "/printer.cfg"
···
'';
serviceConfig = {
-
ExecStart = "${cfg.package}/lib/klipper/klippy.py ${klippyArgs} ${printerConfigPath}";
+
ExecStart = "${cfg.package}/bin/klippy ${klippyArgs} ${printerConfigPath}";
RuntimeDirectory = "klipper";
StateDirectory = "klipper";
SupplementaryGroups = [ "dialout" ];
+7 -1
pkgs/servers/klipper/default.nix
···
, fetchFromGitHub
, python3
, unstableGitUpdater
+
, makeWrapper
}:
stdenv.mkDerivation rec {
···
sourceRoot = "source/klippy";
# NB: This is needed for the postBuild step
-
nativeBuildInputs = [ (python3.withPackages ( p: with p; [ cffi ] )) ];
+
nativeBuildInputs = [
+
(python3.withPackages ( p: with p; [ cffi ] ))
+
makeWrapper
+
];
buildInputs = [ (python3.withPackages (p: with p; [ cffi pyserial greenlet jinja2 markupsafe numpy ])) ];
···
cp -r $src/docs $out/lib/docs
cp -r $src/config $out/lib/config
+
mkdir -p $out/bin
chmod 755 $out/lib/klipper/klippy.py
+
makeWrapper $out/lib/klipper/klippy.py $out/bin/klippy --chdir $out/lib/klipper
runHook postInstall
'';