All Projects → dp12 → dotfiles

dp12 / dotfiles

Licence: other
Configurations for bspwm, zsh, tmux, and more

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Vim Script
2826 projects
rust
11053 projects
KakouneScript
24 projects
GDB
78 projects
SuperCollider
123 projects

dotfiles

Configs for zsh/bash/fish, git, tmux, bspwm, i3, polybar, and vim, plus some "mental" aliases.

Installation

An install.sh script is provided to allow the user to choose what to install and automate the installation. Ubuntu 16.04 is assumed.

Aliases

system_aliases is compatible with zsh, bash, and fish shells. Features handy aliases for commands like ls, cd, emacs, apt-get, and git. Why cd .. when you can .. instead?

bspwm

bspwm I'm currently using bspwm as my tiling window manager of choice, using polybar for displaying CPU, RAM, disk space, battery life, and time. To install the custom bspwm badge (modified mirror image of awesome), copy custom_bspwm_badge.png to /usr/share/unity-greeter. Keybindings configured in sxhkdrc are mostly the same as the i3 equivalents below.

Tmux

Features a novel new keybinding scheme that is extremely quick and doesn't require use of the prefix key. Fast and intuitive pane and window spawn/kill/switching operations are done with ctrl-arrows and shift-arrows, respectively. Even more functions are provided with ctrl-alt combinations, such as window splitting. The prefix key is set to C-t, in order to reduce friction with emacs. Requires tmux 1.9 and the tmux plugin manager in order to support tmux-resurrect and tmux-yank plugins (but you can disable them, if desired).

Keybinding Description
S-up Create new-window.
S-down Kill window.
S-left Previous window.
S-right Next window.
C-up Select pane above.
C-down Select pane below.
C-left Select pane to the left.
C-right Select pane to the right.
C-M-up Restart a pane that is hung.
C-M-down Kill a pane
C-M-left Swap pane left
C-M-right Swap pane right
C-M-\ Split the window into smaller panes vertically.
C-M-] Split the window into smaller panes horizontally.
C-t e Synchronize panes (toggle sending commands to all panes in the current window).
C-t SPC Auto-rearrange the pane configuration.
C-t , Rename current window.
C-t r Reload the .tmux.conf file.

i3 (no longer maintained, see bspwm above)

glowfish Glowfish is a custom i3wm theme with conky and rofi, representing my best efforts to "de-uglify" i3. It is semi-inspired by the daylerees glowfish theme and copies the awesome copycats multicolor theme bar colors. Glowfish features CPU, RAM, disk usage, battery, weather, and date/time, using glyphs supplied by Siji font. All common commands are designed to be issued with two keys (mod4 + a letter). Some features are still in progress. Requires rofi, conky, and tamsyn and Siji fonts to be installed, as well as Droid Sans Mono for Powerline.

For displaying weather on Debian/Ubuntu, run sudo apt-get install weather-utils and add the line id = <your_zipcode> to /etc/weatherrc.

Keybinding Description
mod4+e Launch emacs.
mod4+p Launch rofi (dmenu-like application launcher).
mod4+d Launch dmenu.
mod4+c Close application.
mod4+Shift-r Reload i3 configuration.
mod4+Enter Launch terminator terminal.
mod4+Shift+Enter Launch urxvt terminal.
mod4+Delete Launch system shutdown/reboot/logoff/reload menu (compatible with Ubuntu).
mod4+Shift+x Launch a prettier, but slightly buggy system shutdown/reboot/logoff/reload menu using dzen2 (compatible with Ubuntu).
mod4+Shift+p Lock the desktop with the py3lock script from Airblader.
mod4+Left Move to workspace on the left.
mod4+Right Move to workspace on the right.

Zsh

My zsh configuration uses antibody for package management and powerlevel10k as the prompt. Completion functions are provided through zprezto modules, and zaw is included for helm-like history search with C-r. Clone the zaw repo to ~/.zaw.

Miscellaneous Thoughts

  • After trying xmonad and awesome, I found that while I enjoyed the power of tiling window managers, I had no earthly idea what to do when they broke, which they did often and horribly. The amount of time spent fixing them was just not commensurate to the amount of functionality I was gaining. Then I found i3, a tiling window manager configurable in plain English, which instantly prints out the location of any errors when you load it. It's probably one of the best tiling window managers out there in terms of readability. Most recently, I switched to bspwm, which is more terse, but simple to configure as well.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].