I have not been using this box anymore because I prefer to use WSL2 on Windows rather than VirtualBox, so it does not make sense to me to keep maintaining it.
Furthermore, I have putted much more effort on my dotfiles, which contains the latest and greatest enhancements, and then I use it to bootstrap any VM with a single command. That means that for me, my dotfiles project is replacing dev-ubuntu.
If this project worked well for you and you would like to keep using it (instead of moving to some dotfiles-like approach), I would suggest you to fork this repository and setup your own.
Ephemeral development environments such as Gitpod and GitHub Codespaces has never been so popular, and that is another reason why not to use a heavy VM.
The latest version of this box will still be available in Vagrant Cloud to download, but no more versions will be published, including the periodic builds. Older versions were deleted to due to space saving.
This box is based on peru/ubuntu-20.04-desktop-amd64
, which is a vagrant box for Ubuntu 20.04 Desktop.
For running this box, you need to have the following tools:
💡 Pro tip
On Windows, you can install both at once with Chocolatey with
choco install virtualbox vagrant
This box is available on Vagrant Cloud. For using it:
Create a new folder on your computer, like:
mkdir ~/my-dev-ubuntu
Open a new terminal there and run:
vagrant init felipecrs/dev-ubuntu
Notice that a new file called Vagrantfile
was created. In this file, you can set your personal options for your VM. For a good example, check my own Vagrantfile
at my-dev-ubuntu. There you can find snippets for changing the keyboard layout, timezone and more.
Run the VM and be happy!
vagrant up
This box is often updated. If you already a VM created from an older version, to update it you have to perform the following steps:
Delete the VM, and this will wipe its data, so be sure you didn't left anything important there.
vagrant destroy
Download the new box with:
vagrant box update
The rest of this documentation covers technical details about how this project works.
This box is automatically built by Travis. Every new commit triggers a new build. We use semantic-release
to determine whether we need to release a new version or not. The loop also tests the new deployed box before releasing it by running vagrant up
on that version. If it fails, it doesn't release the version and deletes it. For more details check the .travis.yml
and also the ci/deploy.sh
.
The whole process is:
vagrant up
vagrant package
semantic-release
to determine whether the build should be released or not and generate the release notesvagrant up
of itYou can also build the box from source with the following steps:
Clone the repository, start a new terminal there, and run:
vagrant up
After the provision is done, you can turn the VM into a box with:
vagrant package --vagrantfile src/Vagrantfile
Then, you can add this generated box to your local boxes catalog with:
vagrant box add package.box dev-ubuntu
And then you can perform the steps from Creating a VM from this box as usual, such as:
mkdir ~/my-dev-ubuntu
cd ~/my-dev-ubuntu
vagrant init dev-ubuntu
vagrant up
💡 Pro tip
You can also use the
test_local.sh
script which performs all these previous steps automatically.