Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
April 3, 2023 02:25
November 20, 2023 11:11
October 28, 2023 00:30
April 2, 2023 01:39
May 7, 2020 00:23
November 29, 2021 23:38
October 25, 2023 23:02
October 12, 2019 17:29
November 10, 2023 19:58
November 6, 2023 20:28
January 15, 2023 19:40
January 18, 2023 13:15
November 29, 2023 15:45
June 21, 2021 17:37
November 20, 2023 10:54
August 24, 2023 12:09
December 1, 2023 17:01
April 2, 2023 16:19



My dotfiles, simple as that.

This repo is a never-ending WIP. It's not meant to be sensible for everybody, or anyone, as YMMV.

Supported platforms

My daily drivers currently are alacritty+zsh+tmux on:

  • Ubuntu 20.04 WSL on Windows 10 (20H2)
  • Ubuntu 20.04 desktop
  • Debian 10 server accessed via mosh connection on iPad
  • occasionally macOS 10.15 (via iTerm2) I gifted the MacBook to my family!

Try it out

Check my workspace project to have a ready to code environment powered by this dotfiles.


First clone the repo to your $HOME.

cd && git clone

Then symlink config you want to use or install them all running zsh all. You can also symlink a specific set of dotfiles by running zsh SET_NAME. Check the script content to know more.

~/.zsh_custom is automatically sourced if it exists. Create it to add any machine-specific non-interactive (doesn't print to sysout) entries. If you need to add interactive scripts, or scripts that output to sysout, please create ~/.zsh_custom_pre. It will be loaded in ~/.zshrc BEFORE Powerlevel10k caching. This is to enable Powerlevel10k instant prompt.

~/bin2 is automatically added to $PATH, if it exists. It is not part of the repo. Create it to add your-own or machine-specific executables.

That's part of it, there is no real how-to actually. For more info just look at the code.

Getting started file will (hopefully) help.



I wrote most of the scripts in the bin folder, with some of them already publicly available as gists. But others come or contain pieces from the web (twitter? google? stackoverflow?). Honestly I can't remember where I got them from, but you should find the original authors in the comments.


Those without pirafrank in their name come from the web, credits go to their creators. I keep them here for the sake of simplicity. I'll try to keep this readme updated to keep them all.


Many of the files and scripts in the bin folder come from some other repos of mine and here are gathered. Although those repositories are publicly available on GitHub, I am going to only maintain them in this repo.

Code in this repo is given away for free, as-is and with NO WARRANTY as per the MIT license.

By the way, if something really blows your mind, I'll be happy if you get in touch with me. I always appreciated feedback!