My current dwm build and my daily driver. For readme and installation, visit it's repo.
Here's the config.
MacOS inspired Openbox™ rice. Reddit post.
My daily driver before chastity using BerryWM. Reddit post.
Made using 2bWM. Reddit post.
2bwm is doesnt seem to be very power efficient so not recommended.
| Type | Software/Packages |
|---|---|
| terminal | st |
| shell | zsh zsh-syntax-highlighting |
| editor | neovim |
| file manager | lf bat ueberzug |
| window manager | openbox obconf lxappearance xorg-server xorg-xinit |
| app launcher | rofi |
| bar, dock | polybar plank |
| browser | firefox |
| image viewer | nsxiv |
| document reader | sioyek |
| video player | mpv |
| music | mpd ncmpcpp |
| torrent | transmission tremc |
| font management | gucharmap |
$HOME
├── .config
├── .local
│ ├── share
│ │ ├── fonts
│ │ ├── icons # ~/.icons is linked to here
│ │ ├── themes # ~/.themes is linked to here
│ │ └── music
│ │ ├── playlists
│ │ └── lyrics
│ ├── scripts # shell scripts
│ └── bin # local binaries
├── code
├── dlds
├── dox
│ └── quotes # quote script fetches from here
├── mus
│ ├── **/*.mp3
│ └── dlmus # download music script
├── pix
│ ├── scrots # screenshots
│ └── assets
│ └── icons # icons for notifications
└── vids
└── watch_later # watchvid script downloads here using yt-dlpRead through ~/.config/openbox/rc.xml for more shortcuts.
| Keybind | Function |
|---|---|
MOD + Enter |
Launch terminal (st) |
MOD + Q |
Close window |
MOD + {H,J,K,L} |
Move the window to {Left, Down, Up, Right} |
MOD + Shift + {H,J,K,L} |
Resize the window |
MOD + Shift + F |
Monocle a window |
MOD + F |
Fullscreen a window |
MOD + P |
Open app launcher |
MOD + S |
List out the useful scripts in ~/.local/scipts/ in rofi |
MOD + Shift + S |
Take Screenshot (using maim and slop) |
MOD + R |
Open lf (terminal file manager) |
Note: MOD is the windows key
I am working on a script, but till it's done, you'll have to follow the steps manually. Create an issue if you encounter a problem.
This command is for arch. You'll have to search the corresponding package names yourself for the package manager you use.
paru -S zsh zsh-syntax-highlighting neovim lf bat xorg-server xorg-xauth xorg-xinit openbox obconf lxappearance ueberzug redshift rofi firefox nsxiv sioyek mpv mpd ncmpcpp transmission-cli tremc-git gucharmap polybar plank xorg-xset xorg-xrdb xorg-xsetroot xorg-setxkbmap xclip maim slop dunst libnotify imagemagick xcolor xdo xdotool wmctrl light pamixer pulsemixer stow ffmpeg ffmpegthumbnailer cronieSearch for packages in your package manager.
$ apt search "<string you want to query>"
$ xbps-query -Rs "<string you want to query>"
$ pacman -Ss "<string you want to query>"Clone the repo into ~/.local/repos/. Change this directory to your liking, but make sure it is somewhere organised.
mkdir -p ~/.local/repos
cd ~/.local/repos
git clone https://github.com/savar95x/dotfiles
cd dotfilesThis will backup conflicting configs and symlink my dots instead.
./linkdots.shImportant
Build and install at least the Terminal, rest are optional
Terminal (st)
git clone https://github.com/savar95x/st
cd st
./compilest
cd ..auto-cpufreq
git clone https://github.com/AdnanHodzic/auto-cpufreq
cd auto-cpufreq
./auto-cpufreq-installer
cd ..yt-dlp
curl -LO https://github.com/yt-dlp/yt-dlp/releases/download/2024.12.23/yt-dlp
chmod +x ./yt-dlp
mv yt-dlp ~/.local/bin/spotdl (in a virtual env)
python -m venv ~/.local/venv
~/.local/venv/bin/python -m pip install --upgrade pip
~/.local/venv/bin/pip install spotdlgotop
curl -LO https://github.com/cjbassi/gotop/releases/download/3.0.0/gotop_3.0.0_linux_amd64.tgz
tar xvf gotop_3.0.0_linux_amd64.tgz
chmod +x ./gotop
mv gotop ~/.local/bin/
rm gotop_3.0.0_linux_amd64.tgzmore
sudo pacman -S hugo syncthing zedNote
Ignore this if you use user-friendly distros
sudo pacman -S xf86-input-libinput mesa vulkan-intel intel-media-driversudo pacman -S pipewire wireplumber bluez bluez-utils sof-firmwaremkdir -p ~/.local/share/themes
ln -s ~/.local/share/themes ~/.themes
mkdir -p ~/.local/share/icons
ln -s ~/.local/share/icons ~/.icons
mkdir -p ~/.local/share/fontsIcon pack is Numix circle. Clone this into ~/.icons/
GTK theme is Gruvbox Material. Clone this into ~/.theme/
Cursor is Simp1e. Extract and copy this into ~/.icons/ as well.
Once copied, you can set these using lxappearance.
Openbox theme is mine. cd into dotfiles/.
cp -r .assets/chastity/gruvopenbox ~/.themes/gruvboxSet it using obconf.
The fonts I use are Schibsted Grotesk, Inter, and Fragment Mono. Polybar icons are from nerd fonts symbols and font awesome. Make sure their files (.ttf or .otf) are extracted (somewhere) in ~/.local/share/fonts/
Run this once after extracting fonts
fc-cache -fvcd into the dotfiles/ directory.
mkdir -p ~/pix/assets
cp -r .assets/icons ~/pix/assets/iconsThis directory has been hardcoded for now, I am yet to update the scripts to use $XDG_PICTURES_DIR instead of ~/pix.
You can of course change them yourself if you'd like.
Enable cronie.
sudo systemctl enable cronieType crontab -e in the command-line and add the following line
# periodic notifications
30 * * * * ~/.local/scripts/health
0 */2 * * * ~/.local/scripts/quoteFor cron to be able send notifications, it needs the active session's dbus ID, which has been taken care of by producing ~/.dbus/Xdbus while logging into openbox ;)
ln -s ~/.config/zsh/rc ~/.zshrc
ln -s ~/.config/zsh/profile ~/.zprofile
chsh -s /usr/bin/zshCaution
If your system somehow manages audio, you might consider commenting the audio_server.sh command in ~/.zprofile
If you do not use a display manager, openbox should launch itself when you login from tty1 with zsh as the default shell.
If it doesn't, something might be wrong, check if you linked .zprofile.
You can try doing this though
[ -f ~/.xinitrc ] && mv ~/.xinitrc ~/.config.bak/
ln -s ~/.config/x11/openbox ~/.xinitrcThen run
startxtodo for myself
push transmission-daemon and redshift config from older laptop
also, backup the hugo precompile directory somehow


















