Skip to content

Commit c3588cf

Browse files
committed
nixos/kmonad: avoid running an unnecessary bash
1 parent ed3f112 commit c3588cf

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

nixos/modules/services/hardware/kmonad.nix

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
config,
33
lib,
44
pkgs,
5+
utils,
56
...
67
}:
78

@@ -118,17 +119,8 @@ let
118119
# Build a systemd service that starts KMonad:
119120
mkService =
120121
keyboard:
121-
let
122-
cmd =
123-
[
124-
(lib.getExe cfg.package)
125-
]
126-
++ cfg.extraArgs
127-
++ [ "${mkCfg keyboard}" ];
128-
in
129122
lib.nameValuePair (mkName keyboard.name) {
130123
description = "KMonad for ${keyboard.device}";
131-
script = lib.escapeShellArgs cmd;
132124
unitConfig = {
133125
# Control rate limiting.
134126
# Stop the restart logic if we restart more than
@@ -137,6 +129,10 @@ let
137129
StartLimitBurst = 5;
138130
};
139131
serviceConfig = {
132+
ExecStart = ''
133+
${lib.getExe cfg.package} ${mkCfg keyboard} \
134+
${utils.escapeSystemdExecArgs cfg.extraArgs}
135+
'';
140136
Restart = "always";
141137
# Restart at increasing intervals from 2s to 1m
142138
RestartSec = 2;

nixos/tests/kmonad.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
machine = {
1212
services.kmonad = {
1313
enable = true;
14+
extraArgs = [
15+
"--log-level=debug"
16+
];
1417
keyboards = {
1518
defaultKbd = {
1619
device = "/dev/input/by-id/vm-default-kbd";

0 commit comments

Comments
 (0)