mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 19:55:41 +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,
|
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";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue