diff options
Diffstat (limited to '')
-rw-r--r-- | hosts/apzu/default.nix | 85 |
1 files changed, 84 insertions, 1 deletions
diff --git a/hosts/apzu/default.nix b/hosts/apzu/default.nix index d0090339..6ba6828a 100644 --- a/hosts/apzu/default.nix +++ b/hosts/apzu/default.nix @@ -1,4 +1,9 @@ -{...}: { +{ + lib, + pkgs, + baseLib, + ... +}: { imports = [ ./hardware.nix ]; @@ -19,6 +24,84 @@ laptop = true; backlight = "intel_backlight"; }; + river.init = { + mappings = { + layout = "dvorak-modified"; + keymap = + { + # Focus change + "<Meta-T>" = {command = ["focus-view" "next"];}; + "<Meta-N>" = {command = ["focus-view" "previous"];}; + "<Meta+Ctrl-T>" = {command = ["focus-output" "next"];}; + "<Meta+Ctrl-N>" = {command = ["focus-output" "previous"];}; + + # Standard programs + "<Meta-<ENTER>>" = {command = ["spawn" "${lib.getExe pkgs.alacritty}"];}; + "<Meta+Shift-q>" = {command = ["exit"];}; + "<Meta-L>" = {command = ["spawn" "${lib.getExe pkgs.lock}"];}; + + # Screenshot + "<PRINTSCREEN>" = {command = ["spawn" "${lib.getExe pkgs.screenshot_persistent}"];}; + + # Audio + "<MEDIA_RAISEVOLUME>" = { + command = ["spawn" "${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_SINK@ 5%+"]; + modes = ["normal" "locked"]; + }; + "<MEDIA_LOWERVOLUME>" = { + command = ["spawn" "${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_SINK@ 5%-"]; + modes = ["normal" "locked"]; + }; + "<MEDIA_MUTEVOLUME>" = { + command = ["spawn" "${lib.getExe pkgs.mpc} toggle"]; + modes = ["normal" "locked"]; + }; + + # Launcher + "<Meta-R>" = {command = ["spawn" "${lib.getExe pkgs.rofi} -show combi -modes combi -combi-modes 'window, drun, run' -show-icons"];}; + "<Meta-<F1>>" = {command = ["spawn" "${lib.getExe pkgs.neorg} dmenu"];}; + "<Meta-<F2>>" = {command = ["spawn" "${lib.getExe pkgs.keepassxc}"];}; + "<Meta-<F3>>" = {command = ["spawn" "${lib.getExe pkgs.signal-desktop}"];}; + # "<Meta-<F4>>" = {command = ["spawn" "${lib.getExe pkgs.steam}"];}; + + # Client + "<Meta-f>" = {command = ["toggle-fullscreen"];}; + "<Meta+Shift-c>" = {command = ["close"];}; + "<Meta+Ctrl- >" = {command = ["toggle-float"];}; + "<Meta+Ctrl-<ENTER>>" = {command = ["zoom"];}; + "<Meta-o>" = {command = ["send-to-output" "next"];}; + "<Meta+Shift-T>" = {command = ["swap" "next"];}; + "<Meta+Shift-N>" = {command = ["swap" "previous"];}; + + # Toggle all tags + "<Meta-0>" = {command = ["set-focused-tags" (builtins.toString ((baseLib.pow 2 32) - 1))];}; + "<Meta+Shift-0>" = {command = ["set-view-tags" (builtins.toString ((baseLib.pow 2 32) - 1))];}; + + # Mouse + "<MOUSE_LEFT>" = { + command = ["move-view"]; + map_mode = "MapMouse"; + }; + "<MOUSE_RIGHT>" = { + command = ["resize-view"]; + map_mode = "MapMouse"; + }; + } + // ( + builtins.foldl' (acc: elem: acc // elem) {} ( + builtins.map (index: let + num = builtins.toString index; + index2tag = input: builtins.toString (baseLib.pow 2 (input - 1)); + in { + "<Meta-${num}>" = {command = ["set-focused-tags" (index2tag index)];}; + "<Meta+Shift-${num}>" = {command = ["set-view-tags" (index2tag index)];}; + "<Meta+Shift+Ctrl-${num}>" = {command = ["toggle-view-tags" (index2tag index)];}; + }) (builtins.genList (i: i + 1) 9) + ) + ); + }; + screenSetupCode = {}; + }; }; locale.enable = true; |