Browse setups

What changes on your Mac

Review the selected script before running it, especially on a Mac with an existing development setup.

Software and permissions

Most presets install Homebrew if needed, then their listed tools and apps. Rust uses rustup instead. These package managers download software from upstream sources and may install dependencies beyond the listed tools.

Some setup steps require administrator access. Run the script as your normal user, not with sudo.

Shell configuration and runtimes

Presets append configuration to ~/.zprofile and ~/.zshrc. Exact matching lines are skipped. Other shells are not configured.

Custom leaves shell startup files unchanged unless Configure zsh is selected. Installation and verification use a temporary Bash environment; without shell setup, configure tool paths and activation for your own shell afterward. Selecting zsh writes settings only for the chosen tools and does not change your login shell.

The Ruby, Rails, Python, and Data / AI presets set global mise runtimes. Node changes PATH; Java also sets JAVA_HOME. Django adds the uv tool directory to PATH. Rust adds Cargo to PATH and installs the stable toolchain without replacing an existing default. These changes can affect existing projects.

In Custom, Ruby sets a global mise runtime, while Python installs versioned uv-managed executables without changing your default Python. Django and JupyterLab install isolated CLI environments; they do not add dependencies to your projects. Ruby also installs its listed build libraries.

Background services

The Rails, Python, Java, Node, and Data / AI presets start PostgreSQL 16 through Homebrew services. Rails, Python, and Node also start Redis. These services are configured to start at login. Ruby, Rust, and Django do not start database services.

Custom installs PostgreSQL and Redis without starting them. The separate background service options start them immediately and at login.

To stop them, use brew services stop postgresql@16 and, where installed, brew services stop redis. Docker Desktop is not launched automatically.

Custom scripts and privacy

Custom scripts are generated locally in your browser. Selections are saved only in localStorage, and Clear selection removes them. Browsing, copying, and downloading do not install anything.

When enabled, Google Analytics measures site visits and may set analytics cookies. Macish does not send your tool selections, tool search text, generated scripts, or clipboard contents to Analytics. Advertising personalization and Google Signals are disabled; Analytics is not loaded when your browser sends Do Not Track or Global Privacy Control. See Google's privacy policy.

The generated script lists its tools and asks for confirmation before setup. Setting MACISH_YES=1 skips this confirmation, but upstream installers may still need interaction or administrator access.

Updates and recovery

Preset URLs may change as scripts are maintained. They are not immutable releases, and most package versions are resolved at install time.

There is no automatic rollback. A failed installation can leave completed steps in place. Inspect the error before retrying; a completion message alone is not a substitute for checking your tools.

Back to the setups