Skip to content

sourcier/dotfiles

Repository files navigation

Dotfiles

Dependencies

Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Oh My Zsh

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Powerlevel10k

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Download and install the Meslo Nerd Font.

zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

zsh-syntax-highlighting

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Add both plugins to Oh My Zsh (inside ~/.zshrc):

plugins=(zsh-autosuggestions zsh-syntax-highlighting)

fnm

brew install fnm

bun

brew install bun

SDKMAN

curl -s "https://get.sdkman.io" | bash

Bootstrap

git clone git@github.com:sourcier/dotfiles.git
cd dotfiles
chmod u+x bootstrap.sh
./bootstrap.sh

Run brew bundle to install apps from the Brewfile, then reload your terminal.

Config

SSH

Update ~/.ssh/config:

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

Secrets Management

Private environment variables are stored in the macOS Keychain and exported automatically on shell startup. Secrets never exist as plaintext on disk.

secret-set GITHUB_TOKEN ghp_abc123...   # store a secret
secret-get GITHUB_TOKEN                 # retrieve a secret
secret-list                             # list all managed secrets
secret-del GITHUB_TOKEN                 # remove a secret

All secrets are namespaced under env-secret: in the keychain to avoid collisions with other entries. The .env_secrets file is git-ignored and safe to sync across machines — it contains no secret values, only the shell functions that read from the keychain.

dnsmasq

Route all .test domains to localhost for local development.

brew install dnsmasq
echo 'address=/.test/127.0.0.1' > $(brew --prefix)/etc/dnsmasq.conf
sudo mkdir /etc/resolver
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/test'
sudo brew services start dnsmasq

About

Terminal environment setup

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages