This repository contains my personal dotfiles and configuration files for various applications and tools. The goal is to maintain a consistent and efficient development environment across different machines. This is macOS specific, but can be adapted to other systems with some modifications.
If this this is a new machine, this is my must-have software to install:
- Homebrew - Package manager for macOS, bellow a section for the formulae and casks I use
- Oh My Zsh - Framework for managing Zsh configuration
- Warp - Modern terminal
- Outer base - Database
- Docker - Containerization platform
- 1Password - Password manager
- Claude Desktop - AI assistant
- ChatGTP Desktop - AI assistant
- Cleanshoot - Screenshot tool
- Bazecor - Dygma keyboard configuration tool
brew install git neovim zellij node go uv sqlite jq lazygit lazysql bat ripgrep libpng jpeg ncurses chafa graphviz graphicsmagick tree-sitter fzf ripgrep fd gh glab
brew install --cask raycast ghostty ngrok font-fira-code-nerd-font font-hack-nerd-font font-meslo-lg-nerd-font font-ibm-plex-mono
brew tap oven-sh/bun
brew install bun
brew tap tinted-theming/tinted
brew install tinty
Depending on what's hot at the moment, I use different AI agents. My current favorites are:
- Claude code:
npm install -g @anthropic-ai/claude-code
- Opencode:
curl -fsSL https://opencode.ai/install | bash
- Codex:
brew install codex
npm install -g typescript-language-server typescript @biomejs/biome
uv python install
git clone https://github.com/gengue/dotfiles.git ~/workspace/dotfiles
cd ~/workspace/dotfiles
./setup/install.sh
Then:
- Edit
shell/secrets.zsh
with your API keys - Create
~/.claude/mcpservers.json
if needed (seemcpservers.example.json
) - Restart terminal or run
source ~/.zshrc
Setup scripts (in setup/
folder):
install.sh
- Sets up symlinks and creates backupsuninstall.sh
- Removes symlinks, preserves secretstest-install.sh
- Test installation in/tmp
without affecting systemmac-settings.sh
- Apply optimized Mac settings (Neovim keyboard, disable animations)backup-mac-settings.sh
- Backup current Mac settingsrestore-mac-settings.sh
- Restore Mac settings from backup
Managed configurations:
- Shell (in
shell/
folder):.zshrc
,.aliases
,.functions
,.secrets.zsh
- Editors: Neovim (
nvim/
), Zed (zed/
- settings/keymap/snippets as individual files) - Terminals: Ghostty (
ghostty/
), Alacritty (alacritty/
), Warp (warp/
) - Tools: GitLab CLI (
glab-cli/
), Claude instructions (claude/
) - Manual imports: Raycast, Dygma keyboard settings
./setup/uninstall.sh
This will remove all symlinks while preserving your secrets.
cd ~/workspace/dotfiles
git pull
Changes will be immediately reflected since everything is symlinked.
Apply optimized Mac settings for developers:
./setup/mac-settings.sh # Apply all settings
./setup/mac-settings.sh --help # See options
This includes:
- Neovim keyboard settings: Fast key repeat for efficient editing
- Disable animations: Instant UI response for better performance
Settings are automatically backed up before applying changes.
The installer creates timestamped backups in ~/.dotfiles-backup-YYYYMMDD-HHMMSS/
before creating symlinks. These can be used to restore previous configurations if needed.