3.4 KiB
dotfiles
My all important dotfiles 😁
My environment
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!
Software choices
Here are the softs I decided to install, with a reason why...
- Window managing:
- Window manager: (bspwm)[https://github.com/baskerville/bspwm]. A tiling window manager (I wanted to try it, and chose one rather arbitrarily)
- Desktop bars: are of course with (polybar)[https://github.com/polybar/polybar], a super flexible, fully configurable bar.
- Compositor: (picom)[https://github.com/yshui/picom] handle windows transparency and shadows.
- Basic workflow:
- Terminal emulation: (termite)[https://github.com/thestinger/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)[https://github.com/davatorium/rofi] is a super useful launcher that replaced dmenu for me. I've also installed (rofi-pass)[https://github.com/carnager/rofi-pass] and (rofimoji)[https://github.com/fwd/rofimoij] to improve the efficiency (Cons: rofi-pass and rofimoji are on separate key-bindings at the moment)
- File manager: (lf)[https://github.com/gokcehan/lf] a simple and efficient CLI file manager written in Go.
- Text editing: (vim)[https://github.com/vim/vim] do I need to present it?
- Communication:
- Mail: (mutt)[http://www.mutt.org], 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)[https://profanity-im.github.io], 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)[https://pimutils.org] suite.
- Dav sync with vdirsyncer
- Calendar with khal
- Contacts with khard
- Tasks with todoman
About the repo
I used the method presented on (ArchWiki)[https://wiki.archlinux.org/index.php/Dotfiles], or (here)[https://github.com/jaagr/dots] (originally from (hackernews)[https://news.ycombinator.com/item?id=11070797]) to handle those files.
Setting 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
(setdots 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 https://git.moquuer.chat/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