Make Aether's theme engine drive end-4 / illogical-impulse's matugen-based Material colors — one palette for your whole desktop.
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.
Aether auto-discovers directories under ~/.config/aether/custom/<name>/:
- It reads
config.jsonand renders the listed templates. Here,end4.envis rendered to~/.cache/aether/end4.env, carrying the currentWALLPAPERandMODE. - After every theme apply, Aether runs
post-apply.shin 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.csssymlink toadw-gtk3-darkif matugen clobbered it (see gotcha below). - Locates end-4's
switchwall.shdynamically 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).
Required:
- Aether — the theme engine that triggers everything.
- end-4 / illogical-impulse dotfiles — provides the
quickshell
iiconfig andswitchwall.sh. - matugen — used transitively by
switchwall.sh(the bridge never calls it directly), so it must be onPATH.
Optional (wired only if present):
echasnovski/mini.base16(Neovim colorscheme glue),btop,vesktop/Vencord,adw-gtk3,gsettings.
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 promptingThe 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:
- Apply any theme in Aether — it runs
post-apply.shautomatically. - In Vencord/Vesktop settings, enable the
aethertheme once. - For Neovim, ensure
mini.base16is available and set colorschemeaether. - If colors don't update, check
~/.cache/aether/end4-bridge.log.
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.
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.shRemoves the files this integration installed and restores any *.bak backups. It does not touch
end-4's dotfiles or matugen's output.
MIT — see LICENSE.
