This registry lists every single technology I have installed globally, so I can easily reproduce my environment and keep everything up to date.
Anything that's installed by brew doesn't need detailed instructions, just run brew update && brew upgrade && brew cleanup.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"eval "$(/opt/homebrew/bin/brew shellenv)"chsh -s /opt/homebrew/bin/bash~/.local/bin/code (custom-created symlink to /Applications/Visual Studio Code.app/Contents/Resources/app/bin/code)GPG /usr/local/bin/gpg (symlink to /usr/local/MacGPG2/bin/gpg)
Thanks to Apple, my C/C++ setup is very complex.
/usr/bin/{clang,clang++,cc,c++,gcc,g++}: Apple-provided Clang/opt/homebrew/{gcc,g++}-<version>: Homebrew-installed GCCDafny /opt/homebrew/bin/dafny
~/.ghcup/bin/ghcup
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | shghcup upgrade~/.ghcup/bin/*
ghcup install <tool> <version>, ghcup set <tool> <version>ghcup liststack over cabal.~/.stack/bin/*
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash~/.nvm/versions/node/v<version>/bin/node
nvm install <version>; nvm use <version>/opt/homebrew/bin/deno
curl -fsSL https://deno.land/install.sh | sh. "$HOME/.deno/env"deno upgrade~/.bun/bin/bun
curl -fsSL https://bun.sh/install | bashbun upgradebun over npm/yarn/pnpm where possible. Prefer pnpm over npm/yarn for Node projects.~/.bun/bin/*
bun pm ls -geshostesvummdcpnpmprettierpyrightserveyarn~/.juliaup/bin/juliaup
curl -fsSL https://install.julialang.org | shjuliaup self update~/.juliaup/bin/julia
juliaup add <version>; juliaup default <version>/usr/local/texlive/2025/bin/universal-darwin/*
~/.elan/bin/elan
curl https://elan.lean-lang.org/elan-init.sh -sSf | shelan self update~/.elan/bin/lean*
elan install <version>; elan default <version>/Applications/Racket v<version>/bin/racket/opt/homebrew/bin/opam~/.opam/<version>/bin/ocaml*
opam switch create <version>eval $(opam env)opam update && opam upgradeopam list~/.opam/<version>/bin/*
rocqvsrocq-language-serverocamlformat~/perl5/perlbrew/bin/perlbrew
curl -L https://install.perlbrew.pl | bashperlbrew self-upgrade~/perl5/perlbrew/perls/<version>/bin/*
perlbrew install <version>; perlbrew switch <version>. "$HOME/perl5/perlbrew/etc/bashrc"Python ~/.venv/bin/python, ~/.local/bin/python<version>
uv python install <version>; then use uv venv .venv at user rootuv python update <version>; then recreate venv with uv venv .venv --forcePython executables: ~/.venv/bin/*
uv pip install <package>blackjupyterlabmatplotlib (library)networkx (library)numpy (library)pandas (library)scikit-learn (library)scipy (library)seaborn (library)statsmodels (library)tqdm (library)miniconda for it, and a little shell setup:Now I can run conda_init in any shell to set up conda for that session, and then run MFA from there.
/opt/homebrew/bin/air/Applications/R.app, /Library/Frameworks/R.framework/Resources/bin/usr/local/bin/R, /usr/local/bin/Rscript (symlinks to /Library/Frameworks/R.framework/Resources/bin)/opt/homebrew/bin/rbenv~/.rbenv/shims/ruby
rbenv install <version>; rbenv global <version>eval "$(rbenv init - bash)"~/.rbenv/shims/*
gem install <package>gem update <package>github-linguist~/.cargo/bin/rustup
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | shrustup self update~/.cargo/bin/*
rustup install <version>; rustup default <version>rustup update/Applications/Wolfram Engine.app
/Applications/WolframScript.app
/usr/local/bin/wolframscript (symlink to /Applications/WolframScript.app/Contents/MacOS/wolframscript)benchcodexcoreutils (GNU versions of commands, prefixed with g; e.g., gls, gcp)cowsaycurldopplerhq/cli/dopplerffmpegghgnupgjqlanguagetool: start with brew services start languagetoolneofetchpandoctreewgetwoff2Other libraries:
graphviz (used by networkx, DiagrammeR, and others)z3 (for theorem proving)