Wonna be Ansible playbook for setting up dev-vm. Currently its just a list of commands and instructions to setup my VM.
Note: replace {user}
with the new user name in the VM.
sudo apt-get update
sudo apt-get install qemu-guest-agent
sudo systemctl enable qemu-guest-agent
useradd -m {user}
passwd {user}
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 2222
/etc/ssh/sshd_config Port 2222
/etc/ssh/sshd_config PasswordAuthentication no
sudo service ssh restart
ssh-copy-id ioannis@ioannis-vm
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
ssh-keygen -t rsa -b 4096 -C "name@domain.com"
mkdir ~/code && ~/code
git clone ...
sudo usermod -aG docker {user}
sudo apt install postgresql-client-common
sudo snap install go --classic
scp -P 2222 /.vimrc {user}@{user}-dev-vm:/.vimr
run :GoInstallBinaries to setup vim-go plug-in
sudo apt install python3-pip
python3 -m pip install pre-commit
sudo apt install net-tools
sudo apt install ipmiutil
go install https://github.com/nektos/act
sudo apt install jq
curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | bash
sudo apt install moreutils