UnixNotis is a Wayland-first notification system with a D-Bus daemon, a control-center panel, toast popups, shareable presets, and installer-managed startup.
Documentation lives in the GitHub Wiki (see the Wiki tab on the repository).
Clone the wiki locally if needed:
git clone https://github.com/locainin/UnixNotis.wiki.gitSee the wiki for more details.
- Freedesktop.org notification daemon with history, rules, sound, and DND.
- Persistent DND state across daemon restarts.
- Control-center panel with widgets, notification list, and media controls.
- Toast popup UI with configurable timeouts and styling.
- D-Bus inhibit API for programmatic popup suppression.
- MPRIS media integration with playback controls.
- Hot-reloaded config and CSS for fast iteration.
- CLI control via
noticenterctl. - Installer-managed startup through
systemd --user,dinit --user, user runit, or user s6-rc. - Preset export/import tooling for sharing config, theme, scripts, and assets.
- Wayland session.
- GTK4 + gtk4-layer-shell (pkg-config:
gtk4-layer-shell-0). - D-Bus session bus.
- A supported user service manager for installer-managed startup.
- Default:
systemd --user. - Alternatives:
dinit --user, user runit, or user s6-rc.
- Default:
- Rust toolchain for source builds.
curlfor the installer's best-effort update check.
Download the current release tarball from GitHub Releases, extract it, then run:
./unixnotis-installerRelease archives include the installer and the bundled runtime binaries, so they do not require a Rust toolchain on the target system.
Source checkouts can still run the installer directly:
git clone https://github.com/locainin/UnixNotis
cd UnixNotis
cargo run --release -p unixnotis-installerNon-systemd setups can choose a backend explicitly:
cargo run --release -p unixnotis-installer -- --service-manager dinit
cargo run --release -p unixnotis-installer -- --service-manager runit
cargo run --release -p unixnotis-installer -- --service-manager s6The installer builds the release binaries, installs them under $HOME/.local/bin, writes the
default config/theme files, syncs the live Wayland session environment, and enables the selected
user service.
When launched from a downloaded release, the installer verifies the bundled binaries and then copies
them into $HOME/.local/bin instead of building from source. The TUI shows the installed version and
reports when a newer GitHub release is available.
Maintainers can build a local release archive manually:
scripts/package-release.sh v1.1.1cargo test --workspace
cargo clippy --all-targets --all-features -- -D warnings -W clippy::pedantic -W clippy::nursery -W clippy::restrictionWant to help improve UnixNotis?
Please View Our CONTRIBUTING.md For Contribution Guidelines and Expectations.
MIT. See LICENSE.

