Includes:
- docker
- python 3.9 + pipx + virtualenvwrapper
- java 11
- node LTS
- git with handy aliases including file number shortcuts via scmpuff
- zsh + dotfiles + fzf + zsh-z
- Ubuntu 22.04 / 24.04
- Install curl:
sudo apt-get install -y curl
Download, extract and run the install scripts:
curl -fsSL https://raw.githubusercontent.com/tekumara/setup-ubuntu/main/install.sh | bash
Download and extract the scripts without running them:
curl -fsSL https://raw.githubusercontent.com/tekumara/setup-ubuntu/main/install.sh | bash -s -- --skip-install
Or use setup-ubuntu.yaml cloud config as your cloud-init userdata file.
Run make to see all options for development, test, and publish.
A development docker image is provided to help develop the scripts locally (see Dockerfile).
The installer supports installing as root, or a user using sudo. When installed via cloud-init the installer will be running as root.
When adding ubuntu packages repos follow the existing pattern. Do not install software-properties-common and use add-apt-repository. The software-properties-common package installs python3, python3-dbus, and python3-apt which adds python packages to /usr/lib/python3/dist-packages. Anything in /usr/lib/python3/dist-packages is added to all python interpreters' PYTHONPATH. This can affect the deadsnakes version of python we install (see python.sh).