aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-07-01 19:56:55 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-07-01 19:56:55 +0200
commitc3c112b119434cbc2886ed47336ee61dd76ba791 (patch)
treeb2b11751d5da1a551d3864ee3595a9ab16aeab3d /modules
parentmodules/river/keymap: Also mark lock as `once` (diff)
downloadnixos-config-c3c112b119434cbc2886ed47336ee61dd76ba791.zip
modules/river/keymap: Use `let .. in` instead of `rec`
`rec` can't handle the quoted reference to the attribute set (`<LEFT_SUPER>`).
Diffstat (limited to 'modules')
-rw-r--r--modules/by-name/ri/river/keymap.nix170
1 files changed, 86 insertions, 84 deletions
diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix
index 680e9aa8..19c36203 100644
--- a/modules/by-name/ri/river/keymap.nix
+++ b/modules/by-name/ri/river/keymap.nix
@@ -21,112 +21,114 @@
mkSpawn = pkg: args: further: (mkSpawn' pkg pkg.meta.mainProgram args further);
cfg = config.soispha.programs.river;
-in {
- soispha.programs.river.init.mappings.keymap = lib.mkIf cfg.enable rec {
- "<LEFT_SUPER>" = {
- # Change focus
- "f" = {
- "t" = ["focus-view" "next"];
- "n" = ["focus-view" "previous"];
- "T" = ["focus-output" "next"];
- "N" = ["focus-output" "previous"];
- };
- # Spawn standard programs
- "r" = {
- "a" = mkSpawn pkgs.alacritty "";
- "b" = mkSpawn pkgs.tskm "open select" {once = true;};
- "k" = mkSpawn pkgs.keepassxc "" {once = true;};
- "s" = mkSpawn pkgs.signal-desktop "" {once = true;};
- "p" = mkSpawn pkgs.screenshot_persistent "" {once = true;};
- };
+ coreKeymap = {
+ # Change focus
+ "f" = {
+ "t" = ["focus-view" "next"];
+ "n" = ["focus-view" "previous"];
+ "T" = ["focus-output" "next"];
+ "N" = ["focus-output" "previous"];
+ };
- # Client changes
- "c" = {
- "f" = ["toggle-fullscreen"];
- "c" = ["close"];
- " " = ["toggle-float"];
- "<ENTER>" = ["zoom"];
- "o" = ["send-to-output" "next"];
- "t" = ["swap" "next"];
- "n" = ["swap" "previous"];
- };
+ # Spawn standard programs
+ "r" = {
+ "a" = mkSpawn pkgs.alacritty "";
+ "b" = mkSpawn pkgs.tskm "open select" {once = true;};
+ "k" = mkSpawn pkgs.keepassxc "" {once = true;};
+ "s" = mkSpawn pkgs.signal-desktop "" {once = true;};
+ "p" = mkSpawn pkgs.screenshot_persistent "" {once = true;};
+ };
- # This is a fill in for <Super-L>, as that is otherwise impossible to input.
- "l" = "<LEFT_SUPER>".x.l;
+ # Client changes
+ "c" = {
+ "f" = ["toggle-fullscreen"];
+ "c" = ["close"];
+ " " = ["toggle-float"];
+ "<ENTER>" = ["zoom"];
+ "o" = ["send-to-output" "next"];
+ "t" = ["swap" "next"];
+ "n" = ["swap" "previous"];
+ };
- # River compositor control.
- "x" = {
- "q" = ["exit"];
- "l" = mkSpawn pkgs.lock "" {once = true;};
- };
+ # This is a fill in for <Super-L>, as that is otherwise impossible to input.
+ "l" = coreKeymap.x.l;
- # Media control
- "m" = {
- "r" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%+";
- "l" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%-";
- "m" = mkSpawn pkgs.mpp "toggle";
- };
+ # River compositor control.
+ "x" = {
+ "q" = ["exit"];
+ "l" = mkSpawn pkgs.lock "" {once = true;};
+ };
+
+ # Media control
+ "m" = {
+ "r" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%+";
+ "l" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%-";
+ "m" = mkSpawn pkgs.mpp "toggle";
+ };
- # Select tags to view.
- "v" = {
- "0" = ["set-view-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))];
- "p" = ["send-to-previous-tags"];
+ # Select tags to view.
+ "v" = {
+ "0" = ["set-view-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))];
+ "p" = ["send-to-previous-tags"];
- "1" = mkTagCommand "set-view-tags" 1;
- "2" = mkTagCommand "set-view-tags" 2;
- "3" = mkTagCommand "set-view-tags" 3;
- "4" = mkTagCommand "set-view-tags" 4;
- "5" = mkTagCommand "set-view-tags" 5;
- "6" = mkTagCommand "set-view-tags" 6;
- "7" = mkTagCommand "set-view-tags" 7;
- "8" = mkTagCommand "set-view-tags" 8;
- "9" = mkTagCommand "set-view-tags" 9;
+ "1" = mkTagCommand "set-view-tags" 1;
+ "2" = mkTagCommand "set-view-tags" 2;
+ "3" = mkTagCommand "set-view-tags" 3;
+ "4" = mkTagCommand "set-view-tags" 4;
+ "5" = mkTagCommand "set-view-tags" 5;
+ "6" = mkTagCommand "set-view-tags" 6;
+ "7" = mkTagCommand "set-view-tags" 7;
+ "8" = mkTagCommand "set-view-tags" 8;
+ "9" = mkTagCommand "set-view-tags" 9;
- # Add tags to view.
- "a" = {
- "1" = mkTagCommand "toggle-view-tags" 1;
- "2" = mkTagCommand "toggle-view-tags" 2;
- "3" = mkTagCommand "toggle-view-tags" 3;
- "4" = mkTagCommand "toggle-view-tags" 4;
- "5" = mkTagCommand "toggle-view-tags" 5;
- "6" = mkTagCommand "toggle-view-tags" 6;
- "7" = mkTagCommand "toggle-view-tags" 7;
- "8" = mkTagCommand "toggle-view-tags" 8;
- "9" = mkTagCommand "toggle-view-tags" 9;
- };
+ # Add tags to view.
+ "a" = {
+ "1" = mkTagCommand "toggle-view-tags" 1;
+ "2" = mkTagCommand "toggle-view-tags" 2;
+ "3" = mkTagCommand "toggle-view-tags" 3;
+ "4" = mkTagCommand "toggle-view-tags" 4;
+ "5" = mkTagCommand "toggle-view-tags" 5;
+ "6" = mkTagCommand "toggle-view-tags" 6;
+ "7" = mkTagCommand "toggle-view-tags" 7;
+ "8" = mkTagCommand "toggle-view-tags" 8;
+ "9" = mkTagCommand "toggle-view-tags" 9;
};
+ };
- # Select tags to focus.
- "f" = {
- "0" = ["set-focused-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))];
- "p" = ["focus-previous-tags"];
+ # Select tags to focus.
+ "f" = {
+ "0" = ["set-focused-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))];
+ "p" = ["focus-previous-tags"];
- "1" = mkTagCommand "set-focused-tags" 1;
- "2" = mkTagCommand "set-focused-tags" 2;
- "3" = mkTagCommand "set-focused-tags" 3;
- "4" = mkTagCommand "set-focused-tags" 4;
- "5" = mkTagCommand "set-focused-tags" 5;
- "6" = mkTagCommand "set-focused-tags" 6;
- "7" = mkTagCommand "set-focused-tags" 7;
- "8" = mkTagCommand "set-focused-tags" 8;
- "9" = mkTagCommand "set-focused-tags" 9;
- };
+ "1" = mkTagCommand "set-focused-tags" 1;
+ "2" = mkTagCommand "set-focused-tags" 2;
+ "3" = mkTagCommand "set-focused-tags" 3;
+ "4" = mkTagCommand "set-focused-tags" 4;
+ "5" = mkTagCommand "set-focused-tags" 5;
+ "6" = mkTagCommand "set-focused-tags" 6;
+ "7" = mkTagCommand "set-focused-tags" 7;
+ "8" = mkTagCommand "set-focused-tags" 8;
+ "9" = mkTagCommand "set-focused-tags" 9;
};
+ };
+in {
+ soispha.programs.river.init.mappings.keymap = lib.mkIf cfg.enable {
+ "<LEFT_SUPER>" = coreKeymap;
# Audio
"<MEDIA_RAISEVOLUME>" =
- "<LEFT_SUPER>".m.r
+ coreKeymap.m.r
// {
allow_locked = true;
};
"<MEDIA_LOWERVOLUME>" =
- "<LEFT_SUPER>".m.l
+ coreKeymap.m.l
// {
allow_locked = true;
};
"<MEDIA_MUTEVOLUME>" =
- "<LEFT_SUPER>".m.m
+ coreKeymap.m.m
// {
allow_locked = true;
};
@@ -136,6 +138,6 @@ in {
"<Meta-<MOUSE_RIGHT>>" = ["resize-view"];
# Screenshot
- "<PRINTSCREEN>" = "<LEFT_SUPER>".r.p;
+ "<PRINTSCREEN>" = coreKeymap.r.p;
};
}