Files
nixos-dots/niri/config.kdl

438 lines
8.6 KiB
Plaintext

layout {
gaps 5
background-color "transparent"
always-center-single-column
center-focused-column "never"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width {
proportion 0.5
}
focus-ring {
off
}
border {
off
}
shadow {
off
}
tab-indicator {
width 2
gap -5
gaps-between-tabs 5
corner-radius 10
active-color "#fff"
inactive-color "#ffffff55"
}
insert-hint {
color "#ffffff22"
}
}
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
// Sticky, non-moving wallpaper
layer-rule {
match namespace="^swww-daemon$"
place-within-backdrop true
}
overview {
workspace-shadow {
off
}
}
animations {
window-open {
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
}
window-close {
spring damping-ratio=1.0 stiffness=700 epsilon=0.1
}
window-resize {
spring damping-ratio=1.0 stiffness=800 epsilon=0.001
}
window-movement {
spring damping-ratio=1.0 stiffness=600 epsilon=0.0001
}
workspace-switch {
spring damping-ratio=1.0 stiffness=800 epsilon=1e-5
}
horizontal-view-movement {
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
}
}
// Open the Firefox picture-in-picture player as floating by default
window-rule {
match app-id="firefox$" title="^Picture-in-Picture$"
open-floating true
}
window-rule {
match app-id="^VirtualBox Machine$"
open-maximized true
open-maximized-to-edges true
}
window-rule {
geometry-corner-radius 20
clip-to-geometry true
}
window-rule {
match app-id="kitty"
background-effect {
blur true
noise 0.1
xray true
}
}
window-rule {
match app-id="kitty" is-floating=true
background-effect {
blur true
noise 0.1
xray false
}
}
window-rule {
match app-id="code"
opacity 0.85
background-effect {
blur true
noise 0.1
xray true
}
}
window-rule {
match app-id="code" is-floating=true
background-effect {
blur true
noise 0.1
xray false
}
}
window-rule {
match app-id="org.gnome.Nautilus"
opacity 0.85
background-effect {
blur true
noise 0.1
xray true
}
}
window-rule {
match app-id="org.gnome.Nautilus" is-floating=true
background-effect {
blur true
noise 0.1
xray false
}
}
layer-rule {
match namespace="^quickshell-overview$"
}
binds {
// Core Noctalia binds
Mod+Space {
spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"
}
Mod+Comma {
spawn "noctalia-shell" "ipc" "call" "settings" "toggle"
}
// Audio controls
XF86AudioRaiseVolume {
spawn "noctalia-shell" "ipc" "call" "volume" "increase"
}
XF86AudioLowerVolume {
spawn "noctalia-shell" "ipc" "call" "volume" "decrease"
}
XF86AudioMute {
spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"
}
// Brightness controls
XF86MonBrightnessUp {
spawn "noctalia-shell" "ipc" "call" "brightness" "increase"
}
XF86MonBrightnessDown {
spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"
}
// Utility shortcuts
Mod+L {
spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"
}
// Mod-Shift-/, which is usually the same as Mod-?,
// shows a list of important hotkeys.
Mod+Shift+Slash {
show-hotkey-overlay
}
Mod+T {
spawn "kitty"
}
Mod+E {
spawn "nautilus"
}
XF86AudioMicMute allow-when-locked=true {
spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"
}
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+Ctrl+Left {
move-column-left
}
Mod+Ctrl+Down {
move-window-down
}
Mod+Ctrl+Up {
move-window-up
}
Mod+Ctrl+Right {
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
}
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+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+Page_Down {
focus-workspace-down
}
Mod+Page_Up {
focus-workspace-up
}
Mod+Ctrl+Page_Down {
move-column-to-workspace-down
}
Mod+Ctrl+Page_Up {
move-column-to-workspace-up
}
Mod+Shift+Page_Down {
move-workspace-down
}
Mod+Shift+Page_Up {
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
}
// Usually scrolling up and down with Shift in applications results in
// horizontal scrolling; these binds replicate that.
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+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+BracketLeft {
consume-or-expel-window-left
}
Mod+BracketRight {
consume-or-expel-window-right
}
// Expel the bottom window from the focused column to the right.
Mod+Period {
expel-window-from-column
}
Mod+R {
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+C {
center-column
}
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 "-10%"
}
Mod+Shift+Equal {
set-window-height "+10%"
}
// 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
}
Mod+Shift+S {
screenshot
}
Ctrl+Print {
screenshot-screen
}
Alt+Print {
screenshot-window
}
Ctrl+Shift+Escape {
spawn "missioncenter"
}
}
hotkey-overlay {
skip-at-startup
}
input {
touchpad {
tap
natural-scroll
}
keyboard {
xkb {
layout "pl"
}
}
}
output "eDP-1" {
mode "2880x1800@120.000"
scale 2.0
}
spawn-at-startup "swww-daemon"
spawn-at-startup "kanshi"
spawn-at-startup "noctalia-shell"