nicksp / dotfiles

My personal dotfiles: Zsh, Git, VSCode, WezTerm, etc.
https://github.com/nicksp/dotfiles
MIT License
349 stars 94 forks source link
configuration dotfiles environment homebrew lazydocker lazygit macos unix wezterm zsh

~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

What's in there?

Installation

  1. Enable Firewall under System Settings → Network

  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