nixos/kmonad: avoid running an unnecessary bash (#370064)
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
utils,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -118,19 +119,8 @@ let
|
|||||||
# Build a systemd service that starts KMonad:
|
# Build a systemd service that starts KMonad:
|
||||||
mkService =
|
mkService =
|
||||||
keyboard:
|
keyboard:
|
||||||
let
|
|
||||||
cmd =
|
|
||||||
[
|
|
||||||
(lib.getExe cfg.package)
|
|
||||||
"--input"
|
|
||||||
''device-file "${keyboard.device}"''
|
|
||||||
]
|
|
||||||
++ cfg.extraArgs
|
|
||||||
++ [ "${mkCfg keyboard}" ];
|
|
||||||
in
|
|
||||||
lib.nameValuePair (mkName keyboard.name) {
|
lib.nameValuePair (mkName keyboard.name) {
|
||||||
description = "KMonad for ${keyboard.device}";
|
description = "KMonad for ${keyboard.device}";
|
||||||
script = lib.escapeShellArgs cmd;
|
|
||||||
unitConfig = {
|
unitConfig = {
|
||||||
# Control rate limiting.
|
# Control rate limiting.
|
||||||
# Stop the restart logic if we restart more than
|
# Stop the restart logic if we restart more than
|
||||||
@@ -139,6 +129,10 @@ let
|
|||||||
StartLimitBurst = 5;
|
StartLimitBurst = 5;
|
||||||
};
|
};
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
ExecStart = ''
|
||||||
|
${lib.getExe cfg.package} ${mkCfg keyboard} \
|
||||||
|
${utils.escapeSystemdExecArgs cfg.extraArgs}
|
||||||
|
'';
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
# Restart at increasing intervals from 2s to 1m
|
# Restart at increasing intervals from 2s to 1m
|
||||||
RestartSec = 2;
|
RestartSec = 2;
|
||||||
|
|||||||
@@ -11,6 +11,9 @@
|
|||||||
machine = {
|
machine = {
|
||||||
services.kmonad = {
|
services.kmonad = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
extraArgs = [
|
||||||
|
"--log-level=debug"
|
||||||
|
];
|
||||||
keyboards = {
|
keyboards = {
|
||||||
defaultKbd = {
|
defaultKbd = {
|
||||||
device = "/dev/input/by-id/vm-default-kbd";
|
device = "/dev/input/by-id/vm-default-kbd";
|
||||||
|
|||||||
Reference in New Issue
Block a user