Wire niri desktop: tanin-eww, tanin-desktop (niri), tanin-setup theme follower

- 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>
This commit is contained in:
2026-06-18 22:13:59 +02:00
parent 10b88a67bc
commit a4569795e8
7 changed files with 294 additions and 22 deletions
+15 -6
View File
@@ -30,17 +30,26 @@ install_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
• configs seeded into ~/.config (eww + niri)
• session target installed (~/.config/systemd/user/tanin-session.target)
• GTK theme applied + follower enabled (tanin-libadwaita.service)
Make sure your compositor autostart contains:
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user start tanin-session.target
(The shipped TANINUX compositor config already includes these.)
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