The real Moon, in its real place in your sky, recomputed every frame.

./ritzpah install lunation omarchy theme set lunation
hyprland.lua computes the Moon's altitude, azimuth, phase, distance and libration at every Hyprland config load and writes sky.frag from sky.frag.in. The shader carries the sky forward from `time` on the GPU, so nothing runs on a timer. Observer position comes from tzdata via /etc/localtime, overridable in ~/.config/omarchy/lunation.conf. Ephemeris is a truncation of Meeus 47, checked against his worked example 47.a.
Every ink slot measured against #05070e, worst
first. A slot marked exempt sits below the floor deliberately and says
why on hover.
All 5 of them, drawn by
tools/make-backgrounds-lunation. Re-run it and
you get a different set in the same palette, because the recipe is what ships.
