Skip to content

Installation

locainin edited this page Jan 28, 2026 · 3 revisions

Installation

This guide covers installation, trial runs, and manual builds.

Requirements

  • Wayland session.
  • GTK4 + gtk4-layer-shell (pkg-config: gtk4-layer-shell-0).
  • D-Bus session bus.
  • systemd user services (for installer-managed service).
  • Rust toolchain for builds and the installer.

Optional widget backends:

  • wpctl or pactl for volume.
  • nmcli for Wi-Fi toggles.
  • brightnessctl for brightness.
  • bluetoothctl + dbus-monitor for Bluetooth.
  • rfkill + udevadm for airplane mode.
  • hyprsunset, hyprctl, pgrep/pkill for Hyprland night mode.

Installer (recommended)

The installer builds and installs binaries, writes config and theme files, and manages the systemd user service:

cargo run --release -p unixnotis-installer

Installer actions:

  • builds release binaries
  • installs to $HOME/.local/bin
  • writes config and theme files under $XDG_CONFIG_HOME/unixnotis
  • installs and enables the systemd user unit

Reset and restore

The installer’s Reset config option now shows a submenu:

  • Reset to defaults: overwrites config.toml and theme CSS with bundled defaults.
  • Restore backup: replaces current files with a selected backup snapshot.

Backups are created during reset and stored under: $XDG_CONFIG_HOME/unixnotis/Backup-YYYY-MM-DD

Retention is controlled by $XDG_CONFIG_HOME/unixnotis/installer.toml:

[backups]
keep = 3

After a successful install, the UI offers optional build acceleration. It can write a local .cargo/config.toml that uses a wrapper script for sccache and mold when available. This is opt-in, local to the repository, and safe to remove if not desired.

Trial run

Trial mode temporarily replaces the current notification daemon and restores it on exit. Select “Trial run” in the installer UI.

Build from source

cargo build --release

Run the daemon and UIs manually (Wayland session required):

cargo run --release -p unixnotis-daemon
cargo run --release -p unixnotis-center
cargo run --release -p unixnotis-popups

Open or close the panel:

cargo run --release -p noticenterctl -- open-panel
cargo run --release -p noticenterctl -- close-panel

Systemd user service

The installer manages the user unit. The unit runs the daemon from $HOME/.local/bin. Use systemctl --user status unixnotis-daemon to validate service state.

Uninstall

Run the installer and select uninstall to remove binaries, service files, and persisted state.

First-run checklist

  • Confirm the session type is Wayland (XDG_SESSION_TYPE=wayland).
  • Confirm GTK4 + gtk4-layer-shell are installed.
  • Confirm the compositor allows layer-shell surfaces.
  • Run noticenterctl open-panel to validate panel control.

Clone this wiki locally