Clean and Blue BSPWM setup
Cerulean is a minimalistic Linux setup for Pop! OS using various shades of blue. This setup uses BSPWM as the tiling window manager.
Love the content? Help me reach my goal of upgrading my laptop integrated GPU; any amount helps :)
Or consider supporting me on these platforms:
NOTE: This guide uses ~/Downloads
as the default path for cloning repos
Update your repositories:
sudo apt update
Upgrade your system:
sudo apt upgrade
Install bspwm:
Install required dependencies (vim included):
sudo apt install build-essential git vim xcb libxcb-util0-dev libxcb-ewmh-dev libxcb-randr0-dev libxcb-icccm4-dev libxcb-keysyms1-dev libxcb-xinerama0-dev libasound2-dev libxcb-xtest0-dev libxcb-shape0-dev libuv1-dev
Clone the repository:
cd ~/Downloads
git clone https://github.com/baskerville/bspwm.git
Compile and install bspwm:
cd bspwm
make
sudo make install
Copy bspwm configuration files:
mkdir ~/.config/bspwm
cp examples/bspwmrc ~/.config/bspwm
chmod +x ~/.config/bspwm/bspwmrc
cd ..
OPTIONAL: Configure bspwmrc to your liking
vim ~/.config/bspwm/bspwmrc
Install sxhkd:
Clone the repository:
git clone https://github.com/baskerville/sxhkd.git
Compile and install sxhkd:
cd sxhkd
make
sudo make install
Copy sxhkd configuration files:
mkdir ~/.config/sxhkd
cp ../bspwm/examples/sxhkdrc ~/.config/sxhkd
cd ..
OPTIONAL: Configure the keybind in sxhkdrc to your liking:
vim ~/.config/sxhkd/sxhkdrc
NOTE: Make sure the terminal emulator used in the config file is installed as the terminal will be the only way we can interact with bspwm upon startup after a fresh installation
Install Polybar:
Install required dependencies:
sudo apt install cmake cmake-data pkg-config python3-sphinx libcairo2-dev libxcb1-dev libxcb-util0-dev libxcb-randr0-dev libxcb-composite0-dev python3-xcbgen xcb-proto libxcb-image0-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-xkb-dev libxcb-xrm-dev libxcb-cursor-dev libasound2-dev libpulse-dev libjsoncpp-dev libmpdclient-dev libcurl4-openssl-dev libnl-genl-3-dev
Clone the repository:
git clone --recursive https://github.com/polybar/polybar
Compile and install Polybar:
cd polybar
mkdir build
cd build
cmake ..
make -j$(nproc)
sudo make install
Install Picom:
Install required dependencies:
sudo apt install meson libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre2-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev libxcb-glx0-dev
Clone the repository:
git clone https://github.com/ibhagwan/picom.git
Build (with Ninja):
cd picom
git submodule update --init --recursive
meson --buildtype=release . build
ninja -C build
Install Picom:
sudo ninja -C build install
cd ..
NOTE: Default installation path is /usr/local
, use this to change the install prefix:
meson configure -Dprefix=<path> build
Install Rofi:
Install required dependencies:
sudo apt install bison flex libstartup-notification0-dev check autotools-dev libpango1.0-dev librsvg2-bin librsvg2-dev libcairo2-dev libglib2.0-dev libxkbcommon-dev libxkbcommon-x11-dev libjpeg-dev
Get necessary releases:
cd ~/Downloads
wget https://github.com/davatorium/rofi/releases/download/1.5.4/rofi-1.5.4.tar.gz
wget https://github.com/libcheck/check/releases/download/0.15.1/check-0.15.1.tar.gz
tar -xvzf rofi-1.5.4.tar.gz
tar -xvzf check-0.15.1.tar.gz
Build check:
cd check-0.15.1
./configure
make
make check
Install check:
sudo make insttar -xvzfall
cd ..
Build rofi:
cd rofi
mkdir build && cd build
../configure
make
Install rofi:
sudo make install
Enable and use rofi:
vim ~/.config/sxhkd/sxhkdrc
Change dmenu to:
rofi -modi run,drun,window -show drun -show-icons -sidebar-mode
Install spotify:
curl -sS https://download.spotify.com/debian/pubkey_0D811D58.gpg | sudo apt-key add -
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
sudo apt update && sudo apt install spotify-client
Install spicetify:
Install spicetify:
curl -fsSL https://raw.githubusercontent.com/khanhas/spicetify-cli/master/install.sh | sh
sudo chmod a+wr /usr/share/spotify
sudo chmod a+wr /usr/share/spotify/Apps -R
Launch Spotify using spicetify:
spicetify
spicetify backup apply enable-devtool
spicetify update
Theming:
cd ~/Downloads
git clone https://github.com/morpheusthewhite/spicetify-themes.git
cd spicetify-themes
cp -r * ~/spicetify-cli/Themes
cd ~/spicetify-cli/Themes/Dribbblish/
cp dribbblish.js ../../Extensions
spicetify config extensions dribbblish.js
spicetify config current_theme Dribbblish color_scheme nord-dark
spicetify config inject_css 1 replace_colors 1 overwrite_assets 1
spicetify apply
Install alacritty:
Install alacritty:
sudo apt install alacritty
Clone the repo:
cd ~/Downloads
git clone https://github.com/VaughnValle/blue-sky.git
Apply alacritty theme:
mkdir ~/.config/alacritty
cp blue-sky/alacritty/alacritty.yml ~/.config/alacritty/
NOTE: If you get the error: GLSL 3.30 is not supported
error, do this:
vim /usr/share/applications/com.alacritty.Alacritty.desktop
and change Exec=alacritty
to Exec=bash -c "LIBGL_ALWAYS_SOFTWARE=1 alacritty"
Apply the desktop wallpaper:
sudo apt install feh
echo 'feh --bg-fill $HOME/Downloads/blue-sky/wallpapers/blue3.png' >> ~/.config/bspwm/bspwmrc
Configure polybar:
mkdir ~/.config/polybar
cd ~/Downloads/blue-sky/polybar
cp * -r ~/.config/polybar
echo '~/.config/polybar/./launch.sh' >> ~/.config/bspwm/bspwmrc
cd fonts
sudo cp * /usr/share/fonts/truetype/
Install Oh My ZSH!:
sudo apt install zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)
Install Powerlevel10k:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Theme vim:
mkdir -p ~/.vim/colors
cd ~/Downloads
cp blue-sky/nord.vim ~/.vim/colors
git clone https://github.com/vim-airline/vim-airline.git
cd vim-airline
cp * -r ~/.vim
cd ~/Downloads
git clone https://github.com/vim-airline/vim-airline-themes.git
cd vim-airline-themes
cp * -r ~/.vim
echo 'colorscheme nord' >> ~/.vimrc
echo let g:airline_theme=\'base16\' >> ~/.vimrc
Theme rofi:
mkdir -p ~/.config/rofi/themes
cp ~/Downloads/blue-sky/nord.rasi ~/.config/rofi/themes
rofi-theme-selector #preview the "nord theme" with Enter and apply it with Alt+a
# modify keybindings
vim ~/.config/sxhkd/sxhkdrc
# replace dmenu with rofi -show drun
Install slim and slimlock:
Installation slim and slimlock:
sudo apt install slim libpam0g-dev libxrandr-dev libfreetype6-dev libimlib2-dev libxft-dev
sudo dpkg-reconfigure gdm3 #select slim
NOTE: If you get fatal error: ft2build.h:
do:
sudo vim /usr/include/X11/Xft/Xft.h
Change line 39: to #include <freetype2/ft2build.h>" <truncated>
and do:
sudo cp /usr/include/freetype2/freetype /usr/include
Then run:
sudo make
sudo make install
cd ..
Theming:
cd ~/Downloads/blue-sky
sudo cp slim.conf /etc && sudo cp slimlock.conf /etc
sudo cp default /usr/share/slim/themes