I’ve just setup a new mac and used the following scripts to get it 90% setup to my liking, using Homebrew to install as much as possible in one go. Once this had been run and I copied over my dotfiles I was pretty much ready to go.
-
Install homebrew package manager:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Create a file call
Brewfile
(no extension) that has contents like this:tap "homebrew/bundle" tap "homebrew/cask" tap "homebrew/core" tap "homebrew/services" # Microsoft Azure CLI 2.0 brew "azure-cli" # Bourne-Again SHell, a UNIX command interpreter brew "bash" # Clone of cat(1) with syntax highlighting and Git integration brew "bat" # GNU binary tools for native development brew "binutils" # Platform built on V8 to build network applications brew "node" # GNU File, Shell, and Text utilities brew "coreutils" # Get a file from an HTTP, HTTPS or FTP server brew "curl" # Programming language for highly scalable real-time systems brew "erlang" # Functional metaprogramming aware language built on Erlang VM brew "elixir" # Modern replacement for 'ls' brew "exa" # Command-line fuzzy finder written in Go brew "fzf" # GitHub command-line tool brew "gh" # Distributed revision control system brew "git" # GNU implementation of the famous stream editor brew "gnu-sed" # Simple jira command-line client in Go brew "go-jira" # Ping, but with a graph brew "gping" # Image processing tools collection brew "graphicsmagick" # Make JSON greppable brew "gron" # Improved top (interactive process viewer) brew "htop" # Add GitHub support to git on the command-line brew "hub" # Configurable static site generator brew "hugo" # Interpreted, interactive, object-oriented programming language brew "[email protected]" # Tools and libraries to manipulate images in many formats brew "imagemagick" # Tools and libraries to manipulate images in many formats brew "[email protected]" # JSON output from a shell brew "jo" # Lightweight and flexible command-line JSON processor brew "jq" # Modern load testing tool, using Go and JavaScript brew "k6" # Just-In-Time Compiler (JIT) for the Lua programming language brew "luajit", args: ["HEAD"] # Package manager for the Lua programming language brew "luarocks" # Securely transfers data between computers brew "magic-wormhole" # Simple tool to make locally trusted development certificates brew "mkcert" # Ambitious Vim-fork focused on extensibility and agility brew "neovim", args: ["HEAD"] # Swiss-army knife of markup format conversion brew "pandoc" # Object-relational database system brew "postgresql" # Monitor data's progress through a pipe brew "pv" # Persistent key-value database, with built-in net interface brew "redis" # Perl-powered file rename script with many helpful built-ins brew "rename" # Search tool like grep and The Silver Searcher brew "ripgrep" # Safe, concurrent, practical language brew "rust" # Tool for shell commands execution, visualization and alerting brew "sampler" # Cross-shell prompt for astronauts brew "starship" # Cleans your SVG files by removing unnecessary data brew "svgcleaner" # Code-search similar to ack brew "the_silver_searcher" # Terminal multiplexer brew "tmux" # Display directories as trees (with optional color/HTML output) brew "tree" # Truncates a file to a given size brew "truncate", link: false # Extract, view, and test RAR archives brew "unrar" # Extraction utility for .zip compressed archives brew "unzip" # Vi 'workalike' with many additional features brew "vim" # Watch files and take action when they change brew "watchman" # Internet file retriever brew "wget" # HTTP benchmarking tool brew "wrk" # JavaScript package manager brew "yarn" # Download YouTube videos from the command-line brew "youtube-dl" # UNIX shell (command interpreter) brew "zsh" # Application launcher and productivity software cask "alfred" # Utility that prevents the system from going to sleep cask "caffeine" # App to build and share containerized applications and microservices cask "docker" # Web browser cask "firefox" # Web browser cask "google-chrome" # HTTP and GraphQL Client cask "insomnia" # Terminal emulator as alternative to Apple's Terminal app cask "iterm2" # GPU-based terminal emulator cask "kitty" cask "microsoft-teams" # Collaboration platform for API development cask "postman" # QuickLook generator for Markdown files cask "qlmarkdown" # Store SSH keys in the Secure Enclave cask "secretive" # Block your own access to distracting websites cask "selfcontrol" # Team communication and collaboration software cask "slack" # Unpacks archive files cask "the-unarchiver" # Configurable document editor that supports Markdown cask "typora" # Open-source code editor cask "visual-studio-code"
-
From the same folder run
brew bundle install --file=./Brewfile