a4569795e8
- tanin-eww: package eww shell config + niri config -> /usr/share/tanin/skel/.config (dev paths rewritten to ~/.config/eww; niri spawn-at-startup uses sh -c) - tanin-desktop: switch metapackage from Hyprland to the niri stack (niri, greetd+tanin-greet, cage, eww stack, xdg-desktop-portal-gnome, fonts) - tanin-setup: apply Fuji theme + enable tanin-libadwaita.service on first run - tanin-libadwaita: ship systemd user service (color-scheme watcher) - distro manifest synced; drop stale regreet references Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
56 lines
1.9 KiB
Bash
56 lines
1.9 KiB
Bash
#!/usr/bin/env bash
|
|
# TANINUX first-run setup: seedet Default-Configs nach ~/.config und richtet
|
|
# das Session-Portal ein (damit libadwaita-Apps Hell/Dunkel übernehmen).
|
|
# Idempotent. --force überschreibt bestehende Configs (mit .bak-Backup).
|
|
set -euo pipefail
|
|
|
|
SKEL="/usr/share/tanin/skel"
|
|
UNIT="/usr/share/tanin/tanin-session.target"
|
|
CFG="${XDG_CONFIG_HOME:-$HOME/.config}"
|
|
FORCE=0
|
|
[ "${1:-}" = "--force" ] && FORCE=1
|
|
|
|
seed_configs() {
|
|
[ -d "$SKEL" ] || return 0
|
|
while IFS= read -r -d '' src; do
|
|
rel="${src#"$SKEL"/}"
|
|
dst="$HOME/$rel"
|
|
mkdir -p "$(dirname "$dst")"
|
|
if [ -e "$dst" ] && [ "$FORCE" -eq 0 ]; then
|
|
continue
|
|
fi
|
|
[ -e "$dst" ] && cp -a "$dst" "$dst.bak" 2>/dev/null || true
|
|
cp -a "$src" "$dst"
|
|
done < <(find "$SKEL" -type f -print0)
|
|
}
|
|
|
|
install_session_target() {
|
|
[ -f "$UNIT" ] || return 0
|
|
install -Dm644 "$UNIT" "$CFG/systemd/user/tanin-session.target"
|
|
systemctl --user daemon-reload 2>/dev/null || true
|
|
}
|
|
|
|
# Apply the Fuji GTK theme for the current light/dark mode and enable the
|
|
# follower service (tanin-libadwaita watch), so the appearance toggle in the
|
|
# TANINUX settings retints every GTK3/GTK4 app live. Best-effort.
|
|
enable_theme_follower() {
|
|
command -v tanin-libadwaita >/dev/null 2>&1 || return 0
|
|
tanin-libadwaita auto 2>/dev/null || true
|
|
systemctl --user enable --now tanin-libadwaita.service 2>/dev/null || true
|
|
}
|
|
|
|
seed_configs
|
|
install_session_target
|
|
enable_theme_follower
|
|
|
|
cat <<'EOF'
|
|
TANINUX setup complete.
|
|
• configs seeded into ~/.config (eww + niri)
|
|
• session target installed (~/.config/systemd/user/tanin-session.target)
|
|
• GTK theme applied + follower enabled (tanin-libadwaita.service)
|
|
|
|
The shipped niri config already autostarts the session bits:
|
|
spawn-at-startup "dbus-update-activation-environment" "--systemd" "--all"
|
|
spawn-at-startup "systemctl" "--user" "start" "tanin-session.target"
|
|
EOF
|