summaryrefslogtreecommitdiff
path: root/.config/niri/config.kdl
diff options
context:
space:
mode:
authorseraphim <18ycm9tx@anonaddy.me>2026-08-23 18:07:29 +0700
committerseraphim <18ycm9tx@anonaddy.me>2026-08-23 18:07:29 +0700
commited3e8f6ec6929327ab19e512ffb0d8ece12ed5a8 (patch)
treef1a783af87d29b8d78ce20df5a485f92b8c32d5d /.config/niri/config.kdl
parent3c71645d355910b6998e97a1efca6f5a7c7608bc (diff)
reorganize directories, so everything in .config
Diffstat (limited to '.config/niri/config.kdl')
-rw-r--r--.config/niri/config.kdl321
1 files changed, 321 insertions, 0 deletions
diff --git a/.config/niri/config.kdl b/.config/niri/config.kdl
new file mode 100644
index 0000000..9d7db14
--- /dev/null
+++ b/.config/niri/config.kdl
@@ -0,0 +1,321 @@
+include optional=true "/home/seraphim/.cache/matugen/theme.kdl"
+spawn-at-startup "mako"
+spawn-at-startup "xrdb" "-merge" "/home/seraphim/.Xresources"
+spawn-at-startup "vicinae" "server"
+spawn-at-startup "gentoo-pipewire-launcher"
+spawn-at-startup "telegram-desktop" "-autostart" "--minimized"
+spawn-at-startup "keepassxc" "--minimized"
+spawn-at-startup "awww-daemon"
+spawn-at-startup "awww-daemon" "--namespace" "backdrop"
+spawn-at-startup "/usr/libexec/hyprpolkitagent"
+spawn-at-startup "dbus-update-activation-environment" "WAYLAND_DISPLAY" "DISPLAY" "XDG_CURRENT_DESKTOP"
+spawn-at-startup "darkman" "run"
+spawn-at-startup "/home/seraphim/dotfiles-gentoo/niri/.config/niri/theme-switcher.sh" "night"
+spawn-at-startup "sh" "-c" "NO_AT_BRIDGE=1 waybar"
+spawn-at-startup "/usr/bin/Throne"
+spawn-at-startup "mpd"
+prefer-no-csd
+screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
+
+environment {
+ OZONE_PLATFORM "wayland"
+ ELECTRON_OZONE_PLATFORM_HINT "auto"
+ XDG_CURRENT_DESKTOP "niri"
+}
+blur {
+ passes 4
+ offset 5.0
+ noise 0.02
+ saturation 1.1
+}
+
+// awww-daemon --namespace backdrop: pre-blurred wallpaper shown in the
+// Overview backdrop. niri cannot blur a backdrop surface itself.
+layer-rule {
+ match namespace="^awww-daemonbackdrop$"
+ place-within-backdrop true
+}
+input {
+ focus-follows-mouse max-scroll-amount="100%"
+
+ keyboard {
+ xkb {
+ layout "us,ru"
+ options "grp:lalt_lshift_toggle,compose:ralt,ctrl:nocaps"
+ }
+ repeat-delay 300
+ repeat-rate 60
+ numlock
+ }
+
+ mouse {
+ accel-speed -0.8
+ accel-profile "flat"
+ }
+}
+
+output "DP-2" {
+ mode "2560x1440"
+ scale 1.5
+ position x=0 y=0
+}
+
+output "HDMI-A-1" {
+ mode "1920x1080@71.910"
+ scale 1
+}
+
+layout {
+ gaps 0.5
+ center-focused-column "never"
+
+ preset-column-widths {
+ proportion 0.33333
+ proportion 0.5
+ proportion 0.66667
+ }
+
+ default-column-width { proportion 0.5; }
+
+ focus-ring {
+ width 2
+ }
+
+ border {
+ off //width 0.5
+ //active-color "#ffc87f"
+ //inactive-color "#505050"
+ //urgent-color "#9b0000"
+ }
+
+ shadow {
+ off
+ //softness 30
+ //spread 5
+ //offset x=0 y=5
+ //color "#0007"
+ }
+}
+
+animations {
+ workspace-switch {
+ duration-ms 275
+ curve "ease-out-cubic"
+ }
+ horizontal-view-movement {
+ spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
+ }
+ window-movement {
+ spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
+ }
+// window-open {
+// duration-ms 150
+// curve "ease-out-expo"
+// }
+// window-close {
+// duration-ms 150
+// curve "ease-out-quad"
+// }
+ window-resize {
+ spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
+ }
+ overview-open-close {
+ duration-ms 150
+ curve "ease-out-quad"
+ }
+}
+
+window-rule {
+ match app-id=r#"^org\.wezfurlong\.wezterm$"#
+ geometry-corner-radius 12
+ clip-to-geometry true
+ background-effect {
+ xray false
+ }
+}
+
+// Helium PiP fix
+window-rule {
+ match app-id=r#"helium$"# title="^Picture-in-Picture$"
+ open-floating true
+ geometry-corner-radius 9000
+ clip-to-geometry true
+ shadow {
+ off
+ }
+}
+
+// Steam notifs fix
+window-rule {
+ match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
+ open-floating true
+ open-focused false
+ default-floating-position x=16 y=16 relative-to="bottom-right"
+}
+
+gestures {
+ hot-corners {
+ off
+ }
+}
+
+cursor {
+ xcursor-theme "Bibata-Modern-Classic"
+ xcursor-size 15
+}
+
+overview {
+ zoom 0.5
+ workspace-shadow {
+ off
+ //softness 15
+ //spread 3
+ //offset x=0 y=6
+ //color "#00000080"
+ }
+}
+debug {
+ honor-xdg-activation-with-invalid-serial
+}
+binds {
+ // Application Launchers
+ Mod+Shift+T { spawn "telegram-desktop"; }
+ Mod+Shift+B { spawn "/opt/helium/helium" "--enable-features=UseOzonePlatform" "--ozone-platform=wayland"; }
+ Mod+D { spawn "vicinae" "toggle"; }
+ Mod+Ctrl+V { spawn "vicinae" "deeplink" "vicinae://launch/clipboard/history"; }
+ Mod+T hotkey-overlay-title="File Manager" { spawn "foot" "-e" "yazi"; }
+ Mod+Alt+R { spawn "foot" "-e" "rmpc"; }
+ Mod+S hotkey-overlay-title="Terminal" { spawn "foot"; }
+ Super+Alt+L hotkey-overlay-title="Lock Screen" { spawn "swaylock"; }
+
+ // Audio & Media Controls
+ XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
+ XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
+ XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
+ XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
+
+ XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
+ XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
+ XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
+ XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
+
+ // universal clipboard hotkeys (super + c / v / x)
+ mod+c { spawn-sh "sleep 0.001 && wtype -M ctrl -k insert -m ctrl"; }
+ mod+v { spawn-sh "sleep 0.001 && wtype -M shift -k insert -m shift"; }
+ mod+x { spawn-sh "sleep 0.001 && wtype -M shift -k delete -m shift"; }
+
+ // Window Management & Views
+ Mod+Tab repeat=false { toggle-overview; }
+ Mod+Grave repeat=false { toggle-overview; }
+ Mod+W repeat=false { close-window; }
+ Mod+F { maximize-column; }
+ Mod+Shift+F { fullscreen-window; }
+ Mod+Ctrl+F { maximize-window-to-edges; }
+ //Mod+Ctrl+F { expand-column-to-available-width; }
+ Mod+Ctrl+C { center-visible-columns; }
+ Mod+Shift+V { toggle-window-floating; }
+ Mod+Q { toggle-column-tabbed-display; }
+
+ // Focus Navigation
+ 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+WheelScrollUp { focus-monitor-left; }
+ Mod+Shift+WheelScrollDown { focus-monitor-right; }
+
+ // Window Movement
+ Mod+Ctrl+Left { move-column-left; }
+ Mod+Ctrl+Down { move-window-down; }
+ Mod+Ctrl+Up { move-window-up; }
+ Mod+Ctrl+Right { move-column-right; }
+ Mod+Ctrl+H { move-column-left; }
+ Mod+Ctrl+J { move-window-down; }
+ Mod+Ctrl+K { move-window-up; }
+ Mod+Ctrl+L { move-column-right; }
+
+ Mod+Home { focus-column-first; }
+ Mod+End { focus-column-last; }
+ Mod+Ctrl+Home { move-column-to-first; }
+ Mod+Ctrl+End { move-column-to-last; }
+
+ // Monitor Focus & Movement
+ Mod+Shift+1 { focus-monitor-left; }
+ Mod+Shift+2 { focus-monitor-right; }
+ Mod+Shift+Left { focus-monitor-left; }
+ Mod+Shift+Down { focus-monitor-down; }
+ Mod+Shift+Up { focus-monitor-up; }
+ Mod+Shift+Right { focus-monitor-right; }
+ Mod+Shift+H { focus-monitor-left; }
+ Mod+Shift+J { focus-monitor-down; }
+ Mod+Shift+K { focus-monitor-up; }
+ Mod+Shift+L { focus-monitor-right; }
+
+ Mod+Shift+Ctrl+1 { move-column-to-monitor-left; }
+ Mod+Shift+Ctrl+2 { move-column-to-monitor-right; }
+ 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; }
+
+ // Workspace Navigation
+ 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; }
+
+ // Direct Workspace Switching (1-9)
+ 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+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; }
+
+ // Column & Window Sizing
+ Mod+BracketLeft { consume-or-expel-window-left; }
+ Mod+BracketRight { consume-or-expel-window-right; }
+
+ Mod+R { switch-preset-column-width; }
+ Mod+Shift+R { switch-preset-column-width-back; }
+ Mod+Ctrl+Shift+R { switch-preset-window-height; }
+ Mod+Ctrl+R { reset-window-height; }
+
+ Mod+Minus { set-column-width "-10%"; }
+ Mod+Equal { set-column-width "+10%"; }
+ Mod+Shift+Minus { set-window-height "-10%"; }
+ Mod+Shift+Equal { set-window-height "+10%"; }
+
+ // Mouse Wheel Bindings
+ Mod+WheelScrollUp { focus-column-left; }
+ Mod+WheelScrollDown { focus-column-right; }
+
+ // Screenshots
+ Print { screenshot; }
+ Ctrl+Print { screenshot-screen; }
+ Alt+Print { screenshot-window; }
+
+ // System Control
+ Mod+Shift+E { quit; }
+}