You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bretello a02fa47017
remove useless file
7 hours ago
ipython/profile_default update ipython config, add to install script 1 week ago
.gitignore add ipython config 5 months ago add dockertags() function 9 months ago
ackrc add .venv to ackrc's ignore 2 weeks ago add poetry aliases 2 weeks ago
amix_vimrc.patch fix vim config for powerline 9 months ago
antibody_plugins.txt zsh: remove git-auto-fetch plugin, disable kubectl by default 1 week ago
antibody_plugins_arch.txt add conditional linux oh-my-zsh plugins loading 9 months ago
brethil-minimal.zsh-theme use antigen+oh-my-zsh for easy plugin maintenance 9 months ago
brethil.zsh-theme fix theme for byobu 9 months ago add pip completions configuration 5 months ago fix update script for antibody 8 months ago change escape char 9 months ago functions: update pipupdate 2 weeks ago
gitconfig add gitconfig, update install script 1 week ago install: move install_vimrc() to setup_vim() 1 week ago
my_configs.vim vim: add .venv directory to ctrlp ignore 1 week ago pdbrc: add style options 5 months ago
twilight256.vim add vim colorscheme twilight256 9 months ago
useful_commands New repo initial commit 3 years ago

brethil’s dotfiles

A set of zsh dotfiles based on antigen and oh-my-zsh


  1. main file sourced by ~/.zshrc
  2. contains alias definitions (sources ~/.dotfiles_aliases)
  3. contains function definitions (sources ~/.dotfiles_functions)
  4. contains color definitions
  5. run to install brethil’s dotfiles


Copy the dotfiles folder to the location where you want to keep it and then run install:

$ cd dotfiles && bash

Installs oh-my-zsh and sources, and, as well as installing a a few utilities (see

A self-update mechanism is included. It asks for confirmation to pull the latest changes from the git repo every two weeks. This also updates the git-sourced repositories installed by the install script. The self-update routine can be called manually by calling dotfiles_selfupdate (defined in

If you do not want to run the installer script, you can just add source in your .zshrc. This requires antigen installed.


  1. antigen (zsh plugin manager) + oh-my-zsh Two zsh themes: brethil and brethil-minimal.

  2. amix’s awesome vimrc ( A quite nice vim rc.

  3. byobu (wrapper/config for tmux, a screen multiplexer)

  4. grc/ccze (output colorizers, color output of any command). Usage:

    $ grc cmd $ cmd | ccze

  5. bmon (bandwidth monitor, shows graphs for bandwith usage)

  6. rmate remote for Textmate (can be called with mate/rmate)

  7. mtr (my traceroute, traceroute+ping network utility)

  8. htop (better top)

Available Functions

  1. cheat, show cheat sheet for commands using (cheat commandname)
  2. Quickly edit/reload profile (esource/resource)
  3. dockertags list all tags for a given docker image
  4. ramdisk (only on OSX) create a RAM disk. Default size: 1GB
    ramdisk 4 creates a 4GB RAM disk
  5. color to print colored text (see 3. in the Misc section):
    color $Red “This will be printed in red” color $Yellow “This will be printed in red”
  6. mecp to copy files back to the machine from wich you are ssh-ing. For this to work an ssh tunnel with Remoteforward is needed: ssh -R 22:localhost:2222 YOURHOSTNAMEHERE or specify this in ~/.ssh/config: Host YOURHOSTNAMEHERE Remoteforward 2222 localhost:22 This can be enabled in ~/.ssh/config globally for all hosts by uncommenting the relevant Host * Remoteforward. You might have to manually edit the username in the mecp definition in if this is different between the two machines. mecp copies by default on the local machine on ~/Desktop/
  7. Many more. Type “list_functions” to list defined functions and a small description


  1. ~/bin, ~/git, ~/projects folders
  2. ssh config (~/.ssh/config):
    • Create ssh keys if not defined already
    • Keep connections alive by increasing timeout time
    • Include multiplexer to allow quick multiple connections to the same host
    • (Optional: Compression, this should allow more responsive shells with slow connections, but will slow things down when copying large files. My suggestion is to have compression enabled on a by-host basis in ~/.ssh/config)
  3. brethil.zsh-theme, brethil-minimal.zsh-themes, themes for oh-my-zsh, symlinked in $ZSH/custom/themes ($ZSH=~/.oh-my-zsh)
  4. ~/.dotfiles_functions, ~/.dotfiles_aliases are sourced by this dotfiles, allowing for custom functions/aliases
  5. useful_commands contains a list of useful commands (the first rule of the tautology club...)


  1. Colored output (via grc) for several commands.

  2. Easy names for ANSI color escapes (Black, Red, Green, Yellow, Blue, Cyan, Purple, White, CLEAR), for example:

    echo -e "${Green}This text will be green${CLEAR}"

will result in green text. Use $CLEAR to clear previous escape sequences add B before the variable (check name to use bold and U to underline (examples: $BRed, $UBlack for bold red and underlined black) 3. Type esc twice to add sudo before the current command (oh-my-zsh’s sudo plugin) 4. Autoupdate script running every two weeks, autoupdate function: dotfiles_selfupdate (or git pull from $DOTFILES folder) 5. Automatic fix of the SSH_AUTH_SOCK enviroment variable: ~/.ssh/rc is installed run on every ssh login, and updates a symlink pointing (~/.ssh/ssh_auth_sock). SSH_AUTH_SOCK points to this (set in The idea is that if the user is logging in using ssh -A, and using tmux, it will be possible to use the remote socket over different sessions by always using the symlink.