Add [tanin] repo build script; build 5 own packages + DB
- packaging/build-tanin-repo.sh: builds own pkgs + repo-add DB (-> ~/projects/tanin-repo) - built: tanin-greet, tanin-libadwaita, tanin-setup, tanin-eww, tanin-desktop - manifest: cliphist + cage are in extra (not AUR rebuilds); only eww/tiramisu/ waypaper need rebuilding into [tanin]; record repo-build status Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,16 @@
|
||||
# Generated by makepkg 7.1.0
|
||||
# using fakeroot version 1.37.2
|
||||
pkgname = tanin-setup
|
||||
pkgbase = tanin-setup
|
||||
xdata = pkgtype=pkg
|
||||
pkgver = 0.1.0-1
|
||||
pkgdesc = TANINUX first-run setup — seed user configs and enable the session portal
|
||||
url = https://taninux.kgva.ch
|
||||
builddate = 1781813718
|
||||
packager = Unknown Packager
|
||||
size = 2207
|
||||
arch = any
|
||||
license = GPL-3.0-or-later
|
||||
depend = systemd
|
||||
depend = xdg-desktop-portal
|
||||
depend = xdg-desktop-portal-gtk
|
||||
@@ -0,0 +1,55 @@
|
||||
#!/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
|
||||
@@ -0,0 +1,7 @@
|
||||
[Unit]
|
||||
Description=TANINUX graphical session
|
||||
# Startet (per Dependency-Request) graphical-session.target, an dem
|
||||
# xdg-desktop-portal hängt — sonst kann das Portal nicht aktivieren und
|
||||
# libadwaita-Apps (Nautilus …) bleiben im Hell-Fallback.
|
||||
Requires=graphical-session.target
|
||||
After=graphical-session.target
|
||||
Reference in New Issue
Block a user