This repository aims to make the setup of a new machine extremely easy. It contains everything needed to set it up:
- Packages via Homebrew.
- Dotfiles managed with stow.
- System preferences for macOS via a simple shell script.
This set up was inspired by this blogpost.
- Homebrew for managing packages.
- GNU Stow for managing the dotfile symlinks (this is included in the
Brewfile).
This repository includes a Brewfile for managing packages using Homebrew.
The casks list assumes you use macOS.
To install the packages listed, run the following command from the directory containing the Brewfile:
brew bundleTo regenerate the Brewfile with your currently installed packages:
brew bundle dump --force --no-restart --no-vscodeDotfiles are stored in the dotfiles/ subdirectory and managed with GNU Stow.
This repository manages the following dotfiles packages:
- kitty - A fast, feature-rich, and GPU-based terminal emulator.
- lazydocker - A simple terminal UI for Docker.
- lazygit - A simple terminal UI for Git.
- nvim - Hyperextensible Vim-based text editor.
- tmux - A terminal multiplexer.
- opencode - The open source AI coding agent.
To add new dotfiles, move them into dotfiles/<app>/ matching the application name (e.g., .config/nvim/ → dotfiles/nvim/.config/nvim/).
To apply existing dotfiles: run the stow command to create symlinks in your home directory.
stow -d dotfiles -t ~ <application>This repository includes a script to apply preferred macOS system settings.
To apply the settings:
bash scripts/macos-config.sh