From 44dee82f35aa839daea71e422d0312e36199966c Mon Sep 17 00:00:00 2001 From: nevaforget Date: Fri, 27 Mar 2026 17:03:38 +0100 Subject: [PATCH] =?UTF-8?q?User-Config-Defaults=20f=C3=BCr=20Waybar=20mit?= =?UTF-8?q?=20Include=20der=20systemweiten=20Config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- defaults/user/waybar/config | 37 ++++++++++++++++++++++++++++++++++ defaults/user/waybar/style.css | 18 +++++++++++++++++ scripts/post-install.sh | 25 +++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 defaults/user/waybar/config create mode 100644 defaults/user/waybar/style.css diff --git a/defaults/user/waybar/config b/defaults/user/waybar/config new file mode 100644 index 0000000..8e0fa55 --- /dev/null +++ b/defaults/user/waybar/config @@ -0,0 +1,37 @@ +{ + // ABOUTME: User-Override fuer Waybar — erweitert die systemweite Config aus /etc/xdg/waybar/. + // ABOUTME: Eigene Module hier definieren und in modules-left/center/right eintragen. + + // Systemweite Moonarch-Config als Basis laden. + // Properties die hier definiert werden, ueberschreiben die aus dem Include. + "include": ["/etc/xdg/waybar/config"] + + // Beispiel: Modul-Leiste erweitern (muss komplett angegeben werden, da sie die + // systemweite ersetzt): + // + // "modules-right": [ + // "mpris", + // "custom/cpugov", + // "group/net", + // "group/sound", + // "backlight", + // "battery", + // "battery#keyboard", + // "group/indicators" + // ], + + // Beispiel: Logitech-Tastatur-Akku anzeigen + // (hidpp_battery_X ggf. anpassen — siehe /sys/class/power_supply/) + // + // "battery#keyboard": { + // "bat": "hidpp_battery_4", + // "interval": 120, + // "states": { + // "warning": 35, + // "critical": 20 + // }, + // "format": "{capacity}% 󰌌", + // "format-charging": "{capacity}% 󰌌", + // "tooltip-format": "Tastatur: {capacity}%" + // } +} diff --git a/defaults/user/waybar/style.css b/defaults/user/waybar/style.css new file mode 100644 index 0000000..2ff5817 --- /dev/null +++ b/defaults/user/waybar/style.css @@ -0,0 +1,18 @@ +/* ABOUTME: User-Override fuer Waybar-Styling — erweitert die systemweite style.css. */ +/* ABOUTME: Eigene Styles hier definieren, die systemweite Basis wird per @import geladen. */ + +@import url("/etc/xdg/waybar/style.css"); + +/* Eigene Styles unterhalb eintragen. */ +/* Selektoren aus der systemweiten Config koennen hier ueberschrieben werden. */ + +/* Beispiel: Logitech-Tastatur-Akku einfaerben */ +/* +#battery-keyboard.warning:not(.charging) { + color: #e6a200; +} + +#battery-keyboard.critical:not(.charging) { + color: #cc3436; +} +*/ diff --git a/scripts/post-install.sh b/scripts/post-install.sh index e75cdb7..6be0782 100755 --- a/scripts/post-install.sh +++ b/scripts/post-install.sh @@ -222,6 +222,31 @@ if ! groups | grep -q docker; then sudo usermod -aG docker "$USER" fi +# --- User-Config-Defaults installieren --- + +log "Installiere User-Config-Defaults nach ~/.config/..." +USER_DEFAULTS_DIR="$DEFAULTS_DIR/user" +if [[ -d "$USER_DEFAULTS_DIR" ]]; then + # Jedes Unterverzeichnis in defaults/user/ entspricht einem ~/.config/-Verzeichnis. + # Dateien werden nur kopiert wenn sie noch nicht existieren (kein Ueberschreiben). + for src_dir in "$USER_DEFAULTS_DIR"/*/; do + app_name="$(basename "$src_dir")" + dest_dir="$HOME/.config/$app_name" + mkdir -p "$dest_dir" + find "$src_dir" -type f -print0 | while IFS= read -r -d '' src_file; do + rel_path="${src_file#"$src_dir"}" + dest_file="$dest_dir/$rel_path" + if [[ ! -f "$dest_file" ]]; then + mkdir -p "$(dirname "$dest_file")" + cp "$src_file" "$dest_file" + log " + $app_name/$rel_path" + else + log " ~ $app_name/$rel_path existiert bereits, uebersprungen." + fi + done + done +fi + # --- Screenshots-Verzeichnis --- mkdir -p "$HOME/Pictures/Screenshots"