My personal dotfiles for configuring macOS with Zsh and Homebrew.
[!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.
- macOS
- Homebrew (the install script will install Homebrew)
- Zsh (the install script will install Zsh via Homebrew)
- Handy binary scripts.
- Custom zsh theme with Git status, etc. using Starship.
- Git aliases.
- Shell aliases.
- zsh / fzf.
- git / delta syntax-highlighting diff tool.
- Sensible macOS defaults.
- Neovim
- Zellij
- Alacritty
- Wezterm
- macOS apps I use.
-
Enable Firewall under System Settings → Network
-
Point the DNS Servers to Cloudflare DNS
1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
-
Configure Git and GitHub SSH
-
Test your authentication with:
ssh -T git@github.com
-
Choose manual or automatic dotfiles installation below
git clone git@github.com:abereghici/dotfiles.git ~/dotfiles
cd ~/dotfiles
./setup/brew.sh
./setup/misc.sh
./setup/symlinks.sh
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:abereghici/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
.
./setup/macos.sh
- Disable or remap the
Select next source in Input menu
because it conflicts with Alacritty vi mode. - Remap
Mission control
keys toCtrl
+Option
+Arrow Keys
because conflicts with Neovim.
The dotfiles can be extended to suit additional local requirements by using the following files:
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.
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 thegit
user credentials for individual repositories.
To update an existing install:
cd ~/dotfiles
git pull
./setup.sh
MIT License.