This repository contains the dotfiles for hyprland desktop. It uses quickshell(caelestia configuration) instead of waybar. It is designed for Arch Linux. For termux or ARM architecuture, check out dotfiles-termux instead.
Although the
dotfiles-termuxare minimalistic because of android's limitations.
Ensure you have git and stow installed:
sudo pacman -Sy
sudo pacman -S git stow --neededThese dotfiles contain configurations for zsh, neovim, tmux, foot, fuzzel, mpv, mpd, rmpc, hyprland, and quickshell-git. Install these applications for using my dotfiles:
sudo pacman -S zsh neovim tmux foot fuzzel mpd mpc mpd-mpris rmpc hyprland hyprsunset hyprpicker --neededUse AUR helper yay/paru for installing the quickshell-git package.
paru -S quickshell-gitClone this repository to your $HOME directory
cd ~
git clone --recurse-submodules https://github.com/phirrehan/dotfiles.gitUse stow to create symbolic links from $HOME/dotfiles/ to $HOME/ in exactly the same way as they appear in the dotfiles. e.g. ~/dotfiles/.config/ will be symlinked to ~/.config. Directories/files related like .git and README.md are ignored by stow by default.
Note: Any existing config files that conflict with the config files in
dotfiles, should be backed up and removed to avoid errors.
cd dotfiles
stow .Change your default shell to zsh by using:
chsh -s $(which zsh)Use the following command to source .zshrc file
exec ~/.zshrcThis will install zinit(plugin manager for zsh) which will further install various plugins. This may take time on the first source or new zsh session. Finally, after all installations the zsh configurations will be setup.
This font is useful for nvim and tmux configurations. If you do not need those, you can skip this step. Install a nerd font of your choice. I personally like to use JetBrainsMono Nerd font.
sudo pacman -S ttf-jetbrains-mono-nerdWhile inside a tmux environment, run the following command
tmux source ~/.config/tmux/tmux.confPress prefix + I (capital i, as in Install) to fetch the plugin
Prefix has been changed to
Ctrl+ space intmux.conf
Ensure you have the following packages installed before running runing Neovim for the first time:
- 7zip
- unrar
- unzip
- python
- go
- rust
- deno
sudo pacman -S 7zip unrar unzip python go rust denoNeovim will lazy load everything when it is opened for the first time. It may take some time on the first launch.
The only extra thing that mpv needs is a font. It can be installed via AUR helper as follows:
paru -S ttf-material-design-iconic-fontFetch the fuzzel.ini file from caelestia-dots/fuzzel and store it in ~/.config/fuzzel/fuzzel.ini.
This can be done by the following commands:
mkdir -p ~/.config/fuzzel
curl -o "$HOME/.config/fuzzel/fuzzel.ini" "https://raw.githubusercontent.com/caelestia-dots/fuzzel/main/fuzzel.ini"Follow the caelestia documentation for setting up quickshell and hyprland dots. This will setup caelestia's dotfiles. The user specific settings are located at .config/caelestia/. These should be symlinked to ~/.config/caelestia with stow. The quickshell configurations are located in shell.json. caelestia-cli config are located in cli.json.
The caelestia's hyprland configurations should be symlinked to ~/.config/hypr. These config files should not be changed. Any changes must be made in hypr-user.conf, hypr-vars.conf, or hypr/*.conf located in .config/caelestia/
All the scripts are located in ~/.local/bin which is added to PATH variable in .zprofile. Thus, writing the full path of a script in this directory is not needed. e.g. for executing ~/.local/bin/run the path can be omitted and be directly written as run.
These were most of the general configurations I use. Hope you liked them and have a good day!