All checks were successful
Update PKGBUILD version / update-pkgver (push) Successful in 4s
Waybar's include directive cannot merge arrays, making per-machine module customization impossible without duplicating the entire config. moonarch-waybar merges an optional ~/.config/waybar/userconfig with the system config, supporting prepend/append on module arrays and object merge for module definitions. Generates user style.css with @import of system styles on first run. System waybar config converted from JSONC to valid JSON for jq compatibility. Niri startup and hotkey updated to use the wrapper.
2.6 KiB
2.6 KiB
Moonarch
Reproduzierbares Arch-Linux-Setup basierend auf archinstall + Post-Install-Automatisierung.
Projektstruktur
config/— archinstall-Konfiguration (inkl. custom-commands die das Repo nach /opt/moonarch klonen, root-owned)scripts/— Post-Install- und Helper-Scriptspackages/— Paketlisten (offiziell + AUR), getrennt gepflegtdefaults/— XDG-Configs, Shell-Config, Helper-Binaries, systemd Services, udev-Regeln, greetd/moongreet-Config, Wallpaper
Battery Conservation Mode
Laptops mit charge_control_end_threshold-Support (ThinkPad, Framework, etc.) erhalten einen Waybar-Toggle:
- Klick auf das Battery-Modul schaltet zwischen 80% und 100% Ladegrenze um
- Bei aktiver Conservation erscheint ein ♥-Icon neben der Battery-Anzeige
- Zustand wird in
/var/lib/moonarch/batsaver-thresholdpersistiert und beim Boot via systemd-Service wiederhergestellt - udev-Regel gibt Gruppe
wheelSchreibzugriff auf den Threshold (kein sudo nötig) - Auf Desktops ohne Battery-Support versteckt sich das Feature komplett
Nightlight (Blaufilter)
Waybar-Toggle für wlsunset (Wayland-nativer Blaufilter):
wlsunsetstartet per Niri-Autostart mit fester Nacht-Temperatur (5000K)- Klick auf das Nightlight-Modul in
group/brightnesstoggled wlsunset an/aus (kill/restart) - Aktiver Zustand zeigt in Catppuccin Yellow, inaktiv in Standard-Textfarbe
- Signal SIGRTMIN+11 für sofortiges Waybar-Refresh
- Scripts:
moonarch-nightlight(Toggle),moonarch-waybar-nightlight(Status-JSON)
Waybar Config Merger (moonarch-waybar)
Waybar wird über moonarch-waybar gestartet (nicht direkt). Der Wrapper merged eine optionale User-Config (~/.config/waybar/userconfig) mit der System-Config (/etc/xdg/waybar/config):
prepend/append-Keys in der userconfig erweiternmodules-left/modules-center/modules-rightArrays- Alle anderen Top-Level-Keys werden als Modul-Definitionen per Object-Merge eingefügt
- Merge wird nur bei Änderungen ausgeführt (Timestamp-Vergleich)
- Bei Fehler:
notify-send+logger, Waybar startet mit System-Config - Generiert
~/.config/waybar/style.cssmit@importder System-Styles falls nicht vorhanden - Benötigt
jq(in PKGBUILD als Dependency) - System-Config muss valides JSON sein (kein JSONC)
Konventionen
- Paketlisten sind einfache Textdateien, ein Paket pro Zeile, Kommentare mit
# - Shell-Scripts müssen POSIX-kompatibel oder explizit bash/zsh sein
- Alle Pfade im archinstall-Config relativ zum Installationsziel
Ich bin Apollo
Benannt nach dem Programm, das Menschen zum Mond gebracht hat — passend für ein Projekt namens Moonarch.