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
+11 -10
View File
@@ -85,10 +85,11 @@ status = "ready"
[[packages.own]]
name = "tanin-eww"
desc = "eww bar/dock/panels/spotlight config + scripts -> /usr/share/tanin/skel"
upstream = "~/projects/eww"
pkgbuild = "packaging/tanin-eww/PKGBUILD" # TODO: create
status = "todo"
desc = "eww bar/dock/panels/spotlight + niri config -> /usr/share/tanin/skel/.config"
upstream = "~/projects/eww (local build; EWW_SRC override). Publish: own eww git repo."
pkgbuild = "packaging/tanin-eww/PKGBUILD" # exists
status = "ready (built from local eww; niri config vendored + path-fixed)"
note = "ships ~/.config/{eww,niri}; rewrites $HOME/projects/eww -> $HOME/.config/eww; niri spawn-at-startup uses sh -c so $HOME expands"
[[packages.own]]
name = "tanin-greet"
@@ -101,21 +102,22 @@ note = "replaces ReGreet — its fixed layout couldn't do topbar/corner-sess
name = "tanin-libadwaita"
desc = "Fuji recolour for GTK4/libadwaita + GTK3 — light + dark, pill controls"
pkgbuild = "packaging/tanin-libadwaita/PKGBUILD" # exists
status = "ready (live-verified GTK4; GTK3 partial)"
status = "ready (live-verified GTK4; GTK3 partial) + ships tanin-libadwaita.service (user, watch)"
note = "STATIC defaults + CLI (tanin-libadwaita {dark|light|auto|watch}) for greeter/first-boot. LIVE theming is driven by the taninux app: gui/style.py write_global_theme() regenerates ~/.config/gtk-{4.0,3.0}/gtk(.css)|libadwaita.css from the Appearance settings (dynamic accent + light/dark, surfaces #0f0f0f/#f0f0f0, pills). GTK4/libadwaita = full exact Fuji; GTK3/adw-gtk3 = light/dark + pills only (GTK3 @define-color is parse-time, so adw-gtk3's accent/surfaces can't be overridden — exact-Fuji GTK3 would need a standalone GTK3 theme)."
[[packages.own]]
name = "tanin-setup"
desc = "first-run: seed ~/.config from /usr/share/tanin/skel + enable session target"
desc = "first-run: seed ~/.config (eww+niri) + session target + apply theme + enable follower"
pkgbuild = "packaging/tanin-setup/PKGBUILD" # exists
status = "ready"
status = "ready (wires theme follower)"
note = "seed_configs + install tanin-session.target + tanin-libadwaita auto + systemctl --user enable --now tanin-libadwaita.service. niri config (tanin-eww) autostarts dbus-update-activation-environment + tanin-session.target."
[[packages.own]]
name = "tanin-desktop"
desc = "metapackage — depends-pulls the whole environment (own + Arch)"
pkgbuild = "packaging/tanin-desktop/PKGBUILD" # exists
type = "meta"
status = "ready (niri stack; depends tanin-eww which is still todo)"
status = "ready (niri stack; all own deps now exist)"
# =============================================================================
# REBUILT AUR DEPS — hard requirements of the desktop that are NOT in the
@@ -149,7 +151,7 @@ verify = "extra? else AUR"
# =============================================================================
[packages.arch]
compositor = ["niri"]
greeter = ["greetd", "cage"] # cage hosts the GTK greeter; regreet is in rebuilt_aur until confirmed in extra
greeter = ["greetd", "cage"] # cage hosts our own tanin-greet (GTK4); no regreet
portals = ["xdg-desktop-portal", "xdg-desktop-portal-gtk", "xdg-desktop-portal-gnome"]
toolkit = ["gtk4", "libadwaita", "gtk3", "python", "python-gobject"]
terminal = ["foot"]
@@ -198,6 +200,5 @@ project = "taninux.kgva.ch" # homepage + [tanin] pacman Ser
name = "Final project/OS name: keep TANINUX, or split app=tanin / OS=<marketing name>?"
repo_hosting = "Gitea/Forgejo Arch registry vs static dir behind taninux.kgva.ch"
signing = "Move [tanin] SigLevel to Required + distribute the packager key"
regreet_theme = "Author the regreet GTK config/CSS to the Fuji palette (accent #a39ec4)"
aur_repo_check = "Confirm which rebuilt_aur entries are actually in extra (drop those)"
blur_shadow = "niri layer-rule blur/shadow for eww layers (template commented in niri config)"