aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/apzu
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hosts/apzu/default.nix85
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;