mirror of
https://github.com/nix-community/home-manager
synced 2024-11-20 01:59:45 +01:00
sxhkd: allow usage of derivations as keybind commands (#4169)
This makes it consistent with some other options, like `systemd.user.services.Service.ExecStart`.
This commit is contained in:
parent
0f71012724
commit
44d1a8542a
3 changed files with 18 additions and 3 deletions
|
@ -38,13 +38,15 @@ in {
|
|||
};
|
||||
|
||||
keybindings = mkOption {
|
||||
type = types.attrsOf (types.nullOr types.str);
|
||||
type =
|
||||
types.attrsOf (types.nullOr (types.oneOf [ types.str types.path ]));
|
||||
default = { };
|
||||
description = "An attribute set that assigns hotkeys to commands.";
|
||||
example = literalExpression ''
|
||||
{
|
||||
"super + shift + {r,c}" = "i3-msg {restart,reload}";
|
||||
"super + {s,w}" = "i3-msg {stacking,tabbed}";
|
||||
"super + F1" = pkgs.writeShellScript "script" "echo $USER";
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
let
|
||||
script = pkgs.writeShellScript "script.sh" ''
|
||||
echo "test"
|
||||
'';
|
||||
in {
|
||||
services.sxhkd = {
|
||||
enable = true;
|
||||
|
||||
|
@ -10,6 +14,7 @@
|
|||
"super + a" = "run command a";
|
||||
"super + b" = null;
|
||||
"super + Shift + b" = "run command b";
|
||||
"super + s" = script;
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
|
@ -27,6 +32,11 @@
|
|||
|
||||
assertFileExists $sxhkdrc
|
||||
|
||||
assertFileContent $sxhkdrc ${./sxhkdrc}
|
||||
assertFileContent $sxhkdrc ${
|
||||
pkgs.substituteAll {
|
||||
src = ./sxhkdrc;
|
||||
inherit script;
|
||||
}
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -5,6 +5,9 @@ super + a
|
|||
run command a
|
||||
|
||||
|
||||
super + s
|
||||
@script@
|
||||
|
||||
super + c
|
||||
call command c
|
||||
|
||||
|
|
Loading…
Reference in a new issue