Personal dotfiles configuration for macOS development environment.
# Clone the repository
git clone https://github.com/hagaspa/dotfiles.git ~/workspaces/hagaspa/dotfiles
cd ~/workspaces/hagaspa/dotfiles
# Install dependencies and tools
./install.sh
# Create symbolic links for configuration files
./link.sh
# Trust mise configuration (required for runtime management)
mise trust ~/.mise.toml
# Install runtimes via mise
mise install
# Configure macOS system settings
./settings.sh- fzf - Command-line fuzzy finder
- lsd - Modern replacement for ls
- sheldon - Fast zsh plugin manager
- starship - Cross-shell prompt
- atuin - Shell history management
- gh - GitHub CLI
- git-delta - Syntax-highlighting pager for git
- zoxide - Smart cd command
- bat - Cat clone with syntax highlighting
- yazi - Terminal file manager
- fd - Simple, fast alternative to find
- helix - Post-modern text editor
- tmux - Terminal multiplexer for managing multiple sessions
- mise - Runtime version manager (manages Node.js, gcloud, etc.)
- ghostty - Terminal emulator
- cursor - AI-powered code editor
- Node.js - LTS version
- Google Cloud CLI - Cloud development tools
.zshrc- Zsh shell configuration.vimrc- Vim editor configuration.mise.toml- mise runtime configuration.config/zsh/alias.sh- Custom shell aliases.config/zsh/command.sh- Custom shell commands.config/ghostty/config- Ghostty terminal configuration.config/tmux/tmux.conf- Tmux configuration with vim key bindings.config/karabiner/- Karabiner-Elements key mapping.config/helix/config.toml- Helix editor configuration.config/yazi/- Yazi file manager configuration (with projects plugin).config/fd/config- fd default options.config/cursor/settings.json- Cursor editor settings.claude/- Claude Code configuration and custom commands
Installs Homebrew, all brew packages from Brewfile, runtimes via mise, Claude Code, and yazi plugins.
Creates symbolic links for configuration files from this repository to their expected locations in your home directory. Existing files are backed up with a .bak extension.
Configures macOS system settings for optimal development experience. Currently includes:
- Disables press-and-hold for keys in favor of key repeat (allows holding keys to repeat instead of showing accent menu)
- Requires system restart for changes to take effect
- macOS (Apple Silicon recommended)
- Internet connection for downloading dependencies
After running the installation scripts, you may need to:
- Restart your shell or run
source ~/.zshrcto apply changes - Trust mise configuration if you haven't already:
mise trust ~/.mise.toml - Verify installations:
node --version gcloud --version
This repository includes Claude Code configuration:
.claude/settings.json- Permission settings for Claude Code.claude/commands/- Custom slash commands for common workflowsCLAUDE.md- Repository-specific instructions for Claude Code
- test-scripts.yml - Runs automated tests for installation and configuration scripts
- claude.yml - Claude Code GitHub integration workflow
- claude-code-review.yml - Automated code review with Claude
The .config/zsh/command.sh includes powerful custom functions:
fzf-select-history*()- Enhanced command history search
Feel free to modify the configuration files to suit your preferences:
- Edit
Brewfileto add/remove brew packages - Edit
.mise.tomlto change runtime versions - Customize shell aliases in
.config/zsh/alias.sh - Modify zsh configuration in
.zshrc - Add custom Claude Code commands in
.claude/commands/