Configuration files for the tools I use on macOS, managed with GNU Stow. Each top-level directory is a Stow package that mirrors the layout of $HOME.
| Package | Contents |
|---|---|
aerospace |
AeroSpace window manager |
bash_aliases |
Shell aliases |
bashrc |
.bashrc and .bash_profile |
bat |
bat config and Catppuccin theme |
btop |
btop config |
ghostty |
Ghostty terminal |
git |
Shared Git settings in ~/.config/git/config |
hushlogin |
Silences the login banner |
nvim |
Neovim configuration (lazy.nvim) |
starship |
Starship prompt |
tmux |
tmux config (TPM plugins) |
yazi |
Yazi theme |
wallpapers is not a Stow package.
-
Install Homebrew, then clone the repository and install the tools:
git clone https://github.com/codebedouin/dotfiles.git ~/dotfiles cd ~/dotfiles brew bundle
-
Link the packages:
stow aerospace bash_aliases bashrc bat btop ghostty git hushlogin nvim starship tmux yazi
To preview the changes first, add
-n -v. To remove a package, usestow -D <package>. -
Create a machine-local Git config. It is not tracked, so it holds your identity and credential helpers:
[user] name = Your Name email = you@example.com
Git reads
~/.config/git/config(this repository) first and~/.gitconfigsecond, so values in~/.gitconfigtake precedence. Tools such asgh auth setup-gitwrite to~/.gitconfig, which keeps this repository clean. -
Install the tmux plugin manager, then press
prefix + Iinside tmux:git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm -
Open Neovim and run
:Lazy restore. Treesitter parsers and LSP tools install on first use. For Copilot inline completion, open a file and run:LspCopilotSignInonce.
The shell config loads nvm, fzf, starship, zoxide and direnv when present. nvm is installed separately from the Brewfile.
git pull
brew bundleIn Neovim, run :Lazy restore after pulling to match the committed lazy-lock.json, and :Lazy clean to remove plugins that are no longer used.
This repository is licensed under the MIT License.