Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

michelegera’s dotfiles Build Status

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


To set up the dotfiles run the appropriate snippet in the terminal:

(⚠️ DO NOT run the setup snippet if you do not fully understand what it does. Seriously, DON’T!)

bash -c "$(curl -LsS"

That’s it! ✨

The setup process will:


Local Settings

The dotfiles can be easily extended to suit additional local requirements by using the following files:


The ~/.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


The ~/.gitconfig.local file will be automatically included after the configurations from ~/.gitconfig, thus, allowing its content to overwrite or add to the existing Git configurations.

Note: Use ~/.gitconfig.local to store sensitive information such as the Git user credentials, e.g.:


    # Sign commits using GPG.

    gpgSign = true


    name = John Appleseed
    email =
    signingKey = XXXXXXXX


The ~/.vimrc.local file will be automatically sourced after ~/.vimrc, thus allowing its content to add or overwrite the settings from ~/.vimrc.

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 setup script.


To update the dotfiles you can either run the setup script or, if you want to update one particular part, run the appropriate os script.


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.