Skip to content

LordVicky/aether-end4-bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aether-end4-bridge

Make Aether's theme engine drive end-4 / illogical-impulse's matugen-based Material colors — one palette for your whole desktop.

Demo: applying a theme in Aether recolors the whole desktop

What it does

Applying a theme in Aether re-seeds matugen's Material scheme with Aether's accent color and recolors everything end-4 already manages (quickshell, GTK apps) plus btop, Vencord/Vesktop, and Neovim — so the entire desktop tracks a single palette derived from your wallpaper + accent.

The integration lives entirely outside end-4's dotfiles, so reinstalling or updating them never wipes it.

How it works

Aether auto-discovers directories under ~/.config/aether/custom/<name>/:

  1. It reads config.json and renders the listed templates. Here, end4.env is rendered to ~/.cache/aether/end4.env, carrying the current WALLPAPER and MODE.
  2. After every theme apply, Aether runs post-apply.sh in that directory. There is no separate hook to register — dropping the directory in place is the registration.

post-apply.sh then:

  • Restores the gtk-4.0/gtk.css symlink to adw-gtk3-dark if matugen clobbered it (see gotcha below).
  • Locates end-4's switchwall.sh dynamically under ~/.config/quickshell (no hardcoded path, so end-4 dotfile updates don't break it).
  • Sets the wallpaper and generates colors from it via end-4's normal pipeline.
  • Re-seeds the Material scheme with Aether's accent (read from ~/.config/aether/theme/colors.toml).
  • Wires apps end-4 doesn't cover: btop theme, Vencord/Vesktop theme CSS, a base16 palette for Neovim, and the icon theme (only if installed).

Prerequisites

Required:

  • Aether — the theme engine that triggers everything.
  • end-4 / illogical-impulse dotfiles — provides the quickshell ii config and switchwall.sh.
  • matugen — used transitively by switchwall.sh (the bridge never calls it directly), so it must be on PATH.

Optional (wired only if present):

  • echasnovski/mini.base16 (Neovim colorscheme glue), btop, vesktop/Vencord, adw-gtk3, gsettings.

Install

git clone https://github.com/lordvicky/aether-end4-bridge.git
cd aether-end4-bridge
./install.sh          # prompts about the optional Neovim glue
# ./install.sh --nvim      # install nvim glue without prompting
# ./install.sh --no-nvim   # skip nvim glue without prompting

The installer refuses to run (loudly) if Aether, matugen, or end-4's switchwall.sh are missing. It backs up any file it would overwrite to <file>.bak.

After installing:

  1. Apply any theme in Aether — it runs post-apply.sh automatically.
  2. In Vencord/Vesktop settings, enable the aether theme once.
  3. For Neovim, ensure mini.base16 is available and set colorscheme aether.
  4. If colors don't update, check ~/.cache/aether/end4-bridge.log.

The GTK4 transparency gotcha

post-apply.sh deliberately keeps ~/.config/gtk-4.0/gtk.css a symlink to adw-gtk3-dark. Letting matugen write that file paints window { background } opaque on every GTK4 app, which kills terminal transparency (e.g. ghostty). The symlink-restore logic is intentional — don't remove it.

Customizing

Accent seeding reads accent = "#..." from ~/.config/aether/theme/colors.toml. To keep pure wallpaper-derived colors instead, remove the re-seed block (step 2) in post-apply.sh.

Uninstall

./uninstall.sh

Removes the files this integration installed and restores any *.bak backups. It does not touch end-4's dotfiles or matugen's output.

License

MIT — see LICENSE.

Releases

Packages

Contributors

Languages