mirror of
https://github.com/caelestia-dots/cli.git
synced 2026-06-05 14:59:29 -05:00
3e19fd69199414eca2c1b6a77a688b1292588d48
* templates: add nvtop, htop, and cava support * Triggers htop and cava theme reloads Sends a USR2 signal to htop and cava after their themes are applied. This prompts the applications to reload their configuration files, ensuring new themes are visible instantly without requiring a manual restart.
caelestia-cli
The main control script for the Caelestia dotfiles.
External dependencies
libnotfy- sending notificationsswappy- screenshot editorgrim- taking screenshotsdart-sass- discord themingapp2unit- launching appswl-clipboard- copying to clipboardslurp- selecting an areawl-screenrec- screen recording (default)wf-recorder- screen recording (for NVIDIA GPUs)glib2- closing notificationslibpulse- getting audio devicecliphist- clipboard historyfuzzel- clipboard history/emoji picker
Installation
Package manager (recommended)
The cli is available from the AUR as caelestia-cli-git. To install it you can use
an AUR helper like yay, or manually download the
PKGBUILD and run makepkg -si.
e.g. using yay
yay -S caelestia-cli-git
Manual installation
Install all dependencies, then install
python-build,
python-installer,
python-hatch and
python-hatch-vcs.
e.g. via an AUR helper (yay)
yay -S libnotify swappy grim dart-sass app2unit wl-clipboard slurp wl-screenrec wf-recorder glib2 libpulse cliphist fuzzel python-build python-installer python-hatch python-hatch-vcs
Now, clone the repo, cd into it, build the wheel via python -m build --wheel
and install it via python -m installer dist/*.whl. Then, to install the fish
completions, copy the completions/caelestia.fish file to
/usr/share/fish/vendor_completions.d/caelestia.fish.
git clone https://github.com/caelestia-dots/cli.git
cd cli
python -m build --wheel
sudo python -m installer dist/*.whl
sudo cp completions/caelestia.fish /usr/share/fish/vendor_completions.d/caelestia.fish
Usage
All subcommands/options can be explored via the help flag.
$ caelestia -h
usage: caelestia [-h] COMMAND ...
Main control script for the Caelestia dotfiles
options:
-h, --help show this help message and exit
subcommands:
valid subcommands
COMMAND the subcommand to run
shell start or message the shell
toggle toggle a special workspace
scheme manage the colour scheme
screenshot take a screenshot
record start a screen recording
clipboard open clipboard history
emoji emoji/glyph utilities
wallpaper manage the wallpaper
pip picture in picture utilities
Configuring
All configuration options are in ~/.config/caelestia/cli.json.
Example configuration
{
"theme": {
"enableTerm": true,
"enableHypr": true,
"enableDiscord": true,
"enableSpicetify": true,
"enableFuzzel": true,
"enableBtop": true,
"enableGtk": true,
"enableQt": true
},
"toggles": {
"communication": {
"discord": {
"enable": true,
"match": [{ "class": "discord" }],
"command": ["discord"],
"move": true
},
"whatsapp": {
"enable": true,
"match": [{ "class": "whatsapp" }],
"move": true
}
},
"music": {
"spotify": {
"enable": true,
"match": [{ "class": "Spotify" }, { "initialTitle": "Spotify" }, { "initialTitle": "Spotify Free" }],
"command": ["spicetify", "watch", "-s"],
"move": true
},
"feishin": {
"enable": true,
"match": [{ "class": "feishin" }],
"move": true
}
},
"sysmon": {
"btop": {
"enable": true,
"match": [{ "class": "btop", "title": "btop", "workspace": { "name": "special:sysmon" } }],
"command": ["foot", "-a", "btop", "-T", "btop", "fish", "-C", "exec btop"]
}
},
"todo": {
"todoist": {
"enable": true,
"match": [{ "class": "Todoist" }],
"command": ["todoist"],
"move": true
}
}
}
}
Languages
Python
80.6%
SCSS
6.8%
Shell
5.8%
CSS
4.5%
Nix
2.3%