Skip to content

Instantly share code, notes, and snippets.

@victorouse
Created May 25, 2022 08:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save victorouse/5ba1d52c102ff2f4f997a9623c15724a to your computer and use it in GitHub Desktop.
Save victorouse/5ba1d52c102ff2f4f997a9623c15724a to your computer and use it in GitHub Desktop.
Aw brew
# ## Introduction
#
# This file installs many apps, including office suites, multimedia suites,
# programming langauges, unix utilities, sysadmin tools, and fonts.
#
# This file is organized in meaningful sections because we want to
# make it easy for you to pick and choose sections that you want.
#
# There are many TODO items in this file. If you want, help us
# describe these and organize them into the relevant sections.
#
# The file is generally organized in these sections:
#
# * Software that's fine for everyone,
# e.g., browsers, players, editors.
#
# * Software that's especially suitable for programmers,
# e.g., compilers, databases, languages, servers, etc.
#
# * Paid software that requires a license or purchase,
# e.g. JetBrains, OmniGroup, Paw, etc.
#
# * Libraries: operating system libraries e.g. lib*.
#
# * TODO: a section of uncategorized software.
#
# * Fonts
#
# ### About Brewfile capabilities
#
# To learn about Brewfile capabilties, please see:
#
# * http://brew.sh/
# * http://homebrew-file.readthedocs.io/
# * https://github.com/Homebrew/homebrew-bundle
#
#
# ### Usage
#
# To use this Brewfile via `brew bundle`:
#
# $ brew bundle
##
##
# Preflight
##
# Tap homebrew
tap 'homebrew/cask'
tap 'homebrew/cask-drivers'
tap 'homebrew/cask-fonts'
tap 'homebrew/cask-versions'
tap 'homebrew/core'
tap 'homebrew/bundle'
tap 'homebrew/services'
###########################################################################
#
# SOFTWARE THAT IS TYPICALLY FINE FOR EVERYONE
#
###########################################################################
##
# Browsers
##
# Google Chrome web browser
cask 'google-chrome'
##
# Chat
#
# We favor Riot.im because it is free open source,
# and also works closely with Mozilla foundation.
##
# Discord chat
cask 'discord'
# Slack chat client
cask 'slack'
##
# Terminals
#
# We typically use `tmux`, `tmate`,
# and sometimes fall back on `screen`.
##
# iTerm is our favorite terminal app.
cask 'iterm2'
# Terminal prompt
brew 'starship'
# Tmux is a newer terminal multiplexer.
brew 'pkg-config', link: true
brew 'tmux'
brew 'reattach-to-user-namespace'
# tmate is a fork of tmux that makes screen sharing friendlier.
brew 'tmate'
##
# Shells
##
# Bash is the Bourne Again SHell. Bash is an sh-compatible shell.
brew 'bash'
# Programmable completion functions for bash
brew 'bash-completion'
# Super fast terminal emulator
cask 'alacritty'
##
# Passwords
#
# We use password-manager applications with many of our projects.
# If you don't use these, feel free to delete them.
##
# 1password is a password manager
cask '1password'
##
# Editors
#
# We typically use command line editors (vim, emacs, etc.)
# and sometimes use GUI editors (atom, sublime, etc.)
##
# bat is like `cat` plus line numbers, syntax highlighting, and more.
brew 'bat'
# Better diff
brew 'diff-so-fancy'
# less is like `more` plus has more capability.
brew 'less'
# Vim editor
brew 'vim'
# Neovim editor
brew 'neovim'
# Screen recorder
cask 'kap'
##
# Downloaders
#
# These items download files and fetch content from the network.
##
# curl is a command line tool for transferring data with URL syntax.
brew 'curl', link: true
# Wget is a free software package for retrieving files using HTTP and FTP.
brew 'wget'
##
# Version control
#
# We prefer `git` version control. We also work on a wide
# range of systems, so we also sometimes use CVS, HG, and SVN.
##
# Git is a free and open source distributed version control system.
brew 'git'
##
# System related
#
# These are fundamental operating system tools that we use often.
##
# GNU Privacy Guard (GnuPG) provides encryption as a free replacement for PGP.
brew 'gpg'
# OpenSSL is an open-source implementation of the SSL and TLS protocols.
brew 'openssl'
# pkg-config is a helper tool used when compiling applications and libraries.
brew 'pkg-config', link: true
# Functions for use by applications that allow users to edit command lines while typing.
brew 'readline'
# pkg-config is a helper tool used when compiling applications and libraries.
brew 'pkg-config'
# PCRE: Perl-compatible regular expressions, for better searching.
brew 'pcre'
brew 'pcre++'
# fd: a simple, fast and user-friendly alternative to find.
brew 'fd'
# FZF is a command line fuzzy finder.
brew 'fzf'
##
# File synchronization
#
# We use `rsync` for our systems administration,
# and a variety of web-based services for file sharing.
##
# Transmission bittorrent client.
brew 'transmission-cli'
cask 'transmission'
##
# Text search
#
# We prefer ripgrep because it is very fast and very safe.
##
# ripgrep is text search; we prefer it over grep, ag, git grep, ucg, pt, sift.
brew 'ripgrep'
# jq is a lightweight and flexible command-line JSON processor.
brew 'jq'
# yq is a lightweight and flexible command-line YAML processor.
brew 'yq'
##
# Multimedia
##
# Image libraries
brew 'libgphoto2'
brew 'libpng'
brew 'libtiff'
## Misc
# TODO
brew 'imagemagick'
##
# Server-Related
##
# Docker software containers to help distribute applications.
brew 'docker'
# Compose is a tool for defining and running multi-container Docker applications.
brew 'docker-compose'
# Docker Machine installs Docker Engine on virtual hosts, and manages the hosts.
brew 'docker-machine'
##
# Brew cask enables installing typical Mac OS X applications.
# For example, these formulas may download a `*.dmg` file,
# then unpack it into the correct `/Applications` directory,
# and possibly configure the app with typical settings.
##
# Spotify music player
cask 'spotify'
# Raycast (better Spotlight)
cask 'raycast'
# Notes
cask 'obsidian'
##
# Mac App Store
#
# We use the Mac App Store only when an app is not available
# in a comparable way via brew install and/or brew cask.
#
# We comment out the "mas" commands below, because Apple has
# changed the App Store capability for command line sign in.
#
# Feel free to uncomment any of the below commands that you
# want, try them, and see if you're able to sign in manually.
##
# Our favorites
mas 'Slack', id: 803453959
##
# Environment
##
##
# Shell
##
# Shell script syntax check linter
brew 'shellcheck'
###########################################################################
#
# SOFTWARE THAT IS ESPECIALLY SUITABLE FOR DEVELOPERS
#
###########################################################################
# Postgres commmand line interface (CLI) with autocomplete
brew 'pgcli'
brew 'libpq'
##
# Programming languages
#
# This section installs many programming languages:
# Clojure, Elixir, Erlang, Go, Haskell, Java, JavaScript,
# Perl, Python, R, Ruby, Scala, Swift, and tooling.
##
## Clojure
## Elixir
# Elixir programming language built on top of the Erlang VM.
brew 'elixir'
## Erlang
# Erlang programming language for scalable high-availability systems.
brew 'erlang'
## Go
# Go programming language by Google; compare `C`.
brew 'go'
## Haskell
# Cabal is a package manager for Haskell
brew 'ghc'
brew 'cabal-install'
## Java
# Java programming language
brew 'temurin11'
# Gradle is a Java build tool
brew 'gradle'
# Maven is a Java build tool
brew 'maven'
# Android
cask 'android-studio'
cask 'android-file-transfer'
cask 'android-messages'
cask 'android-ndk'
brew 'android-sdk'
cask 'android-platform-tools'
cask 'android-commandlinetools'
## JavaScript
# Node.js / npm / yarn
brew 'nvm'
brew 'yarn'
brew 'watchman'
# V8 JavaScript Engine.
brew 'v8'
## Lua
# Lua scripting language
brew 'lua'
# Lua just-in-time compiler
brew 'luajit'
## Python
# Python programming language, esp. for systems scripting.
brew 'python'
brew 'python3'
## Ruby
# chruby changes the current Ruby.
brew 'chruby'
# Ruby programming language; compare `perl`, `python`.
brew 'ruby'
# Fastlane
brew 'fastlane'
# Cocoapods
brew 'cocoapods'
# Tool to install various implementations of Ruby.
brew 'ruby-install'
## Rust
# Rust programming language
brew 'rustup'
## iOS, Objective-C, Swift
# Command-line application launcher for the iOS Simulator
brew 'ios-sim'
##
# Programming processes
##
## Compilers
# GCC GNU Compiler Collection
brew 'gcc'
# LLVM compiler
brew 'llvm'
## Documentation
## Serializers
# Protocol buffers for serializing structured data; compare thrift.
brew 'protobuf'
brew 'protobuf-c'
##
# Platforms
##
# Amazon Web Services (AWS) Command Line Interface (CLI)
brew 'awscli'
# Google Cloud Platform (GCP)
cask 'google-cloud-sdk'
## Provisioning
# Terraform common configuration to launch infrastructure.
brew 'terraform'
## Containeriztion
# Docker assembles applications from components.
cask 'docker'
## Orchestration
# Kubernetes command-line tool to run commands against Kubernetes clusters.
brew 'kubectl'
# Run a single-node Kubernetes cluster in a virtual machine on your personal computer.
brew 'minikube'
###########################################################################
#
# LIBRARIES
#
###########################################################################
##
# Libraries
#
# We do this near the end of this file,
# because we expect these will already be
# installed by a bunch of the software above.
#
# This section here is really just to cover our
# bases to make sure we have the libraries that we
# sometimes need for building other software later on.
##
# THe libevent API provides provides asynchronous event notification and callbacks.
brew 'libevent'
# Magic number recognition library for file types.
brew 'libmagic'
# Audio/Visual converters
brew 'libav'
# Curl web fetcher
#brew 'libcurl' # EOL
# Foreign Function Interface Library
brew 'libffi'
# Text encoding
brew 'libiconv'
# File magic number recognizer
brew 'libmagic'
# Sodium secure cryptography
brew 'libsodium'
# GNU libtool is a generic library support script.
brew 'libtool'
# XML handlers
brew 'libxml2'
brew 'libxslt'
# High-level interface to X.509 and CMS (Cryptographic Message Syntax)
brew 'libksba'
# YAML markup language
brew 'libyaml'
# YAML lint validator
brew 'yamllint'
# Images
brew 'libjpg'
brew 'libpng'
brew 'libtiff'
###########################################################################
#
# TODO
#
###########################################################################
# TODO
brew 'autoconf'
# TODO
brew 'base64'
# TODO
brew 'bind'
# TODO
brew 'ctags'
# TODO
brew 'dpkg'
# TODO
brew 'htop'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment