dotfiles
dotfiles copied to clipboard
My personal dotfiles
Details
- Distribution - Arch Linux
- Window Manager - bspwm
- Compositor - picom
- Shell - zsh
- Terminal - kitty
- Bar and Widgets - eww
- Launcher - rofi
- Notification Daemon - dunst
Setup
- 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.
WARNING:
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
.
Single Line Installation
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Battlesquid/dotfiles/main/install.sh)"
Manual Installation
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
Custom Installation
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
.
Miscellaneous
Weather widget
- 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>"
Side Menu Fix (experimental)
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
Credits
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
Contributing
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.