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).
This commit is contained in:
nevaforget 2026-03-27 17:03:38 +01:00
parent 8e59f9298a
commit 44dee82f35
3 changed files with 80 additions and 0 deletions

View File

@ -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}%"
// }
}

View File

@ -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;
}
*/

View File

@ -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"