// This config is in the KDL format: https://kdl.dev // "/-" comments out the following node. input { keyboard { xkb { layout "in(eng)" // options "caps:swapescape" } // numlock } touchpad { // off tap dwt dwtp drag true drag-lock natural-scroll accel-speed 0.0 accel-profile "flat" scroll-method "two-finger" } } output "eDP-1" { mode "1366x768@60.138" scale 1 transform "normal" position x=1280 y=0 } layout { gaps 4 tab-indicator { gap 8 length total-proportion=1.0 position "left" place-within-column } center-focused-column "on-overflow" // "never" preset-column-widths { proportion 0.5 proportion 0.8 } default-column-width { proportion 0.8; } focus-ring { // off width 3 active-color "#7fc8ff" inactive-color "#505050" } border { off width 4 active-color "#ffc87f" inactive-color "#505050" urgent-color "#9b0000" } } spawn-at-startup "niriswitcher" // spawn-at-startup "foot --server" spawn-at-startup "waybar" spawn-at-startup "xwayland-satellite &" spawn-at-startup "swww-daemon" spawn-at-startup "swww restore" spawn-at-startup "xrdb .Xresources" spawn-at-startup "nm-applet" spawn-at-startup "hypridle" spawn-at-startup "copyq" spawn-at-startup "zapzap" spawn-at-startup "mpd" spawn-at-startup "systemctl --user start hyprpolkitagent" prefer-no-csd screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" window-rule { match app-id=r#"^org\.wezfurlong\.wezterm$"# default-column-width {} } window-rule { match app-id=r#"firefox$"# title="^Picture-in-Picture$" open-floating true } window-rule { match app-id=r#"^com\.github\.hluk\.copyq\.desktop$"# open-floating true } window-rule { match app-id=r#"^org\.keepassxc\.KeePassXC$"# match app-id=r#"^org\.gnome\.World\.Secrets$"# block-out-from "screen-capture" } window-rule { geometry-corner-radius 5 clip-to-geometry true } hotkey-overlay { skip-at-startup } binds { Mod+Shift+Slash { show-hotkey-overlay; } Mod+Return hotkey-overlay-title="Open a Terminal: wezterm" { spawn "wezterm"; } Mod+R hotkey-overlay-title="Run an Application: rofi" { spawn "bash" "-c" "rofi -show drun"; } Mod+B hotkey-overlay-title="Browser" { spawn "~/.nix-profile/bin/nixGL" "qutebrowser"; } // Mod+B hotkey-overlay-title="Browser" { spawn "qutebrowser"; } Mod+E hotkey-overlay-title="File Explorer" { spawn "thunar"; } Mod+Shift+Period hotkey-overlay-title="Emoji" { spawn "bash" "-c" "rofi -show emoji"; } Super+Alt+L hotkey-overlay-title="Power menu" { spawn "bash" "-c" "/home/anand/.local/bin/rofi-power-menu.sh"; } Alt+Tab hotkey-overlay-title="Niriswitcher" { spawn "niriswitcherctl" "show" "--window"; } Mod+P hotkey-overlay-title="Passwords" { spawn "passmenu"; } XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+"; } XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-"; } XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } XF86MonBrightnessDown allow-when-locked=true { spawn "brillo" "-U" "5"; } XF86MonBrightnessUP allow-when-locked=true { spawn "brillo" "-A" "5"; } Mod+O repeat=false { toggle-overview; } Mod+Q { close-window; } Mod+Left { focus-column-left; } Mod+Down { focus-window-down; } Mod+Up { focus-window-up; } Mod+Right { focus-column-right; } Mod+H { focus-column-left; } // Mod+J { focus-window-down; } // Mod+K { focus-window-up; } Mod+L { focus-column-right; } Mod+Shift+Left { move-column-left; } Mod+Shift+Down { move-window-down; } Mod+Shift+Up { move-window-up; } Mod+Shift+Right { move-column-right; } Mod+Shift+H { move-column-left; } // Mod+Ctrl+J { move-window-down; } // Mod+Ctrl+K { move-window-up; } Mod+Shift+L { move-column-right; } Mod+J { focus-window-or-workspace-down; } Mod+K { focus-window-or-workspace-up; } Mod+Shift+J { move-window-down-or-to-workspace-down; } Mod+Shift+K { move-window-up-or-to-workspace-up; } Mod+Home { focus-column-first; } Mod+End { focus-column-last; } Mod+Ctrl+Home { move-column-to-first; } Mod+Ctrl+End { move-column-to-last; } Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } Mod+Shift+Ctrl+H { move-column-to-monitor-left; } Mod+Shift+Ctrl+J { move-column-to-monitor-down; } Mod+Shift+Ctrl+K { move-column-to-monitor-up; } Mod+Shift+Ctrl+L { move-column-to-monitor-right; } Mod+Page_Down { focus-workspace-down; } Mod+Page_Up { focus-workspace-up; } Mod+U { focus-workspace-down; } Mod+I { focus-workspace-up; } Mod+Ctrl+Page_Down { move-column-to-workspace-down; } Mod+Ctrl+Page_Up { move-column-to-workspace-up; } Mod+Ctrl+U { move-column-to-workspace-down; } Mod+Ctrl+I { move-column-to-workspace-up; } Mod+Shift+Page_Down { move-workspace-down; } Mod+Shift+Page_Up { move-workspace-up; } Mod+Shift+U { move-workspace-down; } Mod+Shift+I { move-workspace-up; } Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } Mod+WheelScrollRight { focus-column-right; } Mod+WheelScrollLeft { focus-column-left; } Mod+Ctrl+WheelScrollRight { move-column-right; } Mod+Ctrl+WheelScrollLeft { move-column-left; } Mod+Shift+WheelScrollDown { focus-column-right; } Mod+Shift+WheelScrollUp { focus-column-left; } Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } Mod+1 { focus-workspace 1; } Mod+2 { focus-workspace 2; } Mod+3 { focus-workspace 3; } Mod+4 { focus-workspace 4; } Mod+5 { focus-workspace 5; } Mod+6 { focus-workspace 6; } Mod+7 { focus-workspace 7; } Mod+8 { focus-workspace 8; } Mod+9 { focus-workspace 9; } Mod+0 { focus-workspace 10; } Mod+Ctrl+1 { move-column-to-workspace 1; } Mod+Ctrl+2 { move-column-to-workspace 2; } Mod+Ctrl+3 { move-column-to-workspace 3; } Mod+Ctrl+4 { move-column-to-workspace 4; } Mod+Ctrl+5 { move-column-to-workspace 5; } Mod+Ctrl+6 { move-column-to-workspace 6; } Mod+Ctrl+7 { move-column-to-workspace 7; } Mod+Ctrl+8 { move-column-to-workspace 8; } Mod+Ctrl+9 { move-column-to-workspace 9; } Mod+Ctrl+0 { move-column-to-workspace 10; } Mod+BracketLeft { consume-or-expel-window-left; } Mod+BracketRight { consume-or-expel-window-right; } Mod+Comma { consume-window-into-column; } Mod+Period { expel-window-from-column; } Mod+D { switch-preset-column-width; } Mod+Shift+R { switch-preset-window-height; } Mod+Ctrl+R { reset-window-height; } Mod+F { maximize-column; } Mod+Shift+F { fullscreen-window; } Mod+Ctrl+F { expand-column-to-available-width; } Mod+C { center-column; } Mod+Ctrl+C { center-visible-columns; } Mod+Minus { set-column-width "-10%"; } Mod+Equal { set-column-width "+10%"; } // Finer height adjustments when in column with other windows. Mod+Shift+Minus { set-window-height "-5%"; } Mod+Shift+Equal { set-window-height "+5%"; } // Move the focused window between the floating and the tiling layout. Mod+V { toggle-window-floating; } Mod+Shift+V { switch-focus-between-floating-and-tiling; } // Toggle tabbed column display mode. // Windows in this column will appear as vertical tabs, // rather than stacked on top of each other. Mod+W { toggle-column-tabbed-display; } Mod+Shift+S { spawn "~/dots/niri/screenshotwayland.sh"; } Ctrl+Print { screenshot-screen; } Alt+Print { screenshot-window; } Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } Mod+Shift+E { quit; } Ctrl+Alt+Delete { quit; } Mod+Shift+P { power-off-monitors; } } environment { CHROME_EXECUTABLE "/usr/bin/chromium" }