bspwm - xusiai/dotfiles GitHub Wiki

Setup

Install dependencies

Void

xbps-install -Su bspwm alacritty polybar rofi fzf mpc mpd ncmpcpp picom lm_sensors ksuperkey zathura starship dunst feh playerctl mpDris2 vscode neovim

Arch

paru -S bspwm alacritty polybar picom-ibhagwan rofi fzf mpc mpd ncmpcpp lm_sensors ksuperkey zathura starship dunst feh playerctl mpdris2 vscodium neovim

These should suffice but there are dotfiles included for other applications as well so pick and choose what you want to use.

Clone the dotfiles

Grab the files from this commit and place them in your home folder.

Theming other applications

There are a number of SAGA themes available which are not included. A complete list can be found here. Instructions for the more common ones can be found below:

GTK accents

For a complete list of available theme accents click here. To install all of them:

git clone https://github.com/SAGAtheme/GTK.git
cp -r GTK cp -r GTK/themes/. ~/.local/share/themes
cp -r GTK cp -r GTK/icons/. ~/.local/share/themes

Select your preferred theme either in the $HOME/.config/gtk-3.0/settings.inior via something like LxAppearance.

NvChad/Neovim
  1. Install nvchad.
  2. Move the config cp -r $HOME/dotfiles/Nvchad $HOME/.config/nvim/lua/custom.
VScode
  1. Install recommended extensions
  1. Find the VScode folder name in $HOME/.config as it differs depending on your distribution and release.
  2. Download the theme wget https://raw.githubusercontent.com/SAGAtheme/VSCode/master/settings.json
  3. Move settings.json to $HOME/.config/<VSCode folder name>/User/settings.json
Firefox
  1. Open Firefox and enter about:config into the url bar. Search for toolkit.legacyUserProfileCustomizations.stylesheets and double click it to set it to true. If it's not there you can create it.

  2. Clone the theme git clone https://github.com/SAGAtheme/Firefox.git.

  3. Move the chrome folder into your Firefox profile folder. To find it you can enter about:profile into the url bar.

  4. Restart Firefox.

Spotify
  • Requires Spicetify. Follow their instructions to install it. Once done run:
git clone --depth=1 https://github.com/SAGAtheme/Spotify.git $HOME/.config/spicetify/Themes/SAGA
spicetify config current_theme SAGA
spicetify apply

Restart Spotify.

Obsidian
wget https://raw.githubusercontent.com/SAGAtheme/Obsidian/master/SAGA.css
mv SAGA.css <your vault folder>/.obsidian/themes/SAGA.css
Logseq
wget https://raw.githubusercontent.com/SAGAtheme/LOGSEQ/master/custom.css 
mv custom.css <your loseq folder>
Gedit
wget https://raw.githubusercontent.com/SAGAtheme/gedit/master/SAGA.xml
mv SAGA.xml $HOME/.local/share/gedit/styles/

Apply in Gedit preferences.

Keybindings

KEY FUNCTION
MOD + RETURN TERM
MOD + BACKSPACE FIREFOX
MOD + C CLOSE FOCUSED CLIENT
ALT_L + F1 ROFI
MOD + M NCMPCPP
MOD + R ENABLE REDSHIFT
MOD + SHIFT + R DISABLE REDSHIFT

Look in sxhkdrc for the rest. The above should allow you to adjust the setup to your own preferrences. MOD is Mod4 or what is commonly referred to as the Windows key. If you installed ksuperkey pressing mod4 once will open rofi whilst still functioning as the main modifier (requires restarting bspwm or running ksuperkey if you did not reboot after linking the dotfiles).

Additional notes

  • Some bar modules require additional dependencies to work:
    • Pipewire (available but not enabled out of the box) requires pamixer.
    • Update module is configured for Arch. There is a line included for Void Linux but you'll need to uncomment it and replace the Arch script with it in modules.ini. If you're on a different distribution you'll need to adapt it yourself.
    • VPN module requires Mullvad but can be adapted to other providers. See the vpn script included and adapt it to your needs.
    • Menus and VPN modules make use of rofi to some extent. VPN module will still show location in the bar but won't support interactive actions without rofi.
    • GPU modules require an Nvidia card (and the their propriertary drivers).
  • The rofi powermenu uses systemctl. Switch entries to loginctl if you're on a non-systemd-distribution like Void.
  • The included .zshrc depends on the (also included) antigen file to automatically install plugins. Do not use one without the other.
  • If fonts are not rendering make sure you run fc-cache -v.
  • Fonts, GTK theme and icons are included but you will have to switch to them (either via the config file or something like lxappearance). The font I use is a mix of SAGA Heavy and Sarasa Mono.

Acknowledgements

  • Siduck whose dotfiles I've used for inspiration on several occasions ❤️
  • Saimoomedits for the beautiful ncmpcpp config ❤️
  • Manas140 for a few scripts ❤️
  • Elenapan for the rofi-yt script ❤️
⚠️ **GitHub.com Fallback** ⚠️