beyond9thousand / dotfiles

Opinionated BSPWM setup
253 stars 11 forks source link
animation archlinux bspwm dotfiles eww polybar rice rofi unixporn
[![Github stargazers](https://img.shields.io/github/stars/beyond9thousand/dotfiles?color=e3b341&label=Stargazers&logo=github)](https://github.com/beyond9thousand/dotfiles/stargazers)   [![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/beyond9thousand/dotfiles?color=79dcaa&label=Last%20commit&logo=git&logoColor=ffffff)](https://github.com/beyond9thousand/dotfiles/commits/master)   [![GitHub open issues](https://img.shields.io/github/issues/beyond9thousand/dotfiles?color=e05f65&label=Issues&logo=flatpak&logoColor=ffffff)](https://github.com/beyond9thousand/dotfiles/issues)   [![Discord](https://img.shields.io/discord/892782865727750144?label=Discord&color=5865f2&logo=discord&logoColor=white)](https://discord.gg/wtNzY6U7GK)   [![GitHub forks](https://img.shields.io/github/forks/beyond9thousand/dotfiles?style=social)](https://github.com/beyond9thousand/dotfiles/network/members)

beyond9thousand dotfiles

You are expected to have a basic understanding of the unix system. If you are new to linux, please visit here or look for similar resources online. Do NOT proceed

:pencil: Information

My configuration is personalized to utilize keyboard shortcuts as well as mouse actions to keep my workflow meaningful and flexible under varying conditions.

Before proceeding - This readme is still a work in progress. Please open an issue for queries beyond its scope - All the visual config parameters have been written for a [resolution](https://wiki.archlinux.org/title/Xrandr) of 1920x1080 pixels - Non GUI apps will need to be configured manually to be correctly displayed in lower/higher resolutions - Please read the [man-page](https://wiki.archlinux.org/title/Man_page) for an app before asking specific questions not addressed here

:mag: Specifications

Feature Package
Window Manager bspwm
Compositor pijulius/picom
Terminal alacritty
Shell zsh
Editor neovim
Panel eww
System Tray stalonetray
Dock plank
Notification Manager dunst
Application Launcher rofi
Application Menu jgmenu

:camera: Showcase

##### Tokyo Night Colorscheme Tokyo night colorscheme ported from [zatchheems](https://github.com/zatchheems/tokyo-night-alacritty-theme) for alacritty ##### Application Launcher A slightly modified version of the fancy rofi app launcher found on [siduck's repo](https://github.com/siduck/chadwm/tree/main/rofi) ##### Right-click Application Menu
The menu is spawned with the help of [xqp](https://github.com/baskerville/xqp) (or X Query Pointer) which prints the ID of the window under the pointer. This is used to check if RMB is being triggered on an empty space, which then calls `jgmenu` to spawn out from the position of the pointer. This method works most accurately since it allows you to spawn the application menu even if your current desktop is occupied (assuming you have gaps between windows)
##### Notifications Dunst for a simple notification daemon. ##### Drop-down Systray
Stalonetray is run at bootup and hid right after using [xdo](https://github.com/baskerville/xdo). [`system_tray.zsh`](https://github.com/beyond9thousand/dotfiles/blob/master/.config/eww/shell/system_tray.zsh) is integrated into the eww bar to hide or unhide the tray icons on demand.

:ab: Fonts

Font List Use
Roboto Primary Font
JetBrainsMono Nerd Font Primary UI Font
Font Awesome Primary Icon Font
Phoshphor Icons Secondary Icon Font

:gear: Configuration

Create a backup of your dotfiles (if any). Take a look at this article for a more long term solution, thank me later. Now clone this repository and symlink the respective files.

git clone --depth 1 https://github.com/beyond9thousand/dotfiles $HOME/Downloads/b9k_dotfiles
ln -s $HOME/Downloads/b9k_dotfiles/.config/* $HOME/.config/

Mark binaries as executable

chmod u+x $HOME/.bin/* $HOME/.local/bin/*

Install the fonts mentioned in the previous section.

:pushpin: Dependencies

Environment Variables

Copy the .profile to your $HOME directory to set the correct environment variables at startup

Optional - Copy the [`zshrc-personal`](https://github.com/beyond9thousand/dotfiles/blob/bspwm/.config/zsh/zshrc-personal) to use my aliases - Install [zinit](https://github.com/zdharma-continuum/zinit) as a plugin manager for zsh

Packages

:warning: The following instructions have only been written for arch-based distros Install an AUR helper of your choice

yay -S --needed \
sxhkd bspwm alacritty zsh neovim stalonetray \
plank dunst rofi jgmenu xprintidle i3lock-color zathura \
broot fzf mpv neofetch ranger ueberzug xdo perl cava \
xbanish xss-lock pavucontrol nitrogen flameshot exa bat copyq \
maim ant-dracula-kvantum-theme-git ant-dracula-theme-git \
papirus-icon-theme kvantum pacman-contrib xorg-xbacklight \
imagemagick

Miscellaneous

:rotating_light: Troubleshooting

Topics mentioned in this section may not necessarily be relevant to the ricing setup. It includes obscure erros that I have run into in my time using linux.

Backlight

To allow users in the video group to change the brightness, a udev rule such as the following can be used:

#/etc/udev/rules.d/backlight.rules
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video $sys$devpath/brightness", RUN+="/bin/chmod g+w $sys$devpath/brightness"

:sparkles: Credits