Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


After having my homedirs in subversion for years, moved this collection to Git in 2014 and standardised over all my machines.

To install:

mkdir ~/.dot
cd ~/.dot
clone <url>
cd dotfiles    # this takes you to the freshly cloned ~/.dot/dotfiles
sh  # follow the instructions and install the files in the homedir

Dependency on fzf and ripgrep rg

Both the shell configuration and vim make use of fzf. fzf is a general-purpose command-line fuzzy finder and helps one 'grep' really fast through filenames. It's an alternative for the well-known find. Install it by cloning the repository and running the install script (check the Installation notes too).

ripgrep, rg is a line-oriented search tool that recursively searches your current directory for a regex pattern while respecting your gitignore rules. Basically, a really fast (and clever) grep.

If your distribution does not provide a package, get yours from the releases page (there's a .deb for 64-bit systems).

vim config

The .vimrc has a lot going on. Find out more about my tweaks and use :Maps in vim itself to see key mappings

vim uses both fzf and rg, and also really likes having ctags (Exuberant Ctags) available.

Fix for shift+F6 in tmux (and screen probably)

In tmux, do infocmp > screen-256color. Add the line kf16=\E[17;2~, and compile the file with tic. This will result in ~/.terminfo/s/screen-256color with the correct keycode for shift+F6. .tmux.conf needs the line setw -g xterm-keys on for it to register correctly.

~/.git_repos config file

The update_repos script takes the ~/.git_repos config file and lets you update and clone your projects automatically (or at least in a batch). In the example the first four repos are located in ~/workspace/projects/github, and the other two in workspace/projects/others and workspace/projects/private respectively; then the workspace and group are empty, so mydocs is cloned into the homedir. At the moment, only paths relative to the user's homedir are supported.




# Homedir as workspace:

Interesting scripts

./bin/ description
calibre_update Update (or install) ebook manager Calibre
clean_mac_files Remove those DS_Store and other dirs
clean_project Remove compiled Python files, vim swp files
clean_pyc Remove compiled Python files
fixpermissions chmod dirs to 755, files to 644
fixpictimestamps Change file ctime to datetime from EXIF using exiftool
fontupdate Update nerd-fonts; whole repo on server, link font files to ~/.local/share/fonts
fuz Simple note-taking 'app' based on FZF and vim
git_autosave Simple script to call from crontab or something to commit certain files in Git and push
git_clean Clean the Git tree
sorter Sort files in newly created subdirectories, based on pre- or postfixes
update_repos Update a bunch of Git repos at once, like all your project. Config with ~/.git_repos


There's no place like ~/



No releases published


No packages published
You can’t perform that action at this time.