 
An event-driven service with an interactive TUI that automatically manages Hyprland monitor configurations based on connected displays, power and lid state.
- Event-driven architecture responding to monitor, power and lid state changes in real-time
- Interactive TUI for visual monitor configuration and profile management
- Profile-based configuration with different settings for different monitor setups
- Template support for dynamic configuration generation
- Hot reloading automatically detects and applies configuration changes without restart (optional)
- Power state awareness built-in AC/battery detection for laptop users (optional)
- Lid state awareness built-in lid state detection for laptop users (optional)
- Desktop notifications for configuration changes (optional)
# Binary release (recommended)
export DESTDIR="$HOME/.local/bin"  # optional, defaults to ~/.local/bin/
curl -o- https://raw.githubusercontent.com/fiffeek/hyprdynamicmonitors/refs/heads/main/scripts/install.sh | bash
# AUR (Arch Linux)
$aurHelper -S hyprdynamicmonitors-bin
# Nix, for flakes/modules see: https://hyprdynamicmonitors.filipmikina.com/docs/advanced/systemd#nix
nix run github:fiffeek/hyprdynamicmonitorsSee the Installation Guide for more options.
The easiest way to get started is using the TUI:
# Launch the interactive TUI
hyprdynamicmonitors tui
# Configure your monitors visually
# Press 'Tab' to switch to Profile view
# Press 'n' to create a new profileThen add to your ~/.config/hypr/hyprland.conf:
# Source the generated monitor configuration
source = ~/.config/hypr/monitors.conf
# Run the daemon for automatic profile switching
exec-once = hyprdynamicmonitors run
For detailed setup instructions, see the Quick Start Guide.
Caution
For production environments prefer running with systemd (guide).
Full documentation is available at fiffeek.github.io/hyprdynamicmonitors
Key topics:
| Topic | Description | 
|---|---|
| Quick Start | Get up and running quickly | 
| TUI Guide | Interactive monitor configuration | 
| Configuration | Profiles, monitors, and power management | 
| Templates | Dynamic configuration generation | 
| Running with systemd | Production deployment | 
| CLI Commands | Command reference | 
| FAQ | Common questions | 
See the examples/ directory for complete configuration examples:
| Example | Description | 
|---|---|
| Basic Setup | Simple laptop configuration | 
| Full Configuration | All available options | 
| Power States | AC/battery-aware profiles | 
| Lid States | Laptop lid detection | 
| Template Variables | Dynamic templates | 
| Disable Monitors | Managing unexpected displays | 
- Hyprland with IPC support
- UPower (required, unless --disable-power-eventsis passed, for power state monitoring)
- D-Bus access (required if power events, lid state or notifications are enabled)
Similar tools worth checking out:
- kanshi - Generic Wayland output management
- shikane - Another Wayland output manager
- nwg-displays - GUI-based display configuration tool
- hyprmon - TUI-based display configuration tool
HyprDynamicMonitors is Hyprland-specific but offers deeper integration, an interactive TUI, template system, and power state awareness. See Introduction for a detailed comparison.
If you find HyprDynamicMonitors useful and want to support its development, consider buying me a coffee on Ko-fi. Your support helps keep the project maintained and enables new features. Thank you!
See LICENSE file.


