Small Linux integrations for Caelestia. It keeps the cursor, GTK, Hyprtoolkit, LocalSend, pavucontrol, qBittorrent, and XDG portals in step with Caelestia's active scheme.
The current compositor backend is Hyprland. The shared integrations are kept separate so another compositor can be added without rewriting them.
Add the flake and module:
inputs.caelestia-extras.url = "github:nyxar77/caelestia-extras";
imports = [ inputs.caelestia-extras.homeModules.default ];
programs.caelestia-extras = {
enable = true;
cursor.enable = true;
gtk.enable = true;
hyprtoolkit.enable = true;
localsend.enable = true;
pavucontrol.enable = true;
qt.enable = true;
prismlauncher.enable = true;
qbittorrent.enable = true;
portal.enable = true;
};All integrations are optional. The module installs the package, writes the configuration, and creates one user service that coalesces runtime changes.
You need Go 1.25 or newer, Caelestia, and the tools used by the integrations you enable. The script does not install distro packages or overwrite your config.
./scripts/install.shIt creates ~/.config/caelestia-extras/config.toml if it does not exist,
installs the managed templates and units, and places the binary in
~/.local/bin. Configure the integrations, then enable the unified watcher:
./scripts/install.sh --enable allIt stages files before applying them, so Ctrl-C can safely cancel the build.
Run the same command after pulling an update. More detail is in the manual-install guide.
caelestia-extras syncCheck the setup before running an integration:
caelestia-extras config validateMore commands, help, and shell completion are in the CLI guide.