Skip to content

michelegera/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Before getting started

Some commands (e.g. defaults write) won’t work unless the terminal has full disk access. To grant full disk access to the terminal, go to System Settings > Privacy & Security > Full Disk Access and add the terminal to the list of apps.

Setup

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 https://setup.dotfiles.michelegera.dev)"

That’s it! ✨

The setup process will:

Customize

Local Settings

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

~/.fishconfig.local

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

~/.gitconfig.local

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.:

[commit]

    # Sign commits using GPG.
    # https://help.github.com/articles/signing-commits-using-gpg/

    gpgSign = true

[user]

    name = John Appleseed
    email = john.appleseed@apple.com
    signingKey = XXXXXXXX

Set up GPG signing for Git commits

First, make sure permissions are set correctly on the .gnupg directory:

chmod -R go= ~/.gnupg/

Next, import your private GPG key:

gpg --import <key-file>

Finally, set user.signingKey in ~/.gitconfig.local to the short id of your key. You can find it by running:

gpg --list-secret-keys --keyid-format SHORT

Forks

If you decide to fork this project, do not forget to substitute my username with your own in the setup script.

Update

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.

Acknowledgements

Inspiration and code was taken from many sources, but mainly Cătălin Mariș’ dotfiles. Thank you for your amazing work!

License

The code is available under the MIT license.