A comprehensive dotfiles configuration managed with YADM for macOS and Linux systems, featuring a carefully curated development environment with powerful CLI tools and integrations.
- Overview
- Screenshots
- Features
- Quick Start
- Post-Installation
- Configuration
- Development Tools
- Maintenance
- Acknowledgments
This repository contains my personal dotfiles configuration, providing a consistent and productive development environment across different machines. It uses YADM (Yet Another Dotfiles Manager) for seamless synchronization and supports both macOS and Linux platforms with platform-specific configurations.
| Tool | Preview |
|---|---|
| Oh-my-zsh | ![]() |
| Yazi | ![]() |
| Neovim | ![]() |
This dotfiles setup includes:
-
π Shell Configuration
-
π Editor Configuration
-
π§ Development Tools
-
π¨ Terminal Enhancements
-
π¦ Package Management
-
π Security & Privacy
- 1Password with CLI integration
- SSH configuration
- GPG setup
- Secure credential management
Prerequisites:
- Log in to the App Store
- Install Xcode and accept the license agreement
Installation:
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
eval "$(/opt/homebrew/bin/brew shellenv)"
# Install YADM
brew install yadm
# Clone dotfiles repository
yadm clone --no-bootstrap https://github.com/pedropombeiro/dotfiles.git
# Set class configuration (Personal or Work)
yadm config local.class Personal
# Run bootstrap script to set up environment
yadm bootstrap
# Reload shell configuration
source ~/.zshrc.shared# Install YADM
sudo apt update && sudo apt install -y yadm
# Clone dotfiles and bootstrap
yadm clone --no-bootstrap https://github.com/pedropombeiro/dotfiles.git
yadm config local.class Personal
yadm bootstrap
source ~/.zshrc.sharedAfter installing the dotfiles, symlink the configuration files in Syncthing:
~/.config/yadm/scripts/relink-dotfiles.shAfter Factory Reset:
-
Install any available OS upgrades
-
Install Xcode from the App Store and accept the T&C
-
Run the quick start installation steps above
-
Verify SSH connectivity:
ssh -T git@github.com ssh -T git@gitlab.com
-
After first Syncthing sync, restore Mackup backup:
mackup restore
Verify SSH connectivity to Git services:
ssh -T git@github.com
ssh -T git@gitlab.comManual configuration steps:
- Change the computer name in System Preferences
- Set default terminal font to 'MesloLGS NF'
- Disable notifications when screen is off
- Disable Location Services (if desired)
- Configure keyboard shortcuts:
- Set input source switching shortcuts
Installed via Homebrew:
Productivity & Utilities:
- 1Password - Password manager with CLI support
- Alfred - Productivity launcher
- Raycast - Launcher and productivity tool
- Bartender - Menu bar organizer
- Mackup - Application settings backup
- Muzzle - Notification manager for screen sharing
- Notion - Note-taking and collaboration
- AirBuddy - AirPods companion app
Development Tools:
- Visual Studio Code - Code editor
- iTerm2 - Terminal emulator
- Fork - Git client
- TablePlus - Database client
- Docker - Container platform
- Dash - API documentation browser
- Neovide - Neovim GUI client
File Management & Comparison:
- Beyond Compare - File/folder comparison
- P4V - Perforce visual client
- The Unarchiver - Archive extraction
- Syncthing - File synchronization
- DaisyDisk - Disk space visualizer
Media & Entertainment:
- Spotify - Music streaming
- Plex - Media server
- VLC - Multimedia player
- Calibre - E-book management
- GIMP - Image editor
- MuseScore - Music notation software
System Tools & Utilities:
- iStat Menus - System monitoring
- Lunar - Adaptive brightness for external displays
- AppCleaner - Application uninstaller
- Stay - Window manager
- Contexts - Window switcher
- Input Source Pro - Multi-language input tool
Web Browsers:
- Microsoft Edge - Chromium-based browser
- Firefox - Privacy-focused browser
Communication:
Hardware & Specialty Tools:
- Elgato Stream Deck - Customizable control pad
- Garmin Express - Garmin device management
- Raspberry Pi Imager - OS imaging tool
- balenaEtcher - USB/SD card flasher
- ApplePi-Baker - SD card backup/restore
- YubiKey Manager - YubiKey configuration
Networking & Security:
- ProtonVPN - VPN client
- BlueSnooze - Bluetooth sleep blocker
- Bluetility - BLE browser
Misc:
- Kap - Screen recorder
- Shottr - Screenshot annotation tool
- UTM - Virtual machines
- EQMac - System-wide equalizer
- NetSpot - WiFi analyzer
- Google Earth Pro
- MediaInfo
Installed via mas-cli (Mac App Store):
- 1Password for Safari - Safari extension
- Amphetamine - Keep Mac awake
- Kindle - E-book reader
- WireGuard - VPN client
- Parcel - Package tracking
- Mactracker - Apple hardware database
- Discovery - Bonjour browser
Post-Installation Setup:
Configure the following applications:
- Beyond Compare - Import settings backup and install command line tools
- Password Manager - Set up 1Password
- Syncthing - Configure synchronization
- Time Machine - Set up backups
- Microsoft Edge - Configure browser settings
- Visual Studio Code - Enable settings sync
- Printers - Add network/local printers
Key tools included in this setup:
- Version Managers: mise (formerly rtx/asdf alternative)
- Languages: Ruby, Go, Python, Node.js, Rust
- Databases:
- Containerization:
- Docker
- Colima - container runtime for macOS
- lazydocker - terminal UI for Docker
- ctop - top-like interface for containers
- CLI Tools:
- Search & Find: ripgrep, fd, the_silver_searcher
- File Viewers: bat, highlight, vimpager
- File Management: yazi
- System Monitoring: btop, htop, viddy
- Disk Usage: ncdu, dust, duf
- Network Tools: gping, dog, nmap, wireshark, fping
- Data Processing: jq, yq, miller, visidata, jless
- Benchmarking: hyperfine
- Documentation: tealdeer (tldr client)
- Git Tools:
- Productivity:
To identify slow startup times, use zprof:
# Add at the beginning of your .zshrc
zmodload zsh/zprof
# ... your configuration ...
# Add at the end
zprof- Create Time Machine or SuperDuper! backup
- Verify application-specific backups
- Backup hidden files in repository
- Push all Git branches
- Search for "what folders to backup"
- Verify iCloud sync is complete (check Finder status bar)
- Confirm all critical data is backed up
- Add Terminal, iTerm, VS Code, and IDEs to
System Preferences β Security & Privacy β Privacy β Developer Toolsto avoid Apple notarization slowdowns - Configure
$HOME/.git-peekfor repository peeking - Restore relevant folders from backup under
~/Library/Application Supportand~/Library/Preferences
Use Vim in YADM Git context:
Running vim from inside YADM ensures proper fzf.vim integration and Git worktree configuration:
yadm enter vimUpdate all packages:
brew update && brew upgrade && brew cleanupCheck YADM status:
yadm status
yadm diffThis dotfiles configuration was inspired by and builds upon ideas from:
License: See LICENSE file for details


