dotfiles for Bash (Linux) / ZSH (Linux) / Git Bash (Windows) / Cygwin (Windows) / Bash on Ubuntu on Windows
Shell Vim script Python Perl Roff Makefile Other
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 685 commits ahead, 185 commits behind mathiasbynens:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.config/fontconfig
.fonts
.git-templates/hooks
.redpill
.vim
bin
examples
.IGNORE
.ackrc
.aliases
.bash_complete
.bash_logout
.bash_profile
.bashrc
.colordiffrc
.colors
.config_dotfiles_default
.curlrc
.dircolors
.dotfilecheck
.editorconfig
.exports
.functions
.gdbinit
.gemrc
.gitattributes
.gitconfig
.gitignore
.gitignore_global
.gitmessage
.global_gitignore
.gvimrc
.hgignore
.hushlogin
.icons
.inputrc
.irbrc
.load
.macos
.minttyrc
.osx
.screenrc
.shellrc
.tmux.conf
.travis.yml
.vimrc
.vimrc.bundles
.wgetrc
.xbindkeysrc
.zprofile
.zshrc
LICENSE-MIT.txt
README.md
bootstrap.sh
firstInstallCygwin.sh
firstInstallDebianBased.sh

README.md

dotfiles for Bash / ZSH / Git Bash (Windows) / Cygwin (Windows) / Bash on Ubuntu on Windows

--> Screenshots & Screencasts

Installation

Using Git and the bootstrap script

You can clone the repository wherever you want. (I like to keep it in ~/Projects/dotfiles, with ~/dotfiles as a symlink.) The bootstrapper script will pull in the latest version and copy the files to your home folder.

# get the code
cd ~ ; git clone https://github.com/voku/dotfiles.git; cd dotfiles

# only for Debian based e.g. Ubuntu, Lubuntu, Kubuntu etc.
./firstInstallDebianBased.sh

# only for Cygwin (Windows)
./firstInstallCygwin.sh

# copy the dotfiles into your home directory
./bootstrap.sh

To update, cd into your local dotfiles repository and then:

./bootstrap.sh

Add custom commands without creating a new fork

If ~/.config_dotfiles does not exists, the "bootstrap.sh"-script will create a default config for you.

My ~/.config_dotfiles looks something like this:

#!/bin/sh

CONFIG_DEFAULT_USER="lars"
CONFIG_ZSH_PLUGINS="(git zsh-completions zsh-syntax-highlighting)"
CONFIG_BASH_PLUGINS="(git)"
CONFIG_ZSH_THEME="voku"
CONFIG_BASH_THEME="voku"
CONFIG_CHARSET_UTF8=true
CONFIG_LANG="en_US"
CONFIG_TERM_LOCAL="" # terms: screen byobu tmux
CONFIG_TERM_SSH=""

If ~/.extra exists, it will be sourced along with the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you don’t want to commit to a public repository.

My ~/.extra looks something like this:

#!/bin/sh

export DOTFILESSRCDIR="/home/lmoelleken/dotfiles/"

GIT_AUTHOR_NAME="Lars Moelleken"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
git config --file=$HOME/.gitconfig.extra user.name "$GIT_AUTHOR_NAME"

GIT_AUTHOR_EMAIL="lars@moelleken.org"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
git config --file=$HOME/.gitconfig.extra user.email "$GIT_AUTHOR_EMAIL"

git config --file=$HOME/.gitconfig.extra push.default simple

You could also use ~/.extra to override settings, functions and aliases from my dotfiles repository. It’s probably better to fork this repository instead, though. And you can use ~/.vimrc.extra to edit the vim settings without touching the main configuration.

Feedback

Suggestions/improvements welcome!

Thanks to…