caelestia/README.md
2025-10-13 23:17:35 +11:00

143 lines
5 KiB
Markdown

# caelestia
This is the main repo of the caelestia dots and contains the user configs for
apps. This repo also includes an install script to install the entire dots.
## Installation
Simply clone this repo and run the install script (you need
[`fish`](https://github.com/fish-shell/fish-shell) installed).
> [!WARNING]
> The install script symlinks all configs into place, so you CANNOT
> move/remove the repo folder once you run the install script. If
> you do, most apps will not behave properly and some (e.g. Hyprland)
> will fail to start completely. I recommend cloning the repo to
> `~/.local/share/caelestia`.
The install script has some options for installing configs for some apps.
```
$ ./install.fish -h
usage: ./install.sh [-h] [--noconfirm] [--spotify] [--vscode] [--discord] [--aur-helper]
options:
-h, --help show this help message and exit
--noconfirm do not confirm package installation
--spotify install Spotify (Spicetify)
--vscode=[codium|code] install VSCodium (or VSCode)
--discord install Discord (OpenAsar + Equicord)
--zen install Zen browser
--aur-helper=[yay|paru] the AUR helper to use
```
For example:
```sh
git clone https://github.com/caelestia-dots/caelestia.git ~/.local/share/caelestia
~/.local/share/caelestia/install.fish
```
### Manual installation
Dependencies:
- hyprland
- xdg-desktop-portal-hyprland
- xdg-desktop-portal-gtk
- hyprpicker
- wl-clipboard
- cliphist
- inotify-tools
- app2unit
- wireplumber
- trash-cli
- foot
- fish
- fastfetch
- starship
- btop
- jq
- eza
- adw-gtk-theme
- papirus-icon-theme
- qt5ct-kde
- qt6ct-kde
- ttf-jetbrains-mono-nerd
Install all dependencies and follow the installation guides of the
[shell](https://github.com/caelestia-dots/shell) and [cli](https://github.com/caelestia-dots/cli)
to install them.
> [!TIP]
> If on Arch or an Arch-based distro, there is a meta package available in the AUR
> that pulls in all dependencies (`caelestia-meta`).
Then copy or symlink the `hypr`, `foot`, `fish`, `fastfetch`, `uwsm` and `btop` folders to the
`$XDG_CONFIG_HOME` (usually `~/.config`) directory. e.g. `hypr -> ~/.config/hypr`.
Copy `starship.toml` to `$XDG_CONFIG_HOME/starship.toml`.
#### Installing Spicetify configs:
Follow the Spicetify [installation instructions](https://spicetify.app/docs/advanced-usage/installation),
copy or symlink the `spicetify` folder to `$XDG_CONFIG_HOME/spicetify` and run
```sh
spicetify config current_theme caelestia color_scheme caelestia custom_apps marketplace
spicetify apply
```
#### Installing VSCode/VSCodium configs:
Install VSCode or VSCodium, then copy or symlink `vscode/settings.json` and
`vscode/keybindings.json` into the `$XDG_CONFIG_HOME/Code/User` (or `$XDG_CONFIG_HOME/VSCodium/User`
if using VSCodium) folder. Then copy or symlink `vscode/flags.conf` to `$XDG_CONFIG_HOME/code-flags.conf`
(or `$XDG_CONFIG_HOME/codium-flags.conf` if using VSCodium).
Finally, install the extension VSIX from `vscode/caelestia-vscode-integration`.
```sh
# Use `codium` if using VSCodium
code --install-extension vscode/caelestia-vscode-integration/caelestia-vscode-integration-*.vsix
```
#### Installing Zen Browser configs:
Install Zen Browser, then copy or symlink `zen/userChrome.css` to the `chrome` folder in your
profile of choice in `~/.zen`. e.g. `zen/userChrome.css -> ~/.zen/<profile>/chrome/userChrome.css`.
Now install the native app by copying `zen/native_app/manifest.json` to
`~/.mozilla/native-messaging-hosts/caelestiafox.json` and replacing the `{{ $lib }}` string in it
with the absolute path of `~/.local/lib/caelestia` (this must be the absolute path, e.g.
`/home/user/.local/lib/caelestia`). Then copy or symlink `zen/native_app/app.fish` to
`~/.local/lib/caelestia/caelestiafox`.
Finally, install the CaelestiaFox extension from [here](https://addons.mozilla.org/en-US/firefox/addon/caelestiafox).
## Updating
Simply run `yay` to update the AUR packages, then `cd` into the repo directory and run `git pull` to update the configs.
## Usage
> [!NOTE]
> These dots do not contain a login manager (for now), so you must install a
> login manager yourself unless you want to log in from a TTY. I recommend
> [`greetd`](https://sr.ht/~kennylevinsen/greetd) with
> [`tuigreet`](https://github.com/apognu/tuigreet), however you can use
> any login manager you want.
There aren't really any usage instructions... these are a set of dotfiles.
Here's a list of useful keybinds though:
- `Super` - open launcher
- `Super` + `#` - switch to workspace `#`
- `Super` `Alt` + `#` - move window to workspace `#`
- `Super` + `T` - open terminal (foot)
- `Super` + `W` - open browser (zen)
- `Super` + `C` - open IDE (vscodium)
- `Super` + `S` - toggle special workspace or close current special workspace
- `Ctrl` `Alt` + `Delete` - open session menu
- `Ctrl` `Super` + `Space` - toggle media play state
- `Ctrl` `Super` `Alt` + `R` - restart the shell