A clean and pragmatic guide to setting up a modern development environment on macOS, including:
- 🧃 Homebrew
- 🐱 Kitty terminal
- 🔐 Git + GitHub over SSH with signed commits
- 🧩 Dotfiles management using GNU Stow
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Then add Homebrew to your shell:
echo >> /Users/{USERNAME}/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/{USERNAME}/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"Replace
{USERNAME}with your macOS user name.
brew install kittyKitty's config file is located at:
~/.config/kitty/kitty.conf- Visit nerdfonts.com/font-downloads
- Download a font and install it (double-click the
.ttffiles)
Then, set it in your Kitty config:
font_family Your Nerd Font Name
brew install git
git --versionssh-keygen -t ed25519 -C "your@email.com" -f ~/.ssh/id_githubAdd the key to the SSH agent:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_githubConfigure your SSH client:
vim ~/.ssh/configPaste this:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_github
IdentitiesOnly yes
Display your public key:
cat ~/.ssh/id_github.pubCopy it and add it to:
👉 GitHub → Settings → SSH and GPG keys
Use the same key again as a "Signing Key" later.
ssh -T git@github.comExpected output:
Hi {your_username}! You've successfully authenticated, but GitHub does not provide shell access.brew install stow
mkdir -p ~/dotfiles/git
cd ~/dotfiles
git init
cd ~/dotfiles/git
touch .gitconfigOptional modular structure (recommended):
mkdir -p ~/dotfiles/{git,zsh,nvim,kitty}
In ~/dotfiles/git/.gitconfig:
[user]
name = Your Name
email = your@email.com
signingkey = ~/.ssh/id_github
[commit]
gpgsign = true
[gpg]
format = ssh
[gpg "ssh"]
allowedSignersFile = ~/.ssh/allowed_signersGet your public key:
cat ~/.ssh/id_github.pubCreate the file:
echo "your@email.com ssh-ed25519 your_public_key" > ~/.ssh/allowed_signers
chmod 600 ~/.ssh/allowed_signersGo to:
👉 GitHub → Settings → SSH and GPG keys
Choose "Signing key" and paste the same public key.
cd ~/dotfiles
stow gitCheck the symlink:
ls -la $HOME
# You should see: .gitconfig -> ~/dotfiles/git/.gitconfigMake a commit:
cd ~/dotfiles
git add .
git commit -m "Init dotfiles with Git config"Then verify it's signed:
git log -1 --show-signatureIf properly configured, GitHub will show a ✅ Verified badge next to your commits.
Your macOS dev environment is now:
- Minimal
- Portable
- Secure
- Craft-friendly
You can extend this setup with more
stowmodules (zsh, neovim, etc.) and version your full environment in Git.