
gittech. site
for different kinds of informations and explorations.
Omakos β Setup your macOS for development
Omakos
Omakos turns your macOS laptop into a fully functional development machine in a single command. A shell script to setup a new mac.
Omakos is inspired by Basecamp's Omakub project. The name is a combination of "omakase" (γδ»»γ, Japanese for "I leave it up to you") and "macOS", reflecting its purpose of providing a curated development environment setup for macOS.
It can be run multiple times on the same machine safely. It installs, upgrades, or skips packages based on what is already installed on the machine.
Install
You can install Omakos using one of these two methods:
Option 1: Direct Install (Recommended)
Run this single command in your terminal:
curl -L https://raw.githubusercontent.com/yatish27/omakos/main/install.sh | bash
Option 2: Manual Install
If you prefer to review the code first:
- Download the repo:
git clone https://github.com/yatish27/omakos.git && cd omakos
- Review the scripts (please don't run scripts you don't understand):
less setup.sh
- Run the setup:
./setup.sh 2>&1 | tee ~/omakos.log
Just follow the prompts and you'll be fine. π
What it sets up
The setup process will install and configure the following tools and applications.
All packages are managed through Homebrew and defined in configs/Brewfile
.
Command Line Tools
- XCode Command Line Tools for developer essentials
- Git for version control
- Homebrew for managing operating system libraries
- ZSH with Oh My Zsh for a better shell experience
- coreutils for GNU file, shell and text manipulation utilities
- curl and wget for downloading files
- fzf for command-line fuzzy finding
- jq for JSON processing
- btop for system resource monitoring
- fastfetch for system information display
Development Environment
- Cursor - AI-powered code editor
- Ghostty - Modern terminal emulator
- Docker for containerization
- OrbStack for Docker and Linux development on macOS
- PostgreSQL 17 with
libpq
for database management - Redis for in-memory data store
- jemalloc for memory allocation
- vips for image processing (automatically installs configured runtimes if
~/.mise.toml
exists) - Ollama for local AI models
- Overmind for process management
- Mise for runtime version management
- UV for Python packaging
- pnpm and yarn for Node.js package management
Productivity & Communication
- 1Password for password management
- Brave Browser for secure web browsing
- Discord for team communication
- Obsidian for note-taking
- Raycast for productivity enhancement
- Rectangle for window management
- Claude for AI assistance
- NetNewsWire for RSS reading
- PearCleaner for app uninstallation
- VLC for media playback
- WhatsApp and Zoom for communication
Fonts
- Cascadia Code & Cascadia Mono
- DM Sans
- Fira Code
- Hack
- IBM Plex Mono & IBM Plex Sans
Features
Modular Scripts
Each script in the scripts/
directory can be run independently:
# Run individual scripts
./scripts/mac_setup.sh # Only configure macOS settings
./scripts/git_setup.sh # Only setup Git configuration
./scripts/cursor_setup.sh # Only configure Cursor editor
./scripts/mise.sh # Only setup mise and install configured runtimes
./scripts/dotfiles_setup.sh # Only setup dotfiles
./scripts/ssh_setup.sh # Only configure SSH settings
The scripts are designed to be:
- Independent: Each script can run on its own
- Idempotent: Safe to run multiple times
- Configurable: Easy to modify for your needs
Code Structure
The project follows a modular structure where each component is responsible for a specific setup task. You can run any script individually if you only want to set up specific parts of your system.
omakos/
βββ setup.sh # Main setup script
βββ scripts/
β βββ ascii.sh # ASCII art for terminal output
β βββ brew.sh # Homebrew package installation
β βββ cursor_setup.sh # Cursor editor configuration
β βββ dotfiles_setup.sh # Dotfiles management
β βββ git_setup.sh # Git configuration
β βββ mac_setup.sh # macOS system preferences
β βββ mise.sh # Mise runtime manager setup
β βββ ssh_setup.sh # SSH configuration
β βββ utils.sh # Utility functions
β βββ zsh_setup.sh # ZSH shell setup
βββ configs/
β βββ Brewfile # Homebrew packages list
β βββ cursor/ # Cursor editor settings
β βββ git/ # Git configuration files
β βββ ssh/ # SSH configuration files
β βββ gemrc # Ruby gems configuration
β βββ ghostty.conf # Ghostty terminal config
β βββ mise.toml # Mise runtime versions config
β βββ rubocop.yml # Ruby code style config
βββ README.md
Configuration Files
The configs/
directory contains all config files.
Customization
The script is designed to be customizable. You can:
- Modify the
Brewfile
to add/remove packages - Adjust macOS settings in
scripts/mac_setup.sh
- Modify the dotfiles in
configs/
directory
Contributing
Feel free to submit issues and enhancement requests!
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
Inspiration and code was taken from many sources, including: