Problem
Omarchy ships hyprsunset for the manual nightlight toggle (SUPER+CTRL+N, omarchy toggle nightlight), but the automatic time-based behaviour hyprsunset supports natively is opt-in only through manual config editing.
Today, turning the screen warm at sundown and back to identity in the morning requires the user to:
- Add
exec-once = uwsm-app -- hyprsunset to ~/.config/hypr/autostart.lua (or .conf pre-migration)
- Append a second
profile { time = ...; temperature = ... } block to ~/.config/hypr/hyprsunset.conf
The current default config/hypr/hyprsunset.conf documents this in comments (added in #2446 and #3082), but there's no one-step or interactive way to enable, change, or disable it. Discoverability is poor and the schedule resets on a refresh.
Proposed UX
A managed, opt-in schedule with persistent settings:
- Off by default (no behaviour change for users who don't opt in)
- A single discoverable entry under Trigger → Toggle that opens a UI showing current status, intensity (K), start time, and end time
- The UI lets the user enable/disable the schedule and change each value
- Settings persist across reboots/refreshes and survive
omarchy refresh hyprsunset cleanly (managed state stored outside the config file)
Problem
Omarchy ships hyprsunset for the manual nightlight toggle (
SUPER+CTRL+N,omarchy toggle nightlight), but the automatic time-based behaviour hyprsunset supports natively is opt-in only through manual config editing.Today, turning the screen warm at sundown and back to identity in the morning requires the user to:
exec-once = uwsm-app -- hyprsunsetto~/.config/hypr/autostart.lua(or.confpre-migration)profile { time = ...; temperature = ... }block to~/.config/hypr/hyprsunset.confThe current default
config/hypr/hyprsunset.confdocuments this in comments (added in #2446 and #3082), but there's no one-step or interactive way to enable, change, or disable it. Discoverability is poor and the schedule resets on a refresh.Proposed UX
A managed, opt-in schedule with persistent settings:
omarchy refresh hyprsunsetcleanly (managed state stored outside the config file)