1 unstable release
Uses new Rust 2024
| 0.1.0 | Apr 13, 2026 |
|---|
#1084 in Command line utilities
120KB
3K
SLoC
nighterrors
Ultra-light Rust Wayland blue-light filter daemon for Hyprland, Niri, and wlroots compositors.
nighterrors runs as a small foreground daemon or a user systemd service and exposes a minimal CLI for runtime color temperature and gamma control.
Features
- Small single-binary daemon and control client
- Backend auto-selection with Hyprland CTM support preferred over wlroots gamma control
- Runtime commands for
set,get,toggle,reset,outputs,exclude,status, andstop - Optional user
systemdservice management vianighterrors service ... - TTY-aware output with
--raw,--pretty, and automatic mode selection - Output exclude/include controls by output name
- Minimal dependency footprint with no async runtime or CLI framework
Requirements
- Linux
- Wayland
- A compositor exposing either
hyprland-ctm-control-v1orwlr-gamma-control-unstable-v1
Install
After publishing:
cargo install nighterrors
From a checkout:
cargo build --release
./target/release/nighterrors run
Arch packaging sources for nighterrors-git and nighterrors-bin live under
packaging/aur/.
Quick Start
Build from a checkout:
cargo build --release
Start the daemon in the foreground:
./target/release/nighterrors run -t 5500 -g 95 -i off
Control it from another terminal:
./target/release/nighterrors status
./target/release/nighterrors set temp +200
./target/release/nighterrors toggle
./target/release/nighterrors outputs list
Install it as a user service:
./target/release/nighterrors service install --temp 5500 --gamma 95
./target/release/nighterrors service status
Notes
nighterrorscurrently supports Linux only.- If no supported Wayland protocol is exposed, startup fails with a backend-specific error.
- Default socket path:
${XDG_RUNTIME_DIR:-/run/user/<uid>}/nighterrors/${WAYLAND_DISPLAY:-wayland-0}.sock
Help
nighterrors --help
nighterrors help run
nighterrors help toggle
nighterrors help service
Dependencies
~3.5–8MB
~169K SLoC