Compatible with GNU/linux and macos, it tweaks bash and zsh and adds aliases. I try to keep aliases shell/OS agnostic. Tweaks configuration of Emacs and Vim.
Warning: If you want to give these dotfiles a try, you should first fork this repository, review the code, and remove things you don’t want or need. Use at your own risk!
While it does install zsh plugins, it does not change your default shell. (Use chsh -s /usr/bin/zsh) Powerline fonts are also installed with the bootstrap script
You can clone the repository wherever you want. The bootstrapper script will pull in the latest version and copy the files to your home folder.
git clone https://github.com/alpha14/dotfiles.git && cd dotfiles && source bootstrap.shTo update, cd into your local dotfiles repository and then:
source bootstrap.shTo update later on, just run that command again.
If ~/.personal or ~/.extra exists, they 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 ~/.personal looks something like this:
# Git credentials
# Not in the repository, to prevent people from accidentally committing under my name
export GIT_AUTHOR_NAME="John Doe"
export GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
export GIT_AUTHOR_EMAIL="john.doe@example.com"
export GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
# Optional, specify which ssh keys to import (instead of loading all of them)
# export SSH_KEYS=('mykey 1' 'mykey 2')You could also use ~/.personal or ~/.extra to override settings, functions and aliases from the dotfiles repository.
My extra contains work related aliases.
Please read carefully the .exports file, you can modifiy the EDITOR (emacs by default) and the LANG there
For every repos located in ~/dev/work, I have an additionnal git config located in ~/.gitconfig-work that looks like this:
[user]
name = John Doe
email = john.doe@work.example.com
If you have the keychain utility, you can set the SSH_KEYS variable containing a list of keys you want to autoload. Otherwise, every ssh key in ~/.ssh will be loaded in the ssh-agent
Automate requirements installation
Remove too specific commands/aliases
Suggestions/improvements welcome!
- [Mathias Bynens] and his dotfiles repository
- [Atomantic] and his dotfiles repository