Skip to content

Shnku/.dot_files

Repository files navigation

.dot_files

This repository is for storing my configuration files, dotfiles, and other custom settings for my Linux desktop environments.
My current setup features Openbox Window Manager on BOSS (Bharat Operating System Solutions) GNU/Linux. But possible to setup each component manually. Checkout the Set-Up guide

License

made for linux built with
debian fedora arch

Dot Files Includes

├── Kvantum : modified sweet-kvantum-theme to use with kvantum-manager
├── code-oss : code-oss/vscodium(vscode) user settings - snippet,shortcuts.
├── code-profile : profiles for vscode - python,latex,web,flutter etc.
├── conky : lightweight system monitor
├── dunst : notification daemon
├── fastfetch : fetching sysinfo
├── hypr : hyperland window manager
├── labwc : wayland equivalent to openbox
├── nvim : neovim custom with lazyvim config
├── openbox : openbox window manager x11
├── others : contains .desktop and debug launch
├── picom : lightweight compositor for x11
├── plank : dock provider, app launcher
├── polybar : status bar (task bar) for x11
├── rofi : app launcher & search
├── shell_conf : contains zsh bash fish shell and starship config
└── waybar : wayland equivalent to polybar

Screenshots

Here is the screenshot showcasing my current desktop environment and setup:

screenshot

Other and Old Screeshots

setup on fedora (polybar-colors.old, plank dock , fastfetch)

old on fedora old setup (polybar different color) first config-old

boss linux cinnamon conky setup (`/conky/boss_linux_conky.conf`)

boss boss

neovim on qterminal fedora (lazyvim)

boss

hyperland setup on garuda linux (waybar)

boss



Setting Up

To use these dotfiles, clone this repo & Copy or Symlinks the configes to desire locations (mainly at ~/.config). All components like polybar, plank, waybar, rofi are independently customized.
Though this setup is Openbox focused. But all of my configs are included here like hyperland labwc wayland. You can pick config files individually and combine them.

git clone https://github.com/Shnku/.dot_files.git
cd .dot_files

LabWC Setup

labwc-session can be also based on lxqt/lxde or xfce based on your choice. Also possible with other distros- fedora(it was my previous setup), debian, arch. Just packages names may varies.

# this packages are must; 
git polybar openbox rofi plank picom dunst fastfetch copyq  conky brightnessctl 

#for wayland plank does not work, no polybar 
# no compositor like picom needed also 
waybar azote

# general purpose xfce/lxqtrelated apps;
qterminal lxpolkit lxqt-powermanagement pcmanfm obconf flameshot exa bat zsh nitrogen

# install them with apt/dnf/pacman/yay
  • waybar as statusbar (panel/top-bar) and **no plank dock works.
  • rofi search works , but also fzf is there
  • for compositing handled by labwc, labwc-tweaks for gui configuration
  • dunst as notification daemon
  • copyq as clipboard
  • conky as desktop system moniter

For needed apps (this apps are mentioned in config, if other alternative used, needs to change them accordingly)...

  • lxpolkit used as policykt agent (it provides root passwd prompt).
  • qterminal as default terminal
  • exa and bat as alternate to ls and cat command
  • zsh as default POSH shell
  • lxqt-powermanagement (default in lxde/lxqt) or xfce4-power-manager can be use in case of laptop.
  • nitrogen not works on wayland use azote

Other general recommendations for full fludge desktop experience ..

  • flameshot as screenshot utility required some extra config for wayland
  • qimgv as image viewer
  • qpdfview as pdf viewer supports tabs
  • qalculate as calculator provider
  • kdeconnect for mobile syncing and sharing.

Important

brightnessctl is required for polybar to change the brightness in laptop.
Nerd font required also.

For theming, (newer system uses qt6 generally)
lxapperance qt5ct qt6ct qt5-style-kvantum qt5-gtk-platformtheme kvantum-qt5 Alternatively you can use xfce4-appearance-settings or other xfce related things.

# Get openbox themes from these links. 
# gtk theme
git clone https://github.com/addy-dclxvi/gtk-theme-collections.git;
mv -v gtk-theme-collections/* ~/.local/share/themes/

Do symlink or do copy the configes to desire locations (mainly at ~/.config).

mkdir -p ~/.config/openbox;
ln -s $PWD/.dot_files/openbox ~/.config/openbox;
mkdir -p ~/.config/waybar;
ln -s $pwd/.dot_files/waybar ~/.config/waybar;
mkdir -p ~/.config/rofi;
ln -s $pwd/.dot_files/rofi ~/.config/rofi;
mkdir -p ~/.config/picom;
ln -s $pwd/.dot_files/picom ~/.config/picom;
mkdir -p ~/.local/share/plank/themes/plank;
ln -s $pwd/.dot_files/plank ~/.local/share/plank/themes/plank; # note
mkdir -p ~/.config/fastfetch;
ln -s $pwd/.dot_files/fastfetch ~/.config/fastfetch;
mkdir -p ~/.config/conky;
ln -s $pwd/.dot_files/conky ~/.config/conky;

Individual Set-ups

Setting up Fonts (Nerd-fonts, icon fonts)

Important

JetBrains used as first font else default to noto sans. Nerd-Font (also fontawesome) required for showing icons.

Manual installation script for nerd-font

mkdir -p ~/.local/share/fonts && cd ~/.local/share/fonts; 
for i in FiraCode Inconsolata Cascedia AnonymousPro JetBrainsMono Hack Iosevka ; do
  curl -OL "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${i}.tar.xz"                                 
done;ls;
for file in *.tar.xz; do                                  
    tar xvf "$file"   
done;ls;
rm *.tar.xz;ls;
fc-cache -fv #update font cache

font-awesome and material design related icon font

#material design icon

sudo dnf install material-icons-fonts #for fedora
sudo apt install fonts-material-design-icons-iconfont #for debian
yay -S ttf-material-design-iconic-font #for Arch

Script for fontawesome manual install as local fonts

cd ~/.local/share/fonts;
latest=$(curl -s https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest | jq -r .tag_name);
echo "\nGetting latest relase: $latest" ;
curl -OL "https://github.com/FortAwesome/Font-Awesome/releases/latest/download/fontawesome-free-${latest}-desktop.zip" ;
unzip fontawesome-free-$latest-desktop.zip;
cd fontawesome-free-$latest-desktop; ls;
mv otfs/* ../ ; cd.. ;
rm *.zip ; rm -rf "fontawesome-free-${latest}-desktop";
fc-cache -fv

zsh fish-like setup with starship

#install oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)";
#install starship custom prompt 
curl -sS https://starship.rs/install.sh | sh;

Install zsh plugins autocomplete (some available in dnf,apt, all in arch repo), autosuggation,zsh-syntax-highlighting, history search substring .

git clone https://github.com/zsh-users/zsh-completions.git \
  ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions;
fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src;
autoload -U compinit && compinit;
source "$ZSH/oh-my-zsh.sh";
#autosuggation .. aval via dnf
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions;
#history substring search
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search;

Now, copy or symlink
plugins preactivated in .zshrc. and starship is preconfigured

ln -s $(pwd)/shell_conf/.zshrc ~/.zshrc; 
ln -s $(pwd)/shell_conf/starship.toml ~/.config/starship.toml;

or, do copy..

cp -v $(pwd)/shell_conf/.zshrc ~/.zshrc; 
cp -v $(pwd)/shell_conf/starship.toml ~/.config/starship.toml;

Note

starship and fish, bash is configured on garuda linux(Arch). also in .rc files config aliases are may varies on system-wise


Essential for setting Qt-themes

qt themes can't be sated via lxapperance.
to do so add this to ~/.profile

# Choose accordingly qt6ct/qt5ct to use. 
echo "export QT_QPA_PLATFORMTHEME=qt6ct" >> ~/.profile

Note

openbox session stores environment variables at .config/openbox/environment
Need to change there. This maybe same for other desktop-sessions.


Touchpad Input Gesture fix

Tap to click not work even if selected via lxqt-mouse settings ... so need to do this :

Not needed in wayland