These are the base dotfiles that I start with when I set up a new environment.
For more specific local needs I use the
*.local files described in the
Local Settings section.
Table of Contents
🔧Setup 🎛Customize ↕️Update 🥇Acknowledgements ⚖️License
To set up the dotfiles run the appropriate snippet in the terminal:
setup snippet if you do not fully understand
what it does. Seriously, DON’T!)
bash -c "$(curl -LsS https://setup.dotfiles.michelegera.dev)"
The setup process will:
- Download the dotfiles on your computer (by default it will suggest
- Create some additional directories
- Symlink the Git, prefs, and shell files
- Install applications and command-line tools
- Set custom preferences preferences
The dotfiles can be easily extended to suit additional local requirements by using the following files:
~/.fishconfig.local file will be automatically sourced after the standard
Fish configuration, thus, allowing its content to add to or overwrite
the existing aliases, settings,
PATH, environment variables etc.
Here is an example:
# Set local aliases. alias g="git" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Set environment variables. set -x NPMJS_AUTH_TOKEN xxxxxxxx
~/.gitconfig.local file will be automatically included after the
~/.gitconfig, thus, allowing its content to overwrite or
add to the existing Git configurations.
~/.gitconfig.local to store sensitive information such as the
Git user credentials, e.g.:
[commit] # Sign commits using GPG. # https://help.github.com/articles/signing-commits-using-gpg/ gpgSign = true [user] name = John Appleseed email = email@example.com signingKey = XXXXXXXX
~/.vimrc.local file will be automatically sourced after
allowing its content to add or overwrite the settings from
Here is an example:
" Disable arrow keys in insert mode. inoremap <Down> <ESC>:echoe "Use j"<CR> inoremap <Left> <ESC>:echoe "Use h"<CR> inoremap <Right> <ESC>:echoe "Use l"<CR> inoremap <Up> <ESC>:echoe "Use k"<CR> " Disable arrow keys in normal mode. nnoremap <Down> :echoe "Use j"<CR> nnoremap <Left> :echoe "Use h"<CR> nnoremap <Right> :echoe "Use l"<CR> nnoremap <Up> :echoe "Use k"<CR>
If you decide to fork this project, do not forget to substitute my username
with your own in the
Inspiration and code was taken from many sources, but mainly Cătălin Mariș’ dotfiles. Thank you for your amazing work!
The code is available under the MIT license.