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:
+5
-6
@@ -54,14 +54,14 @@ AUR → OPT-IN only (paru = optdepend)
|
||||
| `taninux` | tsettings + thub + TUI, helper, polkit, .desktop | ready |
|
||||
| `tanin-greet` | custom GTK4 greeter for greetd → `/etc/greetd/` | ready (preview) |
|
||||
| `tanin-libadwaita` | Fuji libadwaita recolour, light + dark (pills) | ready (preview) |
|
||||
| `tanin-eww` | eww config + scripts → `/usr/share/tanin/skel` | **todo** |
|
||||
| `tanin-eww` | eww bar/dock/panels + niri config → `/usr/share/tanin/skel/.config` | ready |
|
||||
| `tanin-setup` | seed `~/.config` + enable session target | ready |
|
||||
| `tanin-desktop` | metapackage pulling the whole environment (niri) | ready (needs tanin-eww) |
|
||||
| `tanin-desktop` | metapackage pulling the whole environment (niri) | ready |
|
||||
|
||||
**Rebuilt AUR deps** — the desktop's hard requirements that aren't in the
|
||||
official repos. We rebuild them into `[tanin]` so `tanin-desktop` can hard-depend
|
||||
on them **without the AUR** (binary repos must never need it): `eww`, `tiramisu`,
|
||||
`waypaper`, `regreet`, `cliphist`. ⚠️ Verify each before publishing — any that
|
||||
`waypaper`, `cliphist`. ⚠️ Verify each before publishing — any that
|
||||
turn out to live in `extra` should be dropped from this list.
|
||||
|
||||
The full Arch package set (compositor, portals, audio, connectivity, fonts, …)
|
||||
@@ -79,13 +79,13 @@ waypaper/cliphist) are exactly why `[tanin]` must carry rebuilt AUR packages.
|
||||
## Delivery
|
||||
|
||||
1. **Foundation** — `taninux` builds (`makepkg -si`). ✅
|
||||
2. **Meta + config** — finish `tanin-eww`; update `tanin-desktop` to niri; keep
|
||||
2. **Meta + config** — ✅ `tanin-eww`, `tanin-desktop` (niri), `tanin-greet`, `tanin-libadwaita`,
|
||||
`tanin-setup`. Dotfiles ship to `/usr/share/tanin/skel`, never to `/home` at
|
||||
package time; `tanin-setup` seeds them on first run.
|
||||
3. **`[tanin]` repo** — `repo-add -s` to build+sign the DB. Host as a
|
||||
Gitea/Forgejo Arch registry **or** a static dir behind `taninux.kgva.ch`.
|
||||
4. **ISO** — archiso profile with `[tanin]` pre-configured; Calamares `packages`
|
||||
module installs `tanin-desktop`; greetd+regreet enabled; session target wired.
|
||||
module installs `tanin-desktop`; greetd + tanin-greet enabled; session target wired.
|
||||
|
||||
### Session / dark-mode fix
|
||||
libadwaita apps read light/dark via `org.freedesktop.portal.Settings`, which
|
||||
@@ -100,7 +100,6 @@ systemctl --user start tanin-session.target
|
||||
- **Name:** keep TANINUX, or split `app = tanin` / `OS = <marketing name>`?
|
||||
- **Repo hosting:** Gitea Arch registry vs static dir behind `taninux.kgva.ch`.
|
||||
- **Signing:** move `[tanin]` to `SigLevel = Required` + distribute the key.
|
||||
- **regreet theme:** author its GTK CSS to the Fuji accent.
|
||||
- **AUR check:** confirm which rebuilt-AUR entries are already in `extra`.
|
||||
- **Blur/shadow:** niri `layer-rule` blur+shadow for eww layers (template is
|
||||
commented in the niri config).
|
||||
|
||||
+11
-10
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user