Here is my desktop configuration for the Niri wayland compositor. # Notes - Everything under [.config/noctalia](home/aiden/.config/noctalia) and most of what's under [.config/nvim](home/aiden/.config/nvim) was generated by Noctalia and Lazyvim respectively. - Everything else I've created or edited extensively myself. - [niri/outputs.kdl](home/aiden/.config/niri/outputs.kdl) will always need to be edited to your monitor configuration # Dependencies ## Required - Niri - Version 25.11 or higher (config is split into multiple files) - [Noctalia's Dependencies](https://docs.noctalia.dev/getting-started/installation/#dependencies-explained) Including Optional (except matugen) - Noctalia itself is included in these files - polkit-kde-agent - gnome-keyring - pipewire - wireplumber - pipwire-pulse - swayidle - to trigger sleep/lock after inactivity - power-profiles-daemon ## Choice (will require editing configs to change) - Void Linux - The only void-specific config I'm aware of is the Update Count plugin for Noctalia - On systemd systems you may want to change some spawn-at-startup items to be systemd services - Alacritty - Terminal Emulator of choice - [niri/binds.kdl](home/aiden/.config/niri/binds.kdl) - Noctalia Settings - Launcher -> Terminal Command - Plugins -> Update Count Settings -> Terminal Emulatorpolkit-kde-agent - SDDM - [cron.hourly/sddm-background.sh](etc/cron.hourly/sddm-background.sh) and [sddm-random-background.sh](home/aiden/sddm-random-background.sh) won't work without SDDM but otherwise feel free to use any (or no) login manager - zfs-auto-snaphot - the zfs-auto-snaphot is setup to use zrep following [this guide](https://www.reddit.com/r/voidlinux/comments/hu1ron/simple_backup_with_zfsautosnapshot/) - Either set it up if you're using zfs or remove the cron files under [/etc](etc) - requires cron (see below) - Nemo - File Manager of choice - [niri/binds.kdl](home/aiden/.config/niri/binds.kdl) - [xdg-desktop-portal](usr/share/xdg-desktop-portal/niri-portals.conf) (FileChooser) - Firefox - Browser of choice - [niri/binds.kdl](home/aiden/.config/niri/binds.kdl) - Element - Matrix client - [niri/startup.kdl](home/aiden/.config/niri/startup.kdl) - Discord (flatpak) - [niri/startup.kdl](home/aiden/.config/niri/startup.kdl) - [discord-delay.sh](usr/local/bin/discord-delay.sh) - Audio seems to not work for discord if it's started too soon ## Optional - Neovim - [.config/nvim](home/aiden/.config/nvim) will do nothing if nvim is not installed - Seahorse - GUI to Manage gnome-keyring - Evolution - Needed to add calendars to evolution-data-server, which Noctalia uses to show calendar events - GNOME Calendar - GUI to view calendar, but is solely a calendar unlike Evolution - A cron implementation - I use snooze on void, you may want to convert the cron files to systemd timers if that is an option for you.