Welcome to my world. This is an advanced macOS development setup optimized for modern software development.
This setup works perfectly for developers and software architects who work with macOS. If this particular setup doesn't work for you, please feel free to borrow some ideas from it. Pull requests, comments, requests, and any other contributions are welcome!
- โจ Features
- ๐ฆ What's Included
- ๐ Quick Start
- ๐ Project Structure
- โ๏ธ Configuration Details
- ๐ Updates & Maintenance
- ๐ Planning & Roadmap
- ๐ค Contributing
- ๐ License
- ๐ค Author
- ๐ Acknowledgments
- ๐จ Beautiful terminal setup with Ghostty and tmux
- ๐ง Comprehensive ZSH configuration with custom themes
- ๐ฆ Automated installation and setup process
- ๐ฏ Version management with asdf
- ๐จ Catppuccin Mocha theme across all tools
- ๐ Advanced system monitoring with btop and k9s
- ๐ Git workflow optimization with lazygit
- ๐ Secure secrets management
- ๐ Organized project folder structure
- ๐บ Homebrew - Package manager for macOS with comprehensive Brewfile
- 270+ packages, casks, and Mac App Store apps
- Organized with taps for specialized tools
- Automated installation and updates
- ๐ ZSH - Advanced shell configuration
- Custom aliases and functions
- Catppuccin Mocha syntax highlighting
- Integration with bat, eza, and fzf
- Optimized completion system
- ๐ Neovim - Modern text editor configuration
- Extensible plugin setup
- Custom keybindings and workflows
- Integrated with terminal tools
- ๐ Git - Version control with custom configurations
- Catppuccin theme integration
- Git Delta for beautiful diffs
- Git LFS support
- GitHub CLI (gh) and GitLab CLI (glab)
- ๐ง asdf - Universal version manager
- Node.js, Deno, Python, Rust
- Kubernetes tools (kubectl, helm)
- Unified version management
- ๐ณ Docker - Container management
- Docker Compose integration
- Lazydocker for easy management
- Container security tools (Trivy, Dockle)
- ๐ฆญ Podman - Daemonless container engine
- Drop-in replacement for Docker
- Rootless containers
- Podman Compose for Docker Compose compatibility
- Podman Desktop for GUI management
- ๐ป Ghostty - Modern, fast terminal emulator
- GPU-accelerated rendering
- Catppuccin Mocha theme support
- ๐ฅ๏ธ tmux - Terminal multiplexer
- Custom keybindings and workflows
- Plugin manager integration
- Catppuccin theme configuration
- Session management with sesh
- ๐ฆ bat - Enhanced cat with syntax highlighting
- Git integration
- Custom themes
- ๐ณ eza - Modern, colorful ls replacement
- File type icons
- Git status integration
- ๐ fzf - Fuzzy finder for command-line
- ZSH integration
- File and history search
- ๐ btop - Beautiful resource monitor
- CPU, memory, disk, network stats
- Process management
- Catppuccin Mocha theme
- ๐ฎ k9s - Kubernetes CLI manager
- Real-time cluster monitoring
- Pod and container management
- Log viewing and resource editing
- ๐ฆ lazygit - Simple terminal UI for git
- Visual git workflow
- 14 Catppuccin color variants included
- Interactive staging and commits
- ๐ณ lazydocker - Simple Docker/container TUI
- Container and image management
- Real-time stats and logs
- ๐ starship - Minimal, fast, customizable shell prompt
- Cross-shell compatibility
- Rich status information
- ๐ ripgrep - Ultra-fast recursive search tool
- ๐ fd - Fast, user-friendly alternative to find
- ๐ glow - Render markdown in the terminal
- ๐ tldr - Simplified, practical man pages
- ๐๏ธ trash - Move files to macOS Trash from CLI
- ๐ zoxide - Smarter cd command
- ๐ฏ direnv - Environment switcher for the shell
- ๐ง asdf - Universal version manager (see Core Tools)
- Manages multiple language runtimes
- Plugin-based architecture
- Configured plugins: Node.js, Deno, Python, Rust, kubectl, helm
- ๐ฆ Node.js - JavaScript runtime
- Managed via asdf
- npm, yarn, and pnpm support
- ๐ฆ Deno - Secure JavaScript/TypeScript runtime
- ๐ฆ Rust - Systems programming language
- Rustup toolchain manager
- Cargo package manager
- ๐น Go - Go programming language
- gopls language server
- delve debugger
- gox for cross-compilation
- ๐ Python - Python 3.11+
- Managed via asdf and Homebrew
- โก Swift - Apple's programming language
- โธ๏ธ kubectl - Kubernetes command-line tool
- Cluster management and deployment
- ๐ฆ Helm - Kubernetes package manager
- ๐ k9s - Kubernetes CLI manager (see Terminal Tools)
- ๐ข kind - Kubernetes in Docker
- ๐ฏ minikube - Local Kubernetes
- ๐ง kubectx - Fast context/namespace switching
- ๐ kubeseal - Sealed Secrets
- ๐ kubescape - Security posture management
- ๐ต๏ธ kubeshark - API traffic viewer
- ๐ Docker - Container platform
- ๐ฆญ Podman - Daemonless container engine
- ๐ OrbStack - Fast, lightweight containers & VMs for macOS
- ๐ง Terraform - Infrastructure as Code
- ๐๏ธ OpenTofu - Open-source Terraform alternative
- Drop-in replacement for Terraform
- Community-driven infrastructure as code
- ๐ Ansible - Automation and configuration management
- ๐ Trivy - Container security scanner
- ๐ถ Dockle - Container image linter
- ๐ Dive - Docker image exploration tool
- Layer content analysis
- Image size optimization
- ๐ Hadolint - Dockerfile linter
- Best practice validation
- Inline bash checking
- ๐ฆ Skopeo - Container image operations tool
- Image copying and inspection
- Registry management
- ๐พ Mackup - Application settings backup and sync
- ๐ Obsidian - Powerful knowledge base
- Markdown-based note-taking
- Second Brain / PARA methodology
- iCloud sync for macOS and iOS
- Full configuration automation (in progress)
- ๐ 1Password - Password manager
- CLI integration included
- ๐จ Cursor - AI-powered code editor
- ๐ Arc Browser - Modern, feature-rich browser
- ๐ฌ Raycast - Extendable launcher and productivity tool
- ๐ Linear - Project management for software teams
- ๐ผ Notion - All-in-one workspace
- ๐ Notion Calendar - Calendar integration
- ๐ฌ CleanShot - Advanced screenshot and recording tool
The brew/Brewfile contains 270+ additional packages including:
- ๐ Security tools (nmap, hydra, wireshark, gpg)
- ๐ฅ Media tools (ffmpeg, imagemagick, obs)
- ๐๏ธ File utilities (p7zip, unarchiver, tree)
- ๐ Network tools (wget, curl, ssh)
- ๐ Documentation tools (pandoc, texlive)
- โจ๏ธ Custom keyboard firmware (QMK, Vial)
- And many more specialized tools...
- macOS (tested on latest versions)
- Command Line Tools for Xcode
- Internet connection
Run this command in your terminal to download and prepare the dotfiles:
sh -c "`curl -fsSL https://raw.githubusercontent.com/snics/dotfiles/master/pre-install.sh`"To run the install wizard, execute:
sh ~/.dotfiles/install.shThe wizard will guide you through the installation process and let you choose which components to install.
This dotfiles repository uses the following structure:
~/.dotfiles/
โโโ _install/ # Installation scripts for individual tools
โโโ asdf/ # asdf version manager configuration
โโโ brew/ # Homebrew bundle file
โโโ docs/ # Documentation and screenshots
โโโ ghostty/ # Ghostty terminal configuration
โโโ git/ # Git configuration and themes
โโโ k9s/ # Kubernetes CLI configuration
โโโ lazygit/ # Lazygit themes and settings
โโโ macOS/ # macOS-specific settings and scripts
โโโ nvim/ # Neovim configuration
โโโ obsidian/ # Obsidian settings
โโโ planning/ # Project planning and roadmap
โโโ tmux/ # tmux configuration and plugins
โโโ zsh/ # ZSH configuration, themes, and functions
โโโ install.sh # Main installation script
โโโ pre-install.sh # Pre-installation setup
I use a well-organized folder structure for all development work. The installation wizard can optionally create this structure for you:
~/Projects/ # Root folder for all development
โโโ GitHub/ # GitHub repositories
โโโ GitLab/ # GitLab repositories
โโโ Scripts/ # Automation scripts and utilities
โโโ Tools/ # Tools and utilities in development
โโโ Learning/ # Learning projects and experiments
โโโ Clients/ # Client projects (optional)
โโโ Startups/ # Startup projects (optional)
โโโ Non-Profit/ # Non-profit organization projects (optional)
โโโ Talks/ # Presentations and talk materials (optional)
โโโ Workshop/ # Workshop materials and projects (optional)
โโโ Throwaway/ # Temporary projects and experimentsNeovim should work out of the box once the correct plugins are installed. To install the plugins, open Neovim with:
nvim +PlugInstallFor sensitive information like API keys and tokens, create a ~/.secrets file. An example template is provided:
cp -f ~/.dotfiles/.secrets.example ~/.secretsEdit the file and add your secrets:
vim ~/.secretsThe .secrets file is sourced by ZSH and should contain bash-compatible environment variable exports.
Each configuration directory contains settings for its respective tool. Feel free to customize:
- ZSH: Edit files in
zsh/settings/ - Git: Modify
git/catppuccin.gitconfig - tmux: Adjust
tmux/.config/tmux/tmux.conf - Ghostty: Configure
ghostty/settings
Updating your installed applications and tools is simple! I've created a convenient alias that updates everything at once:
updateThis command will:
- Update Homebrew and all installed packages
- Update ZSH plugins
- Update asdf plugins and tool versions
- Perform system maintenance tasks
You can find the implementation in zsh/settings/functions/update.zsh.
I maintain a structured planning system for future improvements and features. Check out the planning/ directory for:
- Roadmap: High-level plans and timeline
- Backlog: Ideas and future enhancements
- In Progress: Currently working on features
Feel free to suggest new features or improvements by opening an issue!
Some planned improvements include:
- Obsidian Second Brain Setup - Complete automation with templates, plugins, and PARA methodology
- Further automation of the installation process
- Additional tool integrations
- Enhanced documentation
- More themes and customization options
See the full roadmap in planning/backlog.md for details.
Suggestions and improvements are welcome!
If you'd like to contribute:
- Fork this repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using emojis (
git commit -m 'โจ Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project uses emojis in commit messages for better readability:
- โจ New feature or major addition
- ๐ Documentation updates
- ๐ง Configuration changes
- โป๏ธ Refactoring or code cleanup
- ๐ Bug fixes
- ๐ฅ Removing code or files
- ๐จ Styling or UI improvements
- โก Performance improvements
- ๐ Deployment or release changes
- ๐ Update license to MIT (Nov 2024)
- โป๏ธ Remove PHP and Kotlin from setup (Nov 2024)
- โจ Add Non-Profit and Workshop folders to project structure (Nov 2024)
- ๐ Restructure README with improved organization (Nov 2024)
- โจ Create planning system with backlog and roadmap (Nov 2024)
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to use, modify, and share these dotfiles as you wish!
| Nico Swiatecki |
This dotfiles repository was inspired by and borrows ideas from many amazing developers:
- Mathias Bynens' dotfiles - Excellent macOS settings
- Nick Nisi's dotfiles - Great Neovim configuration


