content: FROM ubuntu:bionic-20200311
  
  # Updates path with node, npm, npx, and globally installed npm packages
  ENV node=12.18.1
  ENV PATH="${PATH}:/node-v${node}-linux-x64/bin"
  
  # already contains
  #       apt=1.6.12
  #       apt-get=1.6.12
  #       awk
  #       bash=4.4.20
  #       bzip2=1.0.6
  #       gnu_coreutils=8.28
  #       grep=3.1
  #       gzip=1.6
  #       perl=26
  #       sed=4.4
  #       tar=1.29
  #       tput #todo
  RUN apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install --no-install-recommends -y -qq \
          ack=2.22* \
          ant=1.10.5* \
          apache2-utils=2.4* `# ab=2.3` \
          apt-utils `# todo` \
          aptitude=0.8.10* \
          autojump=22.5.0* \
          awscli=1.14.44* `# aws=1.14.44` \
          build-essential zlib1g-dev libssl-dev libncurses-dev libffi-dev libsqlite3-dev libreadline-dev libbz2-dev `# required for eb` \
          bzr=2.7.0+bzr6622-10 `# bzr=2.8.0` \
          curl=7.58.0* \
          docker.io=19.03.6* `# docker=19.03.6` \
          emacs=47.0 `# emacs=25.2.2` \
          file=1:5.32* \
          gcc=4:7.4.0-1ubuntu2.3 `# gcc=7.5.0` \
          git=1:2.17.1* \
          gpg-agent `# todo:apt-key` \
          gradle=4.4.1* \
          groovy=2.4.16* \
          httpie=0.9.8* `# http=0.9.8` \
          hugo=0.40.1* \
          jq=1.5* \
          leiningen=2.8.1* `# lein=2.8.1` \
          locales `# required for brew` \
          make=4.1* \
          maven=3.6.0* `# mvn=3.6.0` \
          mercurial=4.5.3* `# hg=4.5.3` \
          nano=2.9.3* \
          openjdk-11-jdk-headless=11.0.7* `# java=11.0.7 # javac=11.0.7` \
          perl6=6.c-1 `# perl6=2018.03` \
          php=1:7.2+60ubuntu1 `# php=7.2.24` \
          postgresql-client=10+190* `# psql=10.12` \
          pv=1.6.6* \
          python=2.7.15~rc1-1 `# python=2.7.17` \
          python3=3.6.7-1~18.04 `# python3=3.6.9` \
          r-cran-littler=0.3.3* `# R=3.4.4` \
          rake=12.3.1* \
          ruby=1:2.5.1 \
          ruby-bundler=1.16.1* `# bundle=1.16.1` \
          rubygems `# gem=2.7.6` \
          scala=2.11.12* \
          silversearcher-ag=2.1.0* `# ag=2.1.0` \
          software-properties-common `# todo:add-apt-repository` \
          subversion=1.9.7* `# svn=1.9.7` \
          sudo=1.8.21* \
          tree=1.7.0* \
          unar=1.10.1* \
          unzip=6.0-21ubuntu1 `# unzip=6.00` \
          vim=2:8.0* \
          wget=1.19.4* \
          xz-utils=5.2.2* `# xz=5.2.2` \
          yarn `# yarn=0.32` \
          zip=3.0* \
          zsh=5.4.2* && \
      \
      commit="87b16eb" `# bats=1.2.0` && \
      curl -L "https://github.com/bats-core/bats-core/tarball/${commit}" | tar xz && \
      "bats-core-bats-core-${commit}/install.sh" /usr/local && \
      \
      brew=2.2.13 && \
      git clone --depth=1 --branch ${brew} https://github.com/Homebrew/brew && \
      locale-gen en_US en_US.UTF-8 && \
      eval $(brew/bin/brew shellenv) && \
      ln -s /brew/bin/brew /usr/local/bin/brew && \
      brew --version && \
      \
      code=1.44.2 && \
      curl -L "https://az764295.vo.msecnd.net/stable/ff915844119ce9485abfe8aa9076ec76b5300ddd/code_${code}-1587059832_amd64.deb" --output code_${code}.deb && \
      `# installing missing dependencies requires apt update which is the first done above` \
      dpkg -i code_${code}.deb || apt-get install -f -y && \
      rm -f code_${code}.deb && \
      \
      commit="102025c" `# eb=3.18.1` && \
      curl -L "https://github.com/aws/aws-elastic-beanstalk-cli-setup/tarball/${commit}" | tar xz && \
      "aws-aws-elastic-beanstalk-cli-setup-${commit}/scripts/bundled_installer" && \
      ln -s /root/.ebcli-virtual-env/executables/eb /usr/local/bin/eb && \
      \
      gcloud=289.0.0 && \
      curl -L "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${gcloud}-linux-x86_64.tar.gz" | tar xz && \
      ln -s /google-cloud-sdk/bin/gcloud /usr/local/bin/gcloud && \
      \
      gor=1.0.0 && \
      curl -L "https://github.com/buger/goreplay/releases/download/v${gor}/gor_${gor}_x64.tar.gz" | tar xz --directory /usr/local/bin && \
      \
      hub=2.14.2 && \
      curl -fsSL "https://github.com/github/hub/raw/master/script/get" | bash -s ${hub} && \
      \
      kotlin=1.3.72 && \
      curl -L "https://github.com/JetBrains/kotlin/releases/download/v${kotlin}/kotlin-compiler-${kotlin}.zip" -o /kotlin.zip && \
      unzip kotlin.zip && rm kotlin.zip && \
      ln -s /kotlinc/bin/kotlin /usr/local/bin/kotlin && \
      ln -s /kotlinc/bin/kotlinc /usr/local/bin/kotlinc && \
      \
      netlifyctl=0.4.0 && \
      curl -L "https://github.com/netlify/netlifyctl/releases/download/v${netlifyctl}/netlifyctl-linux-amd64-${netlifyctl}.tar.gz" | tar xz --directory /usr/local/bin && \
      \
      rg=12.0.1 && \
      curl -L "https://github.com/BurntSushi/ripgrep/releases/download/${rg}/ripgrep-${rg}-x86_64-unknown-linux-musl.tar.gz" | tar xz && \
      ln -s "/ripgrep-${rg}-x86_64-unknown-linux-musl/rg" /usr/local/bin/rg && \
      \
      sbt=1.3.4 && \
      curl -L "https://piccolo.link/sbt-${sbt}.tgz" | tar xz && \
      ln -s /sbt/bin/sbt /usr/local/bin/sbt && \
      sbt --version && sbt --version && \
      \
      add-apt-repository -y ppa:longsleep/golang-backports `#go` && \
      add-apt-repository -y ppa:ondrej/php `#php5` && \
      add-apt-repository -y ppa:projectatomic/ppa `#podman` && \
      wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - `#subl` && \
      add-apt-repository -y "deb https://download.sublimetext.com/ apt/stable/" `#subl` && \
      apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install --no-install-recommends -y -qq \
          golang-go=2:1.14* `# go=1.14.2` \
          php5.6=5.6.40* `# php5=5.6.40` \
          podman=1.6.2* \
          sublime-text=3211 `# subl=3211` && \
      ln -s /usr/bin/php5.6 /usr/bin/php5 && \
      \
      curl -L "https://nodejs.org/dist/v${node}/node-v${node}-linux-x64.tar.gz" | tar xz && \
      \
      npm install --global --no-optional `# npm=6.14.5` \
          brunch@"=3.0.0" \
          grunt-cli@"=1.3.2" \
          gulp-cli@"=2.2.0" \
          heroku@"=7.39.3" \
          netlify-cli@"=2.33.0" \
          serverless@"=1.67.3" `# sls=1.67.3` && \
      \
      apt-get -y autoremove && apt-get -y clean && rm -rf /var/lib/apt/lists/*
  