Perform a recursive clone of this repo into ~/.dotfiles
:
git clone --recursive --recurse-submodules [email protected]:bezhermoso/dotfiles.git ~/.dotfiles
Note
If it was cloned bare, run this afterwards: git submodule update --init --recursive
Go to https://brew.sh and follow the installation instructions.
As of 2024-02-17, this is how:
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Dependencies installable via Homebrew are captured in ./homebrew/Brewfile
:
cd ~/.dotfiles/homebrew/_core
/opt/homebrew/bin/brew bundle install
The version of zsh
that comes with macOS is usually outdated. The previous step should have installed a more recent version of zsh
via Homebrew. To use it, add it to /etc/shells
:
sudo -e /etc/shells
# Add this line at the end of the file:
/opt/homebrew/bin/zsh
...or whatever the path to the new version of zsh
is (i.e. the output of which zsh
)
Then, change the default shell to the new version of zsh
:
chsh -s /opt/homebrew/bin/zsh
I use Stow to put configuration directories/files where they need to be for tools to work:
cd ~/.dotfiles
/opt/homebrew/bin/stow .
It is recommended to close & re-open your terminal to pick up the just-installed Zsh configurations.
I use zinit
to manage Zsh plugins. It should auto-install the plugins when you start a new Zsh session.
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Start a new tmux
session and invoke C-s I
to install the plugins.
Start Neovim. It should auto-install lazy.nvim and all the plugins
Important
Do not do this on your work machine! Only do this on computers whose command-line history you want synced.
atuin login
Create a ~/.gitconfig
file & include relevant files from ~/.dotfiles/git
e.g.
[include]
path = ~/.dotfiles/git/base.gitconfig
path = ~/.dotfiles/git/1password.gitconfig
# REQUIRED. None of the config files in dotfiles contain author information. Configure this on a per-machine basis.
[user]
name = Bez Hermoso
email = ...
Install gh
extensions:
make gh-extensions
- Done for now