Optionally before editing configuration files backup your previous configuration located in:
pikman install noctalia
Open ~/.config/niriconfig.kdl.
Remove or comment out (//) the Otter-shell items
spawn-at-startup "otter-wallpaper"
spawn-at-startup "otter-osd"
spawn-at-startup "otter-notifications"
spawn-at-startup "otter-polkit"
spawn-at-startup "otter-idle"
spawn-at-startup "otter-theme-gen"
spawn-at-startup "otter-weather" "--watch" "900" "--write-cache"
spawn-at-startup "otter-search"
spawn-at-startup "otter-clip" "daemon"
spawn-at-startup "otter-bar"
Add the following line
spawn-at-startup "noctalia"
// the following otter-shell keybinds
Super+Alt+L { spawn "otter-lock"; }
Mod+O { toggle-overview; }
Remove or comment out the old keybind
Mod+D { spawn "otter-launcher"; }
Add and adjust the new keybind:
Mod+D { spawn-sh "noctalia msg panel-toggle launcher"; }
You can add and adjust these to your liking
Mod+S { spawn-sh "noctalia msg panel-toggle control-center"; }
Mod+Comma { spawn-sh "noctalia msg settings-toggle"; }
Niri also has a build in window switcher, you can choose which one you prefer.
Alt+Tab { spawn-sh "noctalia msg window-switcher"; }
Replace
XF86AudioRaiseVolume allow-when-locked=true repeat=true { spawn "otter-osd" "volume-up" "5"; }
XF86AudioLowerVolume allow-when-locked=true repeat=true { spawn "otter-osd" "volume-down" "5"; }
XF86AudioMute allow-when-locked=true { spawn "otter-osd" "volume-mute-toggle"; }
With
XF86AudioRaiseVolume { spawn-sh "noctalia msg volume-up"; }
XF86AudioLowerVolume { spawn-sh "noctalia msg volume-down"; }
XF86AudioMute { spawn-sh "noctalia msg volume-mute"; }
Replace
XF86MonBrightnessUp allow-when-locked=true repeat=true { spawn "otter-osd" "brightness-up" "5"; }
XF86MonBrightnessDown allow-when-locked=true repeat=true { spawn "otter-osd" "brightness-down" "5"; }
With
XF86MonBrightnessUp { spawn-sh "noctalia msg brightness-up"; }
XF86MonBrightnessDown { spawn-sh "noctalia msg brightness-down"; }
To ensure the wallpaper layer renders correctly, adjust the layer-rule from match namespace="^otter-wallpaper$" to:
layer-rule {
match namespace="^noctalia-backdrop"
place-within-backdrop true
}
Check out the official Noctalia V5 Wiki for additional background and overview configuration options.
https://docs.noctalia.dev/noctalia/compositor-settings/niri/
Put this all the way at the bottom of your config.kdl, it allows notification actions and window activation from Noctalia.
debug {
honor-xdg-activation-with-invalid-serial
}
Restart your session to see the changes.