Skip to content

Battlesquid/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


My personal dotfiles managed with chezmoi.


Details

Setup

  • These setup steps use paru. The single line installation will add paru 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

  1. Grab an OpenWeather API key. Also determine the city you would like to use.
  2. Create a secrets file with:
touch ~/.config/eww/fool_moon/scripts/secrets
  1. 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:

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.