chore(repo): stop tracking build artifacts; add README, license metadata, ruff config

Untrack iso/out/ (3.4 GB ISO), packaging/*/pkg/ trees, *.pkg.tar.zst and
tanin-icons/src/ (529 files) and ignore them going forward. Files stay on
disk. NOTE: history still carries ~13 GiB of old ISO blobs — needs a
git filter-repo pass (see README/report).

Also: first README.md, license + license-files in pyproject, minimal ruff
config, demo scripts moved to scripts/demo/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 21:21:28 +02:00
parent e8d93e6b1d
commit 774809a579
535 changed files with 104 additions and 36530 deletions
File diff suppressed because it is too large Load Diff
Binary file not shown.
@@ -1,16 +0,0 @@
# 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
@@ -1,55 +0,0 @@
#!/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
@@ -1,7 +0,0 @@
[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