Your dotfiles are how you personalize your system. These are mine.
This repository contains configuration files and automation scripts for setting up a development environment on macOS with modern command-line tools, applications, and personalized settings.
Just run the following commands in your system:
git clone https://github.com/igalarzab/dotfiles ~/.config/dotfiles
cd ~/.config/dotfiles
./sidot run- Shell:
xonshwith custom configurations - Editor: Neovim with optimized settings
- Terminal: iTerm2 configurations
- Version Control: Git with helpful aliases and configurations
- Package Management: Homebrew bundle with essential tools
- Modern replacements:
bat,fd,fzf,ripgrep,delta,zoxide - Development tools:
gh,jq,mise,uv,llm - System utilities:
coreutils,gnu-sed,watch,tree,pstree
Automatically installs productivity and development applications via Homebrew Cask including:
- Browsers: Arc
- Development: Visual Studio Code, ChatGPT, Claude
- Productivity: Raycast, Rectangle Pro, Fantastical, Notion
- Utilities: 1Password, AppCleaner, The Unarchiver, Cryptomator
The setup is managed by sidot (SImple DOTfiles Script), a custom Python tool that:
- Installs Homebrew and all packages defined in
packages/Brewfile - Symlinks configuration files using pattern-based rules:
*.symlinkfiles →~/.*(hidden files in home directory)*.configsymlinkfiles →~/.config/*(XDG config directory)
- Sets up development tools via
mise(version manager)
Each topic area has its own directory with relevant configurations:
- aws/: AWS CLI configurations
- bin/: Custom scripts added to
$PATH - git/: Git configuration and aliases
- gnupg/: GPG settings for commit signing
- kubernetes/: kubectl and k8s tool configurations
- macos/: macOS-specific settings
- mise/: Runtime version management
- vim/: Neovim configuration
- xonsh/: Shell configuration and custom functions
Create local configuration files that won't be tracked by git:
Git Configuration (~/.config/git/config-local):
[user]
name = Your Name
email = your.email@example.com
signingkey = your-gpg-key-id
[github]
user = your-github-usernameSSH Configuration (~/.ssh/config-local):
# Add your custom SSH configurations here
- Add new topic directories: Create a new directory (e.g.,
python/) and add configuration files - Install additional packages: Edit
packages/Brewfileto add more Homebrew formulas or casks - Modify automation: Update
sidot.tomlto add custom setup steps
- 🍎 macOS (tested on recent versions)
- 🌐 Internet connection for downloading packages
- 🔑 Administrative privileges for some installations
- Run
./sidot runagain to retry failed installations - Check
packages/Brewfileif specific packages fail to install - Verify symlinks with
ls -la ~/.*andls -la ~/.config/
Note: Fork this repository and customize it for your own needs. These configurations are tailored to my personal workflow and preferences.