create shared niri config, refactor generic feature modules

This commit is contained in:
greyweather committed 2026-09-06 01:59:38 +01:00
1 parent 257654332d
commit e1a08112a7
23 files changed
+353 -410

No files matched your search

+1 -109
View File
@@ -1,16 +1,7 @@
include "./noctalia.kdl"
input {
keyboard {
xkb {
layout "gb"
model ""
rules ""
variant ""
}
repeat-delay 600
repeat-rate 25
track-layout "global"
}
touchpad {
tap
@@ -25,8 +16,6 @@ input {
accel-profile "flat"
}
}
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
prefer-no-csd
overview { zoom 0.5; }
layout {
gaps 12
@@ -39,49 +28,13 @@ layout {
focus-ring {
width 1.25
}
border { off; }
shadow {
on
offset x=0 y=5
softness 15
spread 2
draw-behind-window false
color "#00000070"
}
center-focused-column "never"
}
cursor {
xcursor-theme "Bibata-Modern-Ice"
xcursor-size 22
}
hotkey-overlay { skip-at-startup; }
binds {
Mod+B hotkey-overlay-title="Open web browser (Floorp)" { spawn "floorp"; }
Mod+C hotkey-overlay-title="Open calculator (Qalculate)" { spawn "qalculate-qt"; }
Mod+D hotkey-overlay-title="Application launcher" { spawn "noctalia" "msg" "panel-toggle" "launcher"; }
Mod+E hotkey-overlay-title="Open file manager (Nautilus)" { spawn "nautilus" "-w"; }
Mod+Return hotkey-overlay-title="Open terminal (Kitty)" { spawn "kitty"; }
Mod+O hotkey-overlay-title="Open Obsidian" { spawn "obsidian"; }
Mod+Z hotkey-overlay-title="Apply NixOS config" { spawn "kitty" "zsh" "-i" "-c" "apply-config"; }
Mod+K { show-hotkey-overlay; }
Mod+Space { toggle-overview; }
Mod+Q { close-window; }
Mod+F { maximize-window-to-edges; }
Mod+Shift+F { fullscreen-window; }
Mod+Shift+E { quit; }
Mod+L hotkey-overlay-title="Lock session" { spawn "noctalia" "msg" "session" "lock"; }
Mod+Shift+D hotkey-overlay-title="Edit desktop widgets" { spawn "noctalia" "msg" "desktop-widgets-edit"; }
Mod+Shift+B hotkey-overlay-title="Open bar settings" { spawn "noctalia" "msg" "settings-open" "bar"; }
Mod+Shift+S hotkey-overlay-title="Open settings" { spawn "noctalia" "msg" "settings-open"; }
Mod+Period hotkey-overlay-title="Open control center" { spawn "noctalia" "msg" "panel-toggle" "control-center"; }
Mod+Shift+P hotkey-overlay-title="Open power menu" { spawn "noctalia" "msg" "panel-toggle" "session"; }
Mod+V hotkey-overlay-title="Show clipboard helper" { spawn "noctalia" "msg" "panel-toggle" "clipboard"; }
Mod+P hotkey-overlay-title="Show power info" { spawn "noctalia" "msg" "panel-toggle" "control-center" "power"; }
Ctrl+Shift+Escape { spawn "noctalia" "msg" "panel-toggle" "control-center" "system"; }
Mod+Comma { spawn "noctalia" "msg" "panel-toggle" "dunarand/bookmarks:panel" "search"; }
Mod+TouchpadScrollUp cooldown-ms=250 { focus-workspace-up; }
@@ -89,45 +42,13 @@ binds {
Mod+TouchpadScrollLeft cooldown-ms=150 { focus-column-left; }
Mod+TouchpadScrollRight cooldown-ms=150 { focus-column-right; }
Mod+Up { focus-workspace-up; }
Mod+Down { focus-workspace-down; }
Mod+Left { focus-column-left; }
Mod+Right { focus-column-right; }
Mod+Shift+Up { move-window-to-workspace-up; }
Mod+Shift+Down { move-window-to-workspace-down; }
Mod+Shift+Left { move-column-left; }
Mod+Shift+Right { move-column-right; }
Mod+equal { set-column-width "+2%"; }
Mod+minus { set-column-width "-2%"; }
XF86AudioLowerVolume { spawn "noctalia" "msg" "volume-down" "5"; }
XF86AudioRaiseVolume { spawn "noctalia" "msg" "volume-up" "5"; }
XF86AudioMute { spawn "noctalia" "msg" "volume-mute"; }
XF86AudioMicMute { spawn "noctalia" "msg" "mic-mute"; }
XF86MonBrightnessDown { spawn "noctalia" "msg" "brightness-down" "5"; }
XF86MonBrightnessUp { spawn "noctalia" "msg" "brightness-up" "5"; }
XF86WLAN { spawn-sh "rfkill toggle 0 || rfkill toggle 1"; }
XF86NotificationCenter { spawn "noctalia" "msg" "panel-toggle" "control-center" "notifications"; }
XF86Display { toggle-overview; }
XF86Favorites { spawn "niri-toggle-dwt"; }
Print { screenshot; }
Shift+Print { screenshot-window; }
Mod+Slash { spawn "niri-scratch-workspace-toggle"; }
Mod+Shift+Slash { move-window-to-workspace "x" focus=false; }
}
workspace "x" {
hidden true
}
spawn-at-startup "noctalia"
spawn-at-startup "niri-listen-for-scratch-workspace-change"
spawn-at-startup "niri-clear-state"
window-rule {
draw-border-with-background false
geometry-corner-radius 2
clip-to-geometry true
}
window-rule {
match app-id="^floorp$"
@@ -140,35 +61,6 @@ window-rule {
match app-id="^kitty$"
default-column-width { proportion 0.58; }
}
gestures { hot-corners { off; }; }
switch-events {
lid-close { spawn "bash" "-c" "noctalia msg session lock && systemctl hibernate"; }
}
animations {
on
slowdown 1.0
workspace-switch {
spring damping-ratio=0.95 stiffness=600 epsilon=0.0001
}
window-open {
duration-ms 125
curve "ease-out-expo"
}
window-close {
duration-ms 125
curve "ease-out-quad"
}
horizontal-view-movement {
spring damping-ratio=0.95 stiffness=600 epsilon=0.0001
}
window-movement {
spring damping-ratio=0.9 stiffness=750 epsilon=0.0001
}
window-resize {
spring damping-ratio=0.8 stiffness=650 epsilon=0.0001
}
}
layer-rule {
match namespace="^noctalia-backdrop"
place-within-backdrop true
lid-close { spawn "systemctl hibernate"; }
}
+147
View File
@@ -0,0 +1,147 @@
include "./noctalia.kdl"
input {
keyboard {
xkb {
layout "gb"
model ""
rules ""
variant ""
}
repeat-delay 600
repeat-rate 25
track-layout "global"
numlock
}
focus-follows-mouse max-scroll-amount="0%"
}
prefer-no-csd
hotkey-overlay { skip-at-startup; }
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
cursor {
xcursor-theme "Bibata-Modern-Ice"
xcursor-size 22
}
layout {
border { off; }
shadow {
on
offset x=10 y=10
softness 25
spread 5
draw-behind-window false
color "#00000060"
}
}
binds {
Mod+D hotkey-overlay-title="Application launcher" { spawn "noctalia" "msg" "panel-toggle" "launcher"; }
Mod+Return hotkey-overlay-title="Open terminal (Kitty)" { spawn "kitty"; }
Mod+O hotkey-overlay-title="Open Obsidian" { spawn "obsidian"; }
Mod+Z hotkey-overlay-title="Apply NixOS / Home Manager config" { spawn "kitty" "zsh" "-i" "-c" "apply-config"; }
Mod+K { show-hotkey-overlay; }
Mod+Space { toggle-overview; }
Mod+Q { close-window; }
Mod+F { maximize-window-to-edges; }
Mod+Shift+F { fullscreen-window; }
Mod+Shift+E { quit; }
Mod+L hotkey-overlay-title="Lock session" { spawn "noctalia" "msg" "session" "lock"; }
Mod+Shift+D hotkey-overlay-title="Edit desktop widgets" { spawn "noctalia" "msg" "desktop-widgets-edit"; }
Mod+Shift+B hotkey-overlay-title="Open bar settings" { spawn "noctalia" "msg" "settings-open" "bar"; }
Mod+Shift+S hotkey-overlay-title="Open settings" { spawn "noctalia" "msg" "settings-open"; }
Mod+Period hotkey-overlay-title="Open control center" { spawn "noctalia" "msg" "panel-toggle" "control-center"; }
Mod+Shift+P hotkey-overlay-title="Open power menu" { spawn "noctalia" "msg" "panel-toggle" "session"; }
Mod+V hotkey-overlay-title="Show clipboard helper" { spawn "noctalia" "msg" "panel-toggle" "clipboard"; }
Mod+P hotkey-overlay-title="Show power info" { spawn "noctalia" "msg" "panel-toggle" "control-center" "power"; }
Ctrl+Shift+Escape { spawn "noctalia" "msg" "panel-toggle" "control-center" "system"; }
Mod+Up { focus-workspace-up; }
Mod+Down { focus-workspace-down; }
Mod+Left { focus-column-left; }
Mod+Right { focus-column-right; }
Mod+X { toggle-window-floating; }
Mod+Shift+Up { move-window-to-workspace-up; }
Mod+Shift+Down { move-window-to-workspace-down; }
Mod+Shift+Left { move-column-left; }
Mod+Shift+Right { move-column-right; }
XF86AudioLowerVolume { spawn "noctalia" "msg" "volume-down" "5"; }
XF86AudioRaiseVolume { spawn "noctalia" "msg" "volume-up" "5"; }
XF86AudioMute { spawn "noctalia" "msg" "volume-mute"; }
XF86AudioMicMute { spawn "noctalia" "msg" "mic-mute"; }
XF86MonBrightnessDown { spawn "noctalia" "msg" "brightness-down" "5"; }
XF86MonBrightnessUp { spawn "noctalia" "msg" "brightness-up" "5"; }
XF86WLAN { spawn-sh "rfkill toggle 0 || rfkill toggle 1"; }
XF86NotificationCenter { spawn "noctalia" "msg" "panel-toggle" "control-center" "notifications"; }
XF86Display { toggle-overview; }
Print { screenshot; }
Shift+Print { screenshot-window; }
Mod+Slash { spawn "niri-scratch-workspace-toggle"; }
Mod+Shift+Slash { move-window-to-workspace "x" focus=false; }
}
workspace "x" {
hidden true
layout {
focus-ring {
width 3
active-color "#a33d3d"
}
}
}
window-rule {
draw-border-with-background false
clip-to-geometry true
}
window-rule { // Steam windows float (excluding main window)
match app-id="^steam$"
exclude title="^Steam$"
exclude title=r#"^notificationtoasts_\d+_desktop$"#
default-window-height { proportion 0.5; }
open-floating true
}
window-rule { // Steam notifications are not focused and appear in bottom-right corner
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
default-floating-position x=10 y=10 relative-to="bottom-right"
open-focused false
}
spawn-at-startup "noctalia"
spawn-at-startup "niri-listen-for-scratch-workspace-change"
spawn-at-startup "niri-clear-state"
gestures { hot-corners { off; }; }
layer-rule {
match namespace="^noctalia-backdrop"
place-within-backdrop true
}
animations {
on
slowdown 1
workspace-switch {
spring damping-ratio=0.9 stiffness=750 epsilon=0.0001
}
window-open {
duration-ms 100
curve "ease-out-expo"
}
window-close {
duration-ms 125
curve "ease-out-quad"
}
horizontal-view-movement {
spring damping-ratio=0.85 stiffness=850 epsilon=0.0001
}
window-movement {
spring damping-ratio=0.9 stiffness=750 epsilon=0.0001
}
window-resize {
spring damping-ratio=0.8 stiffness=650 epsilon=0.0001
}
}
File renamed without changes.
+2 -1
View File
@@ -10,6 +10,7 @@ visiblePlugin=deesser#0
[StreamOutputs]
outputDevice=alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y8PK1YT167E441-00.HiFi__Line__sink
plugins=equalizer#0
visiblePage=pluginsPage
visiblePlugin=equalizer#0
[Style]
@@ -17,7 +18,7 @@ forceBreezeTheme=false
[Window]
autostartOnLogin=true
height=1408
height=1364
showTrayIcon=false
visiblePage=inputPage
width=1912
@@ -4,7 +4,7 @@
"authenticated": false,
"settingsSync": false,
"url": "https://cloud.equicord.org/",
"settingsSyncVersion": 1788360340476
"settingsSyncVersion": 1788650476307
},
"enableOnlineThemes": true,
"enabledThemeLinks": [
+5 -106
View File
@@ -1,22 +1,14 @@
include "./noctalia.kdl"
include "./shared.kdl"
input {
keyboard {
xkb {
layout "gb"
model ""
rules ""
variant ""
}
repeat-delay 600
repeat-rate 25
track-layout "global"
numlock
}
mouse {
accel-speed 0.25
accel-profile "flat"
}
focus-follows-mouse max-scroll-amount="0%"
}
output "DP-2" {
@@ -34,75 +26,33 @@ output "HDMI-A-1" {
transform "270"
position x=-1080 y=-250
}
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
prefer-no-csd
overview { zoom 0.67; }
layout {
gaps 16
struts {
left 24
right 24
top -8
top -12
bottom -4
}
focus-ring {
width 1.5
}
border { off; }
shadow {
on
offset x=0.000000 y=5.000000
softness 30.000000
spread 5.000000
draw-behind-window false
color "#00000070"
}
default-column-width
center-focused-column "never"
always-center-single-column
empty-workspace-above-first
}
cursor {
xcursor-theme "Bibata-Modern-Ice"
xcursor-size 22
}
hotkey-overlay { skip-at-startup; }
binds {
Mod+B { spawn "zen-browser"; }
Mod+C { spawn "kcalc"; }
Mod+D { spawn "noctalia" "msg" "panel-toggle" "launcher"; }
Mod+E { spawn "dolphin"; }
Mod+Return { spawn "kitty"; }
Mod+O { spawn "obsidian"; }
ISO_Level3_Shift+Comma { spawn "equibop" "--toggle-mic"; }
ISO_Level3_Shift+Period { spawn "equibop" "--toggle-deafen"; }
Mod+Space { toggle-overview; }
Mod+Q { close-window; }
Mod+F { maximize-window-to-edges; }
Mod+Shift+F { fullscreen-window; }
Mod+Shift+E { quit; }
Mod+L { spawn "noctalia" "msg" "session" "lock"; }
Mod+Shift+D { spawn "noctalia" "msg" "desktop-widgets-edit"; }
Mod+Shift+B { spawn "noctalia" "msg" "settings-open" "bar"; }
Mod+Shift+S { spawn "noctalia" "msg" "settings-open"; }
Mod+Period { spawn "noctalia" "msg" "panel-toggle" "control-center"; }
Mod+W { spawn "noctalia" "msg" "panel-toggle" "wallpaper"; }
Mod+Shift+P { spawn "noctalia" "msg" "panel-toggle" "session"; }
Mod+V { spawn "noctalia" "msg" "panel-toggle" "clipboard"; }
Mod+P { spawn "noctalia" "msg" "panel-toggle" "control-center" "power"; }
Ctrl+Shift+Escape { spawn "noctalia" "msg" "panel-toggle" "control-center" "system"; }
Mod+A { spawn "toggle-easyeffects"; }
Mod+Up { focus-workspace-up; }
Mod+Down { focus-workspace-down; }
Mod+Left { focus-column-left; }
Mod+Right { focus-column-right; }
Mod+WheelScrollUp { focus-column-left; }
Mod+WheelScrollDown { focus-column-right; }
Mod+Shift+WheelScrollUp { focus-workspace-up; }
@@ -111,11 +61,6 @@ binds {
Mod+equal { set-column-width "+5%"; }
Mod+minus { set-column-width "-5%"; }
Mod+Shift+Up { move-window-to-workspace-up; }
Mod+Shift+Down { move-window-to-workspace-down; }
Mod+Shift+Left { move-column-left; }
Mod+Shift+Right { move-column-right; }
Mod+Control+Left { focus-monitor-left; }
Mod+Control+Right { focus-monitor-right; }
@@ -125,59 +70,23 @@ binds {
Mod+Shift+Control+Left { move-window-to-monitor-left; }
Mod+Shift+Control+Right { move-window-to-monitor-right; }
XF86AudioLowerVolume { spawn "noctalia" "msg" "volume-down" "5"; }
XF86AudioRaiseVolume { spawn "noctalia" "msg" "volume-up" "5"; }
XF86AudioMute { spawn "noctalia" "msg" "volume-mute"; }
Print { screenshot; }
Mod+XF86AudioRaiseVolume cooldown-ms=250 { spawn "increase-brightness" "/dev/i2c-10"; }
Mod+XF86AudioLowerVolume cooldown-ms=250 { spawn "decrease-brightness" "/dev/i2c-10"; }
Mod+Shift+XF86AudioRaiseVolume cooldown-ms=250 { spawn "increase-brightness" "/dev/i2c-6"; }
Mod+Shift+XF86AudioLowerVolume cooldown-ms=250 { spawn "decrease-brightness" "/dev/i2c-6"; }
Mod+Slash { spawn "niri-scratch-workspace-toggle"; }
Mod+Shift+Slash { move-window-to-workspace "x" focus=false; }
Mod+X { toggle-window-floating; }
Mod+Z { spawn "kitty" "zsh" "-i" "-c" "apply-config"; }
}
workspace "x" {
hidden true
layout {
focus-ring {
width 3
active-color "#a33d3d"
}
}
}
spawn-at-startup "noctalia"
spawn-at-startup "niri-listen-for-scratch-workspace-change"
window-rule {
draw-border-with-background false
geometry-corner-radius 4
clip-to-geometry true
}
window-rule { // Maximized on vertical monitor
match at-startup=true app-id="^equibop$"
open-maximized-to-edges true
open-on-output "HDMI-A-1"
}
window-rule { // Steam windows float (excluding main window)
match app-id="^steam$"
exclude title="^Steam$"
exclude title=r#"^notificationtoasts_\d+_desktop$"#
default-window-height { proportion 0.5; }
open-floating true
open-focused true
}
window-rule {
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
default-floating-position x=10 y=10 relative-to="bottom-right"
open-focused false
}
window-rule { // Maximized on main monitor
match at-startup=true app-id="^steam$" title="^Steam$"
open-maximized-to-edges true
open-on-output "HDMI-A-1"
open-on-output "DP-2"
}
window-rule { // Fullscreen on main monitor
match app-id="^steam_app_\\d+$"
@@ -196,14 +105,4 @@ window-rule {
window-rule {
match app-id="^org\\.prismlauncher\\.PrismLauncher$"
default-window-height { fixed 750; }
}
gestures { hot-corners { off; }; }
animations {
on
slowdown 1.25
}
layer-rule {
match namespace="^noctalia-backdrop"
place-within-backdrop true
}
include "noctalia.kdl"
}