mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
nixos/kmonad: avoid running an unnecessary bash (#370064)
This commit is contained in:
commit
aff999e6d4
2 changed files with 8 additions and 11 deletions
|
@ -2,6 +2,7 @@
|
|||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
|
||||
|
@ -118,19 +119,8 @@ let
|
|||
# Build a systemd service that starts KMonad:
|
||||
mkService =
|
||||
keyboard:
|
||||
let
|
||||
cmd =
|
||||
[
|
||||
(lib.getExe cfg.package)
|
||||
"--input"
|
||||
''device-file "${keyboard.device}"''
|
||||
]
|
||||
++ cfg.extraArgs
|
||||
++ [ "${mkCfg keyboard}" ];
|
||||
in
|
||||
lib.nameValuePair (mkName keyboard.name) {
|
||||
description = "KMonad for ${keyboard.device}";
|
||||
script = lib.escapeShellArgs cmd;
|
||||
unitConfig = {
|
||||
# Control rate limiting.
|
||||
# Stop the restart logic if we restart more than
|
||||
|
@ -139,6 +129,10 @@ let
|
|||
StartLimitBurst = 5;
|
||||
};
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${lib.getExe cfg.package} ${mkCfg keyboard} \
|
||||
${utils.escapeSystemdExecArgs cfg.extraArgs}
|
||||
'';
|
||||
Restart = "always";
|
||||
# Restart at increasing intervals from 2s to 1m
|
||||
RestartSec = 2;
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
machine = {
|
||||
services.kmonad = {
|
||||
enable = true;
|
||||
extraArgs = [
|
||||
"--log-level=debug"
|
||||
];
|
||||
keyboards = {
|
||||
defaultKbd = {
|
||||
device = "/dev/input/by-id/vm-default-kbd";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue