My all important dotfiles 😁
Working with bspwm, termite, polybar, rofi, picom, text editing with vim and mailing with mutt (mbsync + mutt + msmtp). I take no to little credit to those files, as they are mainly bits and bobs from around the internet. I try to give credit as much as I can to where I found it.
Feel free to rip away at your turn!
Here are the softs I decided to install, with a reason why...
- Window managing:
- Window manager: bspwm. A tiling window manager (I wanted to try it, and chose one rather arbitrarily)
- Desktop bars: are of course with polybar, a super flexible, fully configurable bar.
- Compositor: picom handle windows transparency and shadows.
- Basic workflow:
- Terminal emulation: termite. Great terminal emulator, I chose it for two main reasons, emoji support (😅) and a selection mode à la vim. My original choice was rxvt-unicode but it does not support full unicode... (Cons: haven’t found a way to simply manage color themes yet)
- App launcher: rofi is a super useful launcher that replaced dmenu for me. I’ve also installed rofi-pass and rofimoji to improve the efficiency (Cons: rofi-pass and rofimoji are on separate key-bindings at the moment)
- File manager: lf a simple and efficient CLI file manager written in Go.
- Text editing: vim do I need to present it?
- Mail: mutt, a CLI mail client. It’s kinda long to configure and having just the email text can seem strange, butit’s super-configurable and lightweight.
- XMPP: profanity, a CLI XMPP client. I like that it’s one of the rare client that lets you really tweak all the settings you want (resource name, priority, encryption...)
- PIM (personal information management): I basically installed the pimutils suite.
- Dav sync with vdirsyncer
- Calendar with khal
- Contacts with khard
- Tasks with todoman
About the repo
I used the method presented on ArchWiki, or here (originally from hackernews) to handle those files.
alias dots=git --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME', and initializing
git init --bare $HOME/.dotfiles.git you are able to simply:
- check which dotfiles are tracked with
dots status (set
dots config status.showUntrackedFiles no to unclutter the output).
- add (or update) dotfiles with
dots add (--update) ..., commit (
dots commit -m "...") and push (
dots push) your dotfiles.
- check untracked files with
dots status -u .
- replicate (!) your setup with
git clone --recursive --separate-git-dir=$HOME/.dotfiles.git firstname.lastname@example.org:etienne/dotfiles.git /tmp/dots
rsync -rvl --exclude ".git" /tmp/dots/ $HOME/
rm -r /tmp/dots
dots submodule update --init --recursive $HOME/
A final word (and a note to self)
Ricing a desktop is looooooooong
do bear that in mind