Installation

brotli

Linux

$ sudo apt-get install brotli

Mac

$ brew install brotli

curl

Linux

$ sudo apt-get install curl

Mac

curl is part of the standard macOS installation.

Docker

Install Docker.

EasyRSA

Ensure that you install version 3.1.7 and not 3.2.0!

Version 3.2.0 is an incompatible development snapshot release.

Linux

Install EasyRSA.

Mac

Unfortunately, homebrew provides easy-rsa version 3.2.0 at this point in time (August 2024).

$ curl -L https://github.com/OpenVPN/easy-rsa/releases/download/v3.1.7/EasyRSA-3.1.7.tgz -o ~/Downloads/easy-rsa.tgz
$ tar -xzf ~/Downloads/easy-rsa.tgz -C ~/.local/share
$ mv  ~/.local/share/EasyRSA-3.1.7 ~/.local/share/easyrsa
$ ln -s ~/.local/share/easyrsa/easyrsa ~/.local/bin/easyrsa
$ rm ~/Downloads/easy-rsa.tgz

exiftool

Linux

$ sudo apt-get install exiftool

Mac

$ brew install exiftool

gifsicle

Linux

$ sudo apt-get install gifsicle

Mac

$ brew install gifsicle

GitHub CLI

Linux

Install GitHub CLI.

Mac

$ brew install gh

Gradle

First install a JDK.

There are multiple options of installing Gradle.

The recommended way is to install via SDKMAN!:

$ sdk install gradle

gzip

Linux

$ sudo apt-get install gzip

Mac

$ brew install gzip

hadolint

Linux

Install hadolint.

Mac

$ brew install hadolint

JDK

There are several different JDKs and multiple options of installing them.

$ sdk install java

More Information

jpegoptim

Linux

$ sudo apt-get install jpegoptim

Mac

$ brew install jpegoptim

jq

Linux

$ sudo apt-get install jq

Mac

$ brew install jq

Node Version Manager

Install fnm or NVM.

fnm

~/.zprofile
if command -v fnm >/dev/null 2>&1; then
  eval "$(fnm env --use-on-cd)"
fi

nvm

~/.zshrc
export NVM_DIR="${HOME}/.nvm"

[ -s "${NVM_DIR}/nvm.sh" ] && . "${NVM_DIR}/nvm.sh"
[ -s "${NVM_DIR}/bash_completion" ] && . "${NVM_DIR}/bash_completion"

if command -v nvm >/dev/null 2>&1; then
  autoload -U add-zsh-hook
  load-nvmrc() {
    local nvmrc_path="$(nvm_find_nvmrc)"
    if [ -n "${nvmrc_path}" ]; then
      local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
      if [ "${nvmrc_node_version}" = "N/A" ]; then
        nvm install
      elif [ "${nvmrc_node_version}" != "$(nvm version)" ]; then
        nvm use
      fi
    elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
      echo 'Reverting to nvm default version'
      nvm use default
    fi
  }

  add-zsh-hook chpwd load-nvmrc
  load-nvmrc
fi

OpenSSL

Linux

$ sudo apt-get install openssl

Mac

openssl is part of the standard macOS installation.

optipng

Linux

$ sudo apt-get install optipng

Mac

$ brew install optipng

oxipng

Linux

Install oxipng.

Mac

$ brew install oxipng

qpdf

Linux

$ sudo apt-get install qpdf

Mac

$ brew install qpdf

ShellCheck

Linux

$ sudo apt-get install shellcheck

Mac

$ brew install shellcheck

shfmt

Linux

$ sudo apt-get install shfmt

Mac

$ brew install shfmt

unzip

Linux

$ sudo apt-get install unzip

Mac

unzip is part of the standard macOS installation.

yamllint

Linux

$ sudo apt-get install yamllint

Mac

$ brew install yamllint

zstd

Linux

$ sudo apt-get install zstd

Mac

$ brew install zstd