510d45a9b14179ca9e4b76a15cd23c9c44a871ec
Update PKGBUILD version / update-pkgver (push) Successful in 4s
- Test AccountsService-icon symlink rejection (users.rs) - Tests for wallpaper symlink/extension/size rejection (config.rs) - Fix stale 'bundled package wallpaper' fallback docs (README, example config) — bundled tier removed 2026-03-28, actual chain is two-tier
Moonset
Wayland Session Power Menu for the Moonarch ecosystem.
A fullscreen overlay triggered by keybind with 5 actions: Lock · Logout · Hibernate · Reboot · Shutdown
Features
- Rust + gtk4-rs + gtk4-layer-shell (OVERLAY layer — above Waybar)
- Catppuccin Mocha theme
- Multi-monitor support (wallpaper on secondary monitors)
- Inline confirmation for destructive actions
- Escape or background click to dismiss
- DE/EN localization
- Configurable wallpaper (TOML)
Requirements
- A Wayland compositor with
wlr-layer-shell(Moonarch targets Niri) - A systemd-logind session for the default logout (
loginctl terminate-session); other setups can override vialogout_command - Runtime:
gtk4,gtk4-layer-shell - Build:
cargo,git
Installation
cargo build --release
install -Dm755 target/release/moonset /usr/bin/moonset
Or via PKGBUILD:
cd pkg && makepkg -si
Usage
# Launch directly
moonset
# Via Niri keybind (in ~/.config/niri/config.kdl)
# binds {
# Mod+Escape { spawn "moonset"; }
# }
Configuration
Config file: ~/.config/moonset/moonset.toml or /etc/moonset/moonset.toml
# Path to background image (optional)
background_path = "/usr/share/moonarch/wallpaper.jpg"
# Logout command override (optional)
# Default: loginctl terminate-session $XDG_SESSION_ID
logout_command = "niri msg action quit"
Wallpaper fallback: config → /usr/share/moonarch/wallpaper.jpg → CSS background (no image)
Development
# Tests
cargo test
# Release build
cargo build --release
Part of the Moonarch ecosystem
- moonarch — Reproducible Arch Linux setup
- moongreet — greetd greeter for Wayland
- moonlock — Wayland lockscreen
- moonset — Session power menu
License
MIT
Languages
Rust
95.4%
CSS
3.3%
Shell
1.3%