diff --git a/modules/home/wayland/niri/default.nix b/modules/home/wayland/niri/default.nix index aa80962..37c0114 100644 --- a/modules/home/wayland/niri/default.nix +++ b/modules/home/wayland/niri/default.nix @@ -50,7 +50,22 @@ in { (cmd (lib.getExe apps.browser)) ]; - layout = { + layout = let + hasTheme = config.rose-pine.enable; + mkTheme = lib.mkIf hasTheme; + colors = + if hasTheme + then config.rose-pine.palette + else null; + + gradient = { + gradient = { + from = colors.rose.hex; + to = colors.iris.hex; + angle = 90; + }; + }; + in { gaps = 16; center-focused-column = "never"; @@ -64,14 +79,14 @@ in { focus-ring = { width = 4; - active = {color = "#7fc8ff";}; - inactive = {color = "#505050";}; + active = mkTheme gradient; + inactive = {color = colors.highlight-high.hex;}; }; border = { width = 4; - active = {color = "#ffc87f";}; - inactive = {color = "#505050";}; + active = mkTheme gradient; + inactive = {color = colors.highlight-high.hex;}; }; shadow = { @@ -121,34 +136,43 @@ in { ]); binds = with config.lib.niri.actions; { + "Mod+Q".action = close-window; + "Mod+Shift+E".action = quit; + "Ctrl+Alt+Delete".action = quit; + "Mod+Shift+Slash".action = show-hotkey-overlay; "Mod+Return".action = spawn (lib.getExe config.marleyos.apps.terminal); "Mod+R".action = spawn (lib.getExe config.programs.fuzzel.package); - "Mod+Q".action = close-window; + "Mod+H".action = focus-column-or-monitor-left; "Mod+J".action = focus-window-down; "Mod+K".action = focus-window-up; "Mod+L".action = focus-column-or-monitor-right; + "Mod+Home".action = focus-column-first; + "Mod+End".action = focus-column-last; + "Mod+Shift+H".action = move-column-left-or-to-monitor-left; "Mod+Shift+J".action = move-window-down; "Mod+Shift+K".action = move-window-up; "Mod+Shift+L".action = move-column-right-or-to-monitor-right; - "Mod+Ctrl+H".action = focus-monitor-left; - "Mod+Ctrl+L".action = focus-monitor-right; - "Mod+Home".action = focus-column-first; - "Mod+End".action = focus-column-last; "Mod+Shift+Home".action = move-column-to-first; "Mod+Shift+End".action = move-column-to-last; + "Mod+Page_Down".action = focus-workspace-down; "Mod+Page_Up".action = focus-workspace-up; - "Mod+Shift+Page_Down".action = move-column-to-workspace-down; - "Mod+Shift+Page_Up".action = move-column-to-workspace-up; "Mod+Ctrl+Page_Down".action = move-workspace-up; "Mod+Ctrl+Page_Up".action = move-workspace-down; + "Mod+Shift+Page_Down".action = move-column-to-workspace-down; + "Mod+Shift+Page_Up".action = move-column-to-workspace-up; + + "Mod+Ctrl+H".action = focus-monitor-left; + "Mod+Ctrl+L".action = focus-monitor-right; + "Mod+BracketLeft".action = consume-or-expel-window-left; "Mod+BracketRight".action = consume-or-expel-window-right; "Mod+Comma".action = consume-window-into-column; "Mod+Period".action = expel-window-from-column; + "Mod+P".action = switch-preset-column-width; "Mod+Shift+P".action = switch-preset-window-height; "Mod+Ctrl+P".action = reset-window-height; @@ -160,15 +184,16 @@ in { "Mod+Equal".action = set-column-width "+10%"; "Mod+Shift+Minus".action = set-window-height "-10%"; "Mod+Shift+Equal".action = set-window-height "+10%"; + "Mod+G".action = toggle-window-floating; "Mod+Shift+G".action = switch-focus-between-floating-and-tiling; "Mod+T".action = toggle-column-tabbed-display; + "Print".action = screenshot; "Ctrl+Print".action = screenshot-screen; "Alt+Print".action = screenshot-window; + "Mod+Escape".action = toggle-keyboard-shortcuts-inhibit; - "Mod+Shift+E".action = quit; - "Ctrl+Alt+Delete".action = quit; }; }; };