Single-script builder (nosignal.sh) that turns a stock Arch Linux ISO into a fully-offline installer for a themed Hyprland + caelestia (Quickshell) desktop: matching SDDM greeter, Btrfs/Limine bootable snapshots, chwd-style GPU detection, and a curated "os updates" layer (keybind cheatsheet, settings panels, system polish, on-box management skill). See README.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.4 KiB
Executable file
2.4 KiB
Executable file
NoSignal — monitor control with hyprmoncfg
Adds hyprmoncfg (AUR hyprmoncfg,
v1.7.0 at time of writing, MIT) — a terminal-first monitor configurator and
auto-switching daemon for Hyprland.
What a user gets
Super+Ctrl+H(Omarchy's "hardware" slot) → spatial layout editor in a floating terminal: drag monitors into place, set mode/scale/VRR/mirror/ transform, presssto save a named profile (desk,tv, …).hyprmoncfg apply <profile>from any terminal.hyprmoncfgd(systemd user service) — applies the right profile automatically on monitor hotplug and laptop lid open/close. Profiles match on monitor make/model/serial, not unstable connector names.- Safe apply: reloads Hyprland, verifies, reverts unless confirmed.
Why it fits NoSignal
hyprmoncfg writes ~/.config/hypr/monitors.conf and refuses to write the
file unless Hyprland actually sources it — and the NoSignal base already
sources exactly that file from hypr-user.conf (it's the same file
nwg-displays wrote). So the include chain is already in place.
hyprmoncfg replaces nwg-displays —
it covers layout and workspace assignment (nwg-displays' two jobs) and adds
profiles + the daemon; a single writer of monitors.conf avoids the two tools
fighting over the file.
Files
| File | Role |
|---|---|
install-monitor-control.sh |
idempotent installer — installs hyprmoncfg (bootstraps yay if needed), verifies the monitors.conf source line, appends the bind, enables hyprmoncfgd |
hyprland-monitor-control.conf |
Super+Ctrl+H bind → appended to hypr-user.conf (reuses the base's TUI.float window rule: floating 1100×700) |
sh ~/Downloads/monitor-control/install-monitor-control.sh
Also wired into nosignal-update as migration 1781233200-monitor-control.sh.
Packaging
- Add
hyprmoncfgto the package list (AUR). - Enable the user service in the skeleton:
systemctl --user enable hyprmoncfgd(or a presets entry). - The bind lands via
hypr-user.conflike the other NoSignal binds. - Remove
nwg-displaysfrom the package list (superseded — see above), but keep the empty pre-createdmonitors.conf/workspaces.confand theirsource =lines. - Note: the daemon scores every profile in
~/.config/hyprmoncfg/profiles/— don't pre-seed junk profiles in the image.