- Distribution - Arch Linux
- Window Manager - bspwm
- Compositor - picom
- Shell - zsh
- Terminal - kitty
- Bar and Widgets - eww
- Launcher - rofi
- Notification Daemon - dunst
- These setup steps use
paru
. The single line installation will addparu
if it's missing. However, it is not a required dependency, so feel free to use your AUR helper of choice if you do manual installation. - These setup steps assume you at least have a minimal install of Arch Linux.
Be sure to back up any relevant files before continuing. Chezmoi will ask what you should do if a conflict occurs, but back up your files just in case. You can see what will be applied at a glance with chezmoi status
and chezmoi diff
.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Battlesquid/dotfiles/main/install.sh)"
Install dependencies:
paru -S chezmoi xorg xorg-xinit bspwm sxhkd compfy kitty eww-git rofi dmenu dunst redshift pamixer networkmanager noto-fonts ttf-firacode-nerd ttf-noto-nerd ttf-font-awesome noto-fonts-cjk noto-fonts-emoji brightnessctl cava glava neofetch neovim betterlockscreen flameshot feh playerctl jq recode moreutils jgmenu xcolor xqp xdo zsh xdg-user-dirs bluez bluez-utils blueman nemo nemo-fileroller discord firefox spotify-launcher noisetorch-bin obs-studio visual-studio-code-bin capitaine-cursors btop python
Start bluetooth service:
if ! [ $(lsmod | grep -wq "^btusb") ];then
sudo modprobe btusb
fi
sudo systemctl start bluetooth.service
sudo systemctl enable bluetooth.service
Change your shell to zsh
chsh -s /usr/bin/zsh
zsh
Create script files for aliases and PATH additions. These are sourced in ~/.zshrc
, and can be used for adding personal zsh
configuration without fear of them being overriden when running chezmoi update
.
touch ~/.aliases.zsh
touch ~/.path.zsh
Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Install powerlevel10k and zsh-syntax-highlighting
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Fetch the dotfiles using:
chezmoi init https://github.com/Battlesquid/dotfiles.git
Confirm the changes that will be made.
chezmoi diff
Install with:
chezmoi apply -v
Add icon theme
mkdir ~/repos
git clone https://github.com/vinceliuice/Tela-icon-theme.git ~/repos/tela-icon-theme
chmod +x ~/repos/tela-icon-theme/install.sh
~/repos/tela-icon-theme/install.sh nord
Add GTK theme
git clone https://github.com/Battlesquid/gtk.git ~/repos/fool-moon-phocus
cd ~/repos/fool-moon-phocus
make
make install
Create home directories
xdg-user-dirs-update
If you're logged into a session, logout, then start with:
startx
If you wish to manually move/symlink/view the dotfiles source, you can generate an archive of the source. For example:
chezmoi cd
chezmoi --source-path archive src/**/* --output=~/dotconfig.tar.gz
The archive will be in your home directory. This can be done with any folder/file in the source directory, so you can choose how to build out your archive. You can see a full list of potential archive targets with chezmoi managed
.
- Grab an OpenWeather API key. Also determine the city you would like to use.
- Create a
secrets
file with:
touch ~/.config/eww/fool_moon/scripts/secrets
- Copy the contents below into the secrets file, substituting in the API key and city.
#!/bin/sh
WEATHER_API_KEY="<YOUR_API_KEY_HERE>"
WEATHER_API_CITY="<YOUR_CITY_HERE>"
You might notice that the side menu on the right is either too long or too short. This is due to your monitor resolution. To fix this, run:
~/.config/eww/fool_moon/windows/side-menu/eww_side_menu_fix
Feel free to use anything in this repo, just be sure to provide proper credit.
Some scripts/config files were borrowed/adapted from the following repos:
- adi1090x/widgets
- Syndrizzle/hotfiles
- mmsaeed509/bspwm-dots
- saimoomedits/eww-widgets
- janleigh/dotfiles
Found an issue? Feel free to add an issue or create a PR to resolve it, and I'll look at it at my earliest convenience.