hyprshutdown provides graceful shutdown/reboot with animated transitions for Hyprland.

Installation

From AUR:

paru -S hyprshutdown

Build from source (if AUR is outdated):

git clone https://github.com/hyprwm/hyprshutdown
cd hyprshutdown
cmake .
make all
sudo make install

Usage

# Shutdown with animation
hyprshutdown -t "Shutting down..." --post-cmd "shutdown -P 0"
 
# Reboot with animation
hyprshutdown -t "Restarting..." --post-cmd "reboot"
 
# Custom timeout (ms)
hyprshutdown -t "Goodbye!" --timeout 2000 --post-cmd "shutdown -P 0"

Options

OptionDescription
-t, --textMessage to display during animation
--post-cmdCommand to run after animation completes
--timeoutAnimation duration in milliseconds

Integration

Hyprland keybind

bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit

Ashell settings

In ashell config:

[settings]
shutdown_cmd = "hyprshutdown -t 'Shutting down...' --post-cmd 'shutdown -P 0'"
reboot_cmd = "hyprshutdown -t 'Restarting...' --post-cmd 'reboot'"

Fallback

If hyprshutdown isn’t installed, fall back to regular exit:

command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit

Resources