aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/tiamat
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/tiamat')
-rw-r--r--hosts/tiamat/default.nix100
1 files changed, 99 insertions, 1 deletions
diff --git a/hosts/tiamat/default.nix b/hosts/tiamat/default.nix
index 4e76675c..17c7e72e 100644
--- a/hosts/tiamat/default.nix
+++ b/hosts/tiamat/default.nix
@@ -1,4 +1,11 @@
-{...}: {
+{
+ lib,
+ pkgs,
+ baseLib,
+ qmk_firmware,
+ system,
+ ...
+}: {
imports = [
./hardware.nix
];
@@ -24,6 +31,97 @@
programs = {
river = {
unicodeInput.enable = true;
+ init = {
+ mappings = {
+ layout = "us";
+ keymap = let
+ map = key: "<Alt+Ctrl+Meta+Shift-${key}>";
+ in
+ (lib.mapAttrs' (name: value: lib.nameValuePair (map name) value) {
+ # Movement
+ "A" = {command = ["exit"];};
+ "B" = {command = ["close"];};
+
+ "C" = {command = ["focus-view" "previous"];};
+ "D" = {command = ["focus-view" "next"];};
+
+ "E" = {command = ["swap" "previous"];};
+ "F" = {command = ["swap" "next"];};
+
+ "G" = {command = ["zoom"];};
+
+ "H" = {command = ["toggle-fullscreen"];};
+ "I" = {command = ["toggle-float"];};
+
+ "J" = {command = ["send-to-output" "next"];};
+
+ "K" = {command = ["spawn" "${lib.getExe pkgs.alacritty}"];};
+ "L" = {command = ["spawn" "${lib.getExe pkgs.screenshot_persistent}"];};
+
+ # Audio
+ # "M" = {command = ["spawn" "video-pause toggle"]; modes = ["normal" "locked"]; };
+ "N" = {
+ command = ["spawn" "${lib.getExe pkgs.mpc} toggle"];
+ modes = ["normal" "locked"];
+ };
+
+ # Launcher
+ "O" = {command = ["spawn" "${lib.getExe pkgs.rofi} -show combi -modes combi -combi-modes 'window,drun,run' -show-icons"];};
+ "P" = {command = ["spawn" "${lib.getExe pkgs.neorg} dmenu"];};
+ "Q" = {command = ["spawn" "${lib.getExe pkgs.keepassxc}"];};
+ # "R" = {command = ["spawn" "nheko"];};
+ "S" = {command = ["spawn" "${lib.getExe pkgs.signal-desktop}"];};
+ "T" = {command = ["spawn" "${lib.getExe pkgs.lock}"];};
+
+ "U" = {command = ["focus-output" "next"];};
+ "V" = {command = ["focus-previous-tags"];};
+ "W" = {command = ["send-to-previous-tags"];};
+ # "X" = {command = ["spawn" "bemenu-run"];};
+ # "Y" = {command = ["spawn" "bemenu-run"];};
+
+ # Toggle all tags
+ "0" = {command = ["set-focused-tags" "${builtins.toString ((baseLib.pow 2 32) - 1)}"];};
+
+ # Support Unicode input
+ "Z" = {command = ["spawn" "${lib.getExe qmk_firmware.packages.${system}.qmk_unicode_type} 106 65377"];};
+ })
+ // ({
+ # TODO: add toggle-focus mapping
+
+ # Toggle all tags
+ "<Alt+Ctrl+Shift-0>" = {command = ["set-view-tags" "${builtins.toString ((baseLib.pow 2 32) - 1)}"];};
+
+ # Mouse
+ "<Meta-<MOUSE_LEFT>>" = {
+ command = ["move-view"];
+ map_mode = "MapMouse";
+ };
+ "<Meta-<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 {
+ "${map num}" = {command = ["set-focused-tags" (index2tag index)];};
+ "<Alt+Ctrl+Shift-${num}>" = {command = ["set-view-tags" (index2tag index)];};
+ # "<Super+Shift+Ctrl-${num}>" = {command = ["toggle-view-tags" (index2tag index)];};
+ }) (builtins.genList (i: i + 1) 9)
+ )
+ ));
+ };
+ screenSetupCode = {
+ "DP-2" = {pos = "2560,0";};
+ "DP-1" = {
+ scale = "1.5";
+ pos = "0,0";
+ };
+ };
+ };
};
};
locale = {