This commit is contained in:
Till 2026-04-12 18:48:42 +02:00
parent e945735fa1
commit b4b1f4a63f
36 changed files with 716 additions and 94 deletions

203
dotfiles/niri/config.kdl Normal file
View file

@ -0,0 +1,203 @@
/-output "eDP-1" {
mode "1920x1080@120.030"
scale 2
transform "normal"
position x=1280 y=0
}
layout {
preset-column-widths {
proportion 0.381966
proportion 0.5
proportion 0.618034
}
default-column-width { proportion 0.5; }
}
environment {
TERMINAL "foot"
XDG_CURRENT_DESKTOP "niri"
}
hotkey-overlay {
skip-at-startup
}
prefer-no-csd
screenshot-path "~/media/img/screenshots/screenshot_%Y-%m-%d_%H-%M-%S.png"
// debug {
// honor-xdg-activation-with-invalid-serial
// }
recent-windows {
binds {
Super+Tab { next-window scope="output"; }
Super+Shift+Tab { previous-window scope="output"; }
Super+grave { next-window filter="app-id"; }
Super+Shift+grave { previous-window filter="app-id"; }
}
}
animations {
workspace-switch {
spring damping-ratio=0.9 stiffness=2000 epsilon=0.001
}
window-open {
duration-ms 50
curve "ease-out-expo"
}
window-close {
duration-ms 50
curve "ease-out-quad"
}
horizontal-view-movement {
spring damping-ratio=0.9 stiffness=2000 epsilon=0.001
}
window-movement {
// spring damping-ratio=0.75 stiffness=323 epsilon=0.0001
spring damping-ratio=0.9 stiffness=2000 epsilon=0.001
}
window-resize {
spring damping-ratio=0.9 stiffness=2000 epsilon=0.001
}
config-notification-open-close {
spring damping-ratio=0.9 stiffness=2000 epsilon=0.001
}
screenshot-ui-open {
duration-ms 50
curve "ease-out-quad"
}
overview-open-close {
spring damping-ratio=0.9 stiffness=2000 epsilon=0.001
}
}
input {
keyboard {
xkb {
layout "us,de,th"
variant "altgr-intl"
options "grp:alt_space_toggle"
}
numlock
}
touchpad {
tap
natural-scroll
click-method "clickfinger"
}
trackball {
natural-scroll
accel-speed -0.3
}
mouse {
}
trackpoint {
}
warp-mouse-to-focus
focus-follows-mouse max-scroll-amount="0%"
}
layer-rule {
match namespace="^quickshell$"
place-within-backdrop false
}
layer-rule {
match namespace="dms:blurwallpaper"
place-within-backdrop true
}
window-rule {
match app-id=r#"^org\.wezfurlong\.wezterm$"#
default-column-width {}
}
window-rule {
match app-id=r#"^org\.gnome\."#
draw-border-with-background false
geometry-corner-radius 12
clip-to-geometry true
}
window-rule {
match app-id=r#"^gnome-control-center$"#
match app-id=r#"^pavucontrol$"#
match app-id=r#"^nm-connection-editor$"#
default-column-width { proportion 0.5; }
open-floating false
}
window-rule {
match app-id=r#"^gnome-calculator$"#
match app-id=r#"^galculator$"#
match app-id=r#"^blueman-manager$"#
match app-id=r#"^org\.gnome\.Nautilus$"#
match app-id=r#"^xdg-desktop-portal$"#
open-floating true
}
window-rule {
match app-id=r#"^steam$"# title=r#"^notificationtoasts_\d+_desktop$"#
default-floating-position x=10 y=10 relative-to="bottom-right"
open-focused false
}
window-rule {
match app-id=r#"^org\.wezfurlong\.wezterm$"#
match app-id="Alacritty"
match app-id="zen"
match app-id="com.mitchellh.ghostty"
match app-id="kitty"
draw-border-with-background false
}
window-rule {
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
match app-id="zoom"
open-floating true
}
window-rule {
match app-id="firefox"
default-column-width {}
open-on-workspace "browser"
}
window-rule {
match app-id=r#"org.quickshell$"#
open-floating true
}
window-rule {
match app-id=r#"org.quickshell$"# title="^Settings$"
open-floating false
}
// include optional=true "user-config.kdl"
include "user-config.kdl"
// Include dms files
include "dms/colors.kdl"
include "dms/layout.kdl"
include "dms/alttab.kdl"
include "dms/outputs.kdl"
include "dms/cursor.kdl"
include "dms/binds.kdl"

View file

@ -0,0 +1,10 @@
// ! DO NOT EDIT !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
recent-windows {
highlight {
corner-radius 9
}
}

233
dotfiles/niri/dms/binds.kdl Normal file
View file

@ -0,0 +1,233 @@
binds {
// === System & Overview ===
Mod+Space repeat=false { toggle-overview; }
Mod+Shift+Slash { show-hotkey-overlay; }
// === Application Launchers ===
Mod+Return hotkey-overlay-title="Open Terminal" {
spawn "foot";
}
Mod+B hotkey-overlay-title="Open Browser" {
spawn "nirius" "focus-or-spawn" "-a" "^firefox$" "firefox";
}
Mod+M hotkey-overlay-title="Open Mail" {
spawn "nirius" "focus-or-spawn" "-t" "^neomutt" "foot" "--" "-e" "neomutt";
}
Mod+F hotkey-overlay-title="Open Files" {
spawn "nirius" "focus-or-spawn" "-t" "^vifm" "foot" "--" "-e" "vifm";
}
Mod+Slash hotkey-overlay-title="Application Launcher" {
spawn "dms" "ipc" "call" "spotlight" "toggle";
}
Mod+T hotkey-overlay-title="Task Manager" {
spawn "dms" "ipc" "call" "processlist" "focusOrToggle";
}
Super+X hotkey-overlay-title="Power Menu: Toggle" {
spawn "dms" "ipc" "call" "powermenu" "toggle";
}
Mod+Comma hotkey-overlay-title="Settings" {
spawn "dms" "ipc" "call" "settings" "focusOrToggle";
}
Mod+Y hotkey-overlay-title="Browse Wallpapers" {
spawn "dms" "ipc" "call" "dankdash" "wallpaper";
}
Mod+O hotkey-overlay-title="Show dash overview" {
spawn "dms" "ipc" "call" "dash" "toggle" "";
}
Mod+W hotkey-overlay-title="Show dash weather" {
spawn "dms" "ipc" "call" "dash" "toggle" "weather";
}
Mod+P hotkey-overlay-title="Show dash music" {
spawn "dms" "ipc" "call" "dash" "toggle" "media";
}
Mod+N hotkey-overlay-title="Notification Center" { spawn "dms" "ipc" "call" "notifications" "toggle"; }
// Mod+Shift+N hotkey-overlay-title="Notepad" { spawn "dms" "ipc" "call" "notepad" "toggle"; }
// === Security ===
Mod+Backspace hotkey-overlay-title="Lock Screen" {
spawn "dms" "ipc" "call" "lock" "lock";
}
Mod+Shift+Q {
quit;
}
Ctrl+Alt+Delete hotkey-overlay-title="Task Manager" {
spawn "dms" "ipc" "call" "processlist" "focusOrToggle";
}
// === Audio Controls ===
XF86AudioRaiseVolume allow-when-locked=true {
spawn "dms" "ipc" "call" "audio" "increment" "3";
}
XF86AudioLowerVolume allow-when-locked=true {
spawn "dms" "ipc" "call" "audio" "decrement" "3";
}
XF86AudioMute allow-when-locked=true {
spawn "dms" "ipc" "call" "audio" "mute";
}
XF86AudioMicMute allow-when-locked=true {
spawn "dms" "ipc" "call" "audio" "micmute";
}
XF86AudioPause allow-when-locked=true {
spawn "dms" "ipc" "call" "mpris" "playPause";
}
XF86AudioPlay allow-when-locked=true {
spawn "dms" "ipc" "call" "mpris" "playPause";
}
XF86AudioPrev allow-when-locked=true {
spawn "dms" "ipc" "call" "mpris" "previous";
}
XF86AudioNext allow-when-locked=true {
spawn "dms" "ipc" "call" "mpris" "next";
}
Ctrl+XF86AudioRaiseVolume allow-when-locked=true {
spawn "dms" "ipc" "call" "mpris" "increment" "3";
}
Ctrl+XF86AudioLowerVolume allow-when-locked=true {
spawn "dms" "ipc" "call" "mpris" "decrement" "3";
}
// === Brightness Controls ===
XF86MonBrightnessUp allow-when-locked=true {
spawn "dms" "ipc" "call" "brightness" "increment" "5" "";
}
XF86MonBrightnessDown allow-when-locked=true {
spawn "dms" "ipc" "call" "brightness" "decrement" "5" "";
}
// === Focus Navigation ===
Mod+H { focus-column-left; }
Mod+L { focus-column-right; }
Mod+J { focus-window-or-workspace-down; }
Mod+K { focus-window-or-workspace-up; }
// === Window Movement ===
Mod+Shift+H { move-column-left; }
Mod+Shift+L { move-column-right; }
Mod+Shift+J { move-window-down-or-to-workspace-down; }
Mod+Shift+K { move-window-up-or-to-workspace-up; }
// === Column Navigation ===
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 Navigation ===
Mod+Ctrl+H { focus-monitor-left; }
Mod+Ctrl+J { focus-monitor-down; }
Mod+Ctrl+K { focus-monitor-up; }
Mod+Ctrl+L { focus-monitor-right; }
// === Move to Monitor ===
Mod+Ctrl+Shift+H { move-column-to-monitor-left; }
Mod+Ctrl+Shift+J { move-column-to-monitor-down; }
Mod+Ctrl+Shift+K { move-column-to-monitor-up; }
Mod+Ctrl+Shift+L { move-column-to-monitor-right; }
// === Workspace Navigation ===
Mod+D { focus-workspace-down; }
Mod+U { focus-workspace-up; }
// === Workspace Management ===
Mod+Ctrl+R hotkey-overlay-title="Rename Workspace" {
spawn "dms" "ipc" "call" "workspace-rename" "open";
}
// === Move Workspaces ===
Mod+Shift+D { move-workspace-down; }
Mod+Shift+U { move-workspace-up; }
// === Mouse Wheel Navigation ===
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; }
// === Numbered Workspaces ===
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; }
// === Move to Numbered Workspaces ===
Mod+Shift+1 { move-column-to-workspace 1; }
Mod+Shift+2 { move-column-to-workspace 2; }
Mod+Shift+3 { move-column-to-workspace 3; }
Mod+Shift+4 { move-column-to-workspace 4; }
Mod+Shift+5 { move-column-to-workspace 5; }
Mod+Shift+6 { move-column-to-workspace 6; }
Mod+Shift+7 { move-column-to-workspace 7; }
Mod+Shift+8 { move-column-to-workspace 8; }
Mod+Shift+9 { move-column-to-workspace 9; }
// === Column Management ===
Mod+Shift+BracketLeft { consume-or-expel-window-left; }
Mod+Shift+BracketRight { consume-or-expel-window-right; }
Mod+Shift+Period { expel-window-from-column; }
// === Window Management ===
Mod+Q repeat=false { close-window; }
Mod+Shift+G { toggle-window-floating; }
Mod+G { switch-focus-between-floating-and-tiling; }
Mod+Shift+T { toggle-column-tabbed-display; }
Mod+Shift+W hotkey-overlay-title="Create window rule" { spawn "dms" "ipc" "call" "window-rules" "toggle"; }
// === Sizing & Layout ===
Mod+R { switch-preset-column-width; }
Mod+V { switch-preset-window-height; }
Mod+Shift+V { reset-window-height; }
Mod+Shift+R { expand-column-to-available-width; }
Mod+C { center-column; }
Mod+Ctrl+C { center-visible-columns; }
Mod+Z { maximize-column; }
Mod+Shift+Z { maximize-window-to-edges; }
Mod+Escape { fullscreen-window; }
// === Manual Sizing ===
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%"; }
// === Screenshots ===
XF86Launch1 { screenshot; }
Ctrl+XF86Launch1 { screenshot-screen; }
Mod+XF86Launch1 { screenshot-window; }
Print { screenshot; }
Ctrl+Print { screenshot-screen; }
Mod+Print { screenshot-window; }
// === System Controls ===
Mod+Ctrl+P { power-off-monitors; }
}

View file

@ -0,0 +1,39 @@
// ! Auto-generated file. Do not edit directly.
// Remove `include "dms/colors.kdl"` from your config to override.
layout {
background-color "transparent"
focus-ring {
active-color "#b9cac5"
inactive-color "#8c9290"
urgent-color "#ffb4ab"
}
border {
active-color "#b9cac5"
inactive-color "#8c9290"
urgent-color "#ffb4ab"
}
shadow {
color "#00000070"
}
tab-indicator {
active-color "#b9cac5"
inactive-color "#8c9290"
urgent-color "#ffb4ab"
}
insert-hint {
color "#b9cac580"
}
}
recent-windows {
highlight {
active-color "#11201d"
urgent-color "#ffb4ab"
}
}

View file

@ -0,0 +1,11 @@
// ! DO NOT EDIT !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
cursor {
xcursor-theme "phinger-cursors-dark"
xcursor-size 24
hide-when-typing
hide-after-inactive-ms 5000
}

View file

@ -0,0 +1,22 @@
// ! DO NOT EDIT !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
layout {
gaps 15
border {
width 2
}
focus-ring {
width 2
}
}
window-rule {
geometry-corner-radius 9
clip-to-geometry true
tiled-state true
draw-border-with-background false
}

View file

@ -0,0 +1,20 @@
// Auto-generated by DMS - do not edit manually
output "DP-3" {
mode "3840x2160@59.997"
scale 1.75
position x=0 y=0
}
output "DP-1" {
mode "3840x2160@59.997"
scale 1.75
position x=0 y=0
}
output "eDP-1" {
mode "1920x1200@60.026"
scale 1.25
position x=2194 y=274
}

View file

View file

@ -0,0 +1,9 @@
// ! DO NOT EDIT !
// ! AUTO-GENERATED BY DMS !
// ! CHANGES WILL BE OVERWRITTEN !
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
layer-rule {
match namespace="dms:blurwallpaper"
place-within-backdrop true
}