--- /dev/null
+# this script is intended to be run in a VM
+# running ubuntu 20.04 server
+# from the root directory of this repo
+
+echo "This script is intended to be run in a VM."
+echo "It may do things to your OS that you don't want to be peristent."
+echo "Please type virtualmachine to continue, or Ctrl-C to quit."
+
+read passage
+
+if [ "$passage" = "virtualmachine" ]; then
+ echo "Installing dev environment"
+else
+ echo "Did not type virtualmachine, quitting with no changes applied"
+ exit
+fi
+
+# set up place for local binaries
+mkdir $HOME/.bin
+echo "export PATH=$PATH:$HOME/.bin" >> $HOME/.bashrc
+source $HOME/.bashrc
+
+# allow python3 to be run with python command
+ln -s /usr/bin/python3 $HOME/.bin/python
+
+# install firefox and other dependencies
+sudo apt-get -y install firefox unzip openjdk-11-jre-headless xvfb libxi6 libgconf-2-4
+# install chrome
+curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add
+sudo sh -c "echo \"deb https://dl.google.com/linux/chrome/deb/ stable main\" >> /etc/apt/sources.list.d/google-chrome.list"
+sudo apt-get -y update
+sudo apt-get -y install google-chrome-stable
+
+# install nodejs for running tests
+curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash
+# load nvm
+source $HOME/.bashrc
+export NVM_DIR="$HOME/.nvm"
+[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
+[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
+# install latest node
+nvm install node
+# install jasmine
+cd tests
+npm install --global jasmine
+npm install selenium-webdriver
+# install gecko webdriver for firefox
+wget https://github.com/mozilla/geckodriver/releases/download/v0.27.0/geckodriver-v0.27.0-linux64.tar.gz --output-document=/tmp/geckodriver.tar.gz
+tar -xf /tmp/geckodriver.tar.gz -C $HOME/.bin
+# install chrome webdriver for chromium
+wget https://chromedriver.storage.googleapis.com/85.0.4183.87/chromedriver_linux64.zip --output-document=/tmp/chromedriver.zip
+unzip /tmp/chromedriver.zip -d $HOME/.bin
+
+# to run tests
+# cd tests
+# Xvfb :1 -screen 1 1024x768x24 & export DISPLAY=:1.1
+# BROWSER=firefox jasmine spec/tests.js
+# BROWSER=chrome jasmine spec/tests.js