27 Commits

Author SHA1 Message Date
1004a0b986 Fix paru PKGBUILD repo name collision with pacman registry
All checks were successful
Update PKGBUILD version / update-pkgver (push) Successful in 2s
Both the pacman package registry and the paru PKGBUILD repo used
[moonarch] as section name, causing paru to fail resolving PKGBUILD
upgrade targets against the wrong repo. Renamed PKGBUILD repo to
[moonarch-pkgbuilds] and moved config from ~/.config/paru/paru.conf
to system-wide /etc/paru.conf.
2026-04-02 08:52:26 +02:00
7f06c8e501 Add Moonarch package registry setup with signed packages
All checks were successful
Update PKGBUILD version / update-pkgver (push) Successful in 1s
Import Gitea Arch registry key dynamically and configure pacman
with SigLevel = Required DatabaseOptional. Key ID is extracted
from the downloaded key file to avoid hardcoding.
2026-04-01 18:09:10 +02:00
5b37bfe525 Pin linux-zen kernel in archinstall config, add quiet boot param
- Set kernels to linux-zen in user_configuration.json to skip
  interactive kernel selection during install
- Add post-install step to append quiet to non-fallback systemd-boot
  entries for clean boot output
2026-03-31 11:17:36 +02:00
1e19f08776 fix: shell script quoting and argument injection hardening
Audit fixes for command injection risks in helper scripts:
- moonarch-cpugov: eval for quoted COMMANDS expansion (pkexec context)
- moonarch-btnote: while+read with process substitution, quoted vars
- moonarch-vpn: -- guard before connection name in nmcli calls
- post-install.sh: else-logging when USER_DEFAULTS dir missing
2026-03-31 11:06:14 +02:00
f2a28f8577 docs: fix README, remove gtklock and wlogout remnants
README: fix keybind (wlogout → moonset), remove gtklock from project
structure, correct package counts, remove nonexistent install-themes.sh,
mark update.sh as legacy wrapper.
Remove gtklock packages (5) and wlogout from package lists.
Remove defaults/xdg/gtklock/ config directory.
Remove stale foot/waybar overrides from transform.sh.
2026-03-31 09:36:20 +02:00
684d54e0c2 Deploy moonarch config overrides for walker, foot, and waybar
These configs are owned by their respective packages in /etc/xdg/ so
the XDG copy loop installs the package defaults instead of ours.
Overwrite with moonarch versions from /usr/share/moonarch/ after the
loop.
2026-03-30 23:45:52 +02:00
3acb71a210 Fix GTK4 theme comment to match Grey accent 2026-03-30 23:34:26 +02:00
c011672bc2 Install packages from package lists in transform script
The pre-flight summary already computed missing packages but never
installed them. Now installs both official and AUR packages after
moonarch-git.
2026-03-30 23:03:58 +02:00
59a0e500f2 Fix transform failing on root-owned XDG config dirs
cp -r from /etc/xdg/ preserved root ownership on directories,
causing rm -rf to fail on subsequent runs. Add --no-preserve=ownership
to cp and escalated rm fallback for existing root-owned dirs.
2026-03-30 22:49:42 +02:00
2fba1b571d Make backup optional in transform script 2026-03-30 22:32:54 +02:00
5947d9af43 fix: use paru -Syu instead of -Sy to avoid partial upgrade state 2026-03-30 16:09:06 +02:00
4d9cbe7ce2 Replace Rofi with Walker as application launcher
Walker (GTK4 + Elephant backend) replaces rofi-lbonn-wayland-git as the
central launcher and menu framework.

Native Walker providers replace 5 custom rofi scripts:
- App launcher (desktopapplications provider)
- Clipboard (clipboard provider, replaces cliphist frontend)
- Bluetooth (bluetooth provider, replaces bluetoothctl script)
- Volume/audio (wireplumber provider)
- Sink switcher (wireplumber provider)

3 scripts ported to Walker dmenu mode:
- moonarch-vpn (nmcli)
- moonarch-cpugov (auto-cpufreq)
- moonarch-sink-switcher (pactl)

Settings menu (moonarch-setmen) removed — apps are findable via Walker
app search directly.

Walker theme (gtk-inherit) inherits all colors from the active GTK4
theme instead of hardcoding Catppuccin values.

Walker and Elephant run as systemd user services for instant startup.

Also standardizes GTK theme to Colloid-Grey-Dark-Catppuccin across all
config files (was inconsistent between gsettings and file configs).

Old rofi configs preserved in legacy/rofi/ for reference.
2026-03-30 12:06:25 +02:00
07264510dd Fix audit findings, replace wlogout with moonset
Bug fixes from quality and security audits:
- moonarch-capsnote: use value[0] instead of value[2]
- moonarch-btnote: guard empty PER_INT before integer comparison
- moonarch-clipboard + niri config: use XDG_RUNTIME_DIR instead of UID 1000
- moonarch-waybar-hidpp: use charging icon when charging
- moonarch-waybar-gpustat: find gpu_busy_percent dynamically across hwmon*
- post-install/transform: use systemctl --user cat for service detection
- post-install/transform: install paru from [extra] instead of AUR clone

Replace wlogout with moonset in niri keybind and waybar on-click.
Remove moonarch-session (dead code, replaced by moonset) and wlogout
layout config.
2026-03-29 21:23:03 +02:00
7d7cbec2ca Delegate file deployment to moonarch-git package
Refactor post-install.sh and transform.sh to install moonarch-git via
paru instead of manually copying configs, scripts, and themes. Remove
install-themes.sh (replaced by sweet-cursors-git dependency). Replace
update.sh with deprecation notice that forwards to the package-provided
moonarch-update in /usr/bin/.
2026-03-29 18:53:57 +02:00
a6a5a709a0 Add moonarch-update for package-based system maintenance
Simplified updater that reads package lists from /usr/share/moonarch/
instead of syncing a git repo. Designed to be shipped by the
moonarch-git package as /usr/bin/moonarch-update.
2026-03-29 17:15:07 +02:00
1679fcfb30 Make /opt/moonarch root-owned for multi-user support
Remove chown from archinstall custom-commands so the repo stays
root:root. Use sudo for git operations in update.sh. Any user with
sudo can now run moonarch-update without owning the repo.
2026-03-29 15:23:39 +02:00
72c221897f Add --dry-run flag to transform.sh
Shows pre-flight summary with package diff, config change counts,
and detected conflicts without modifying the system.
2026-03-29 15:12:41 +02:00
9d26f04af6 Add transform script for existing Arch+Wayland systems
Extract shared helpers into lib.sh (log, err, confirm, path constants)
and refactor post-install.sh + update.sh to source it.

New transform.sh converts an existing Arch+Wayland system to Moonarch:
pre-flight summary, config backup, DM conflict resolution, PulseAudio
removal, full package install, and hard overwrite of all configs.

Also migrate kanshi from niri spawn-at-startup to systemd user service.
2026-03-29 15:03:44 +02:00
24d70db2cf fix: migrate swww to awww, add per-user GTK4 symlinks
swww was renamed to awww (codeberg.org/LGFae/awww). Update package
list, README references, and add compatibility symlinks in post-install
so waypaper keeps working until it supports awww natively.

Also add per-user ~/.config/gtk-4.0/ symlinks — libadwaita ignores the
system-wide /etc/xdg/ fallback, so apps like Nautilus need user-level
CSS links to pick up the Catppuccin theme.
2026-03-29 14:14:06 +02:00
eaf30724aa fix missing packages, remove dead code, replace ponymix with pactl
- Add wl-clipboard, libnotify, upower, bluez, bluez-utils to official.txt
- Remove stow (installed but never used)
- Remove dead moonlock.service cp block from post-install.sh
- Rewrite moonarch-sink-switcher and moonarch-volume to use pactl
  instead of ponymix (already available via libpulse)
2026-03-29 14:00:51 +02:00
0a266510e0 i18n: migrate all German text to English
Enforce the repo convention that committed text is English.
Translates ABOUTME headers, code comments, log/error messages,
shell prompts, and documentation across all files.
CLAUDE.md files remain in German per policy.
2026-03-28 14:53:23 +01:00
f5d94e8bc0 fix: replace manual moongreet/moonset installs with paru repo
The old fallbacks used git clone + makepkg and uv pip install, which
are fragile and bypass the moonarch-pkgbuilds repo. Now sets up the
paru custom repo and installs all three packages via paru -S.
2026-03-28 14:30:09 +01:00
44dee82f35 User-Config-Defaults für Waybar mit Include der systemweiten Config
Post-Install kopiert defaults/user/ nach ~/.config/, aber nur wenn
die Dateien noch nicht existieren. Waybar-Beispiele zeigen wie man
die systemweite Config per include/import erweitert (z.B. Peripherie-Akkus).
2026-03-27 17:03:38 +01:00
8e59f9298a moonset-Installation und moonlock-Service in post-install ergänzen
Post-Install klont und installiert moonset aus Gitea und
richtet den moonlock systemd User-Service ein.
2026-03-27 15:26:45 +01:00
b43720082d Theming auf Colloid-Catppuccin und UbuntuSans Nerd Font vereinheitlichen
- GTK-Theme von catppuccin-mocha-lavender auf Colloid-Catppuccin umgestellt
- Systemweite GTK4-Symlinks in /etc/xdg/gtk-4.0/ für libadwaita Dark-Mode
- gsettings für Theme, Color-Scheme, Icon-Theme und Font im post-install
- Alle Fonts (Hack, JetBrainsMono, MonarchOS) auf UbuntuSans Nerd Font
- Paketlisten: Colloid-Pakete statt catppuccin-gtk/newaita, ttf-ubuntusans-nerd
2026-03-26 22:17:03 +01:00
f79128b1a6 feat: regreet durch moongreet ersetzen, einheitliches Default-Wallpaper
Greeter von regreet (niri-Wrapper) auf moongreet (GTK4 + gtk4-layer-shell)
umgestellt. moongreet wird direkt aus dem Gitea-Repo gebaut.

Ein einziges Wallpaper unter /usr/share/moonarch/wallpaper.jpg dient jetzt
als Default fuer Desktop (waypaper), Lockscreen (gtklock) und Greeter
(moongreet).
2026-03-26 12:17:18 +01:00
5d2ce00455 Initial commit: Moonarch reproduzierbares Arch-Linux-Setup
Niri-basierter Wayland-Desktop mit greetd/regreet, Catppuccin Mocha
Theming, Rofi-Menus, Waybar und vollstaendiger Post-Install-Automatisierung.

Archinstall-Config klont das Repo automatisch via custom-commands,
danach genuegt ein einzelner Befehl fuer die komplette Einrichtung.
2026-03-23 17:42:26 +01:00