Shift the color temperature of all screens to a warmer tone to reduce blue light.
Good to know
Works only on compositors with hyprland-ctm-control-v1, in practice Hyprland 0.45.0 or newer.
A blue-light filter and night light for Hyprland
Built by @hyprwm on GitHub. This page was written by @iluxav from public sources, last updated for v0.4.0 (2026-07-13), and may lag behind new releases.
Maintain hyprsunset? Claim itWarm your screen's color temperature and adjust gamma on Hyprland, by hand, from scripts, or on a daily schedule.
Works only on compositors with hyprland-ctm-control-v1, in practice Hyprland 0.45.0 or newer.
Gamma above 100% needs --gamma_max raised; the maximum is 200%.
Times are fixed clock times; nothing in the code follows sunrise or sunset.
New IPC commands: reset (whole profile) or reset temperature|gamma|identity, profile (prints time, temperature, gamma and identity of the current profile) and identity get.
Also: Fixes high CPU use from a busy loop in the event loop; max-gamma now applies without profiles.
v0.4.0.
Seeded by @iluxav with Claude Code (canido)
Scheduling is recalculated after suspend, and the systemd user unit installs to the right directory.
v0.3.3.
Seeded by @iluxav with Claude Code (canido)
Fixes how the next profile switch is scheduled.
v0.3.2.
Seeded by @iluxav with Claude Code (canido)
New hyprsunset.conf in the hypr config directory with max-gamma and profile blocks, each with time (HH:MM), temperature, gamma and identity; hyprsunset applies the profile for the current time and switches at the next one. Adds --verbose and -v/--version. Groups v0.3.0 and v0.3.1.
Also: hyprsunset now exits on SIGINT and SIGTERM; bad IPC input no longer crashes it.
v0.3.1. Documentation moved to the Hyprland wiki.
Seeded by @iluxav with Claude Code (canido)
New -g/--gamma (default 100%) and --gamma_max (up to 200%). An IPC socket in the Hyprland runtime directory accepts temperature, gamma and identity commands, with +N or -N for relative steps. Only one instance can run at a time, and a systemd user service ships with it.
v0.2.0; needs Hyprland 0.48.0 or newer.
Seeded by @iluxav with Claude Code (canido)
First release. hyprsunset -t <kelvin> sets the temperature (default 6000K); -i applies the identity matrix, leaving colors unchanged.
Build from source; needs Hyprland 0.45.0 or newer for hyprland-ctm-control-v1.
Seeded by @iluxav with Claude Code (canido)