Skip to content

nicksp/dotfiles

Repository files navigation

~nicksp 🌮

My personal dotfiles for configuring macOS with Zsh and Homebrew.

nicksp terminal

Important

Please only open pull requests that fix bugs or add improvements without any breaking changes.

Warning

I recommend forking this repository to create your own set of dotfiles.

Requirements

  • macOS
  • Homebrew (the install script will install Homebrew)
  • Zsh (the install script will install Zsh via Homebrew)

What's in there?

Installation

  1. Enable Firewall under System SettingsNetwork

  2. Point the DNS Servers to Cloudflare DNS

    • 1.1.1.1
    • 1.0.0.1
    • 2606:4700:4700::1111
    • 2606:4700:4700::1001
  3. Configure Git and GitHub SSH

    1. Generate SSH key and add it to the ssh-agent

    2. Add your public SSH key to GitHub account

    3. Test your authentication with:

      ssh -T git@github.com
      
  4. Install MonoLisa font

  5. Choose manual or automatic dotfiles installation below

Manually

git clone git@github.com:nicksp/dotfiles.git ~/dotfiles
cd ~/dotfiles
./setup/zsh.sh
./setup/brew.sh
./setup/misc.sh
./setup/symlinks.sh

Automatically

To automate the setup of your dotfiles on a new machine, use the setup script.

Caution

Use at your own risk!

git clone git@github.com:nicksp/dotfiles.git ~/dotfiles
~/dotfiles/setup.sh

This will install all required dotfiles in your home directory as symlinks. Everything is then configured via modifying files in ~/dotfiles.

Extras

Set macOS defaults

set-defaults

Use alternative apps icons

sync-apps-icons

Install colors themes

sync-color-themes

Local customizations

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

~/.zsh.local

If this file exists, it will be automatically sourced after all the other shell related files allowing its content to add to or overwrite the existing aliases, settings, PATH, etc.

~/.gitconfig.local

If this file exists, it will be automatically included after the configurations from ~/.gitconfig allowing its content to overwrite or add to the existing git configurations.

Tip

Use ~/.gitconfig.local to store sensitive information such as the git user credentials for individual repositories.

Updating

To update an existing install:

cd ~/dotfiles
git pull
./setup.sh

License

MIT License.

Inspiration