This little tutorial will show you how to turn an Ubuntu Droplet (VM) on DigitalOcean into a NixOS Droplet using nixos-infect. NixOS is a Linux distribution which is declaratively configured using a specification written in the Nix expression language describing the desired state of the system. It supports automatic upgrades and rollbacks. Aside from DigitalOcean, you can run NixOS on most common computers. It’s possible to run NixOS on ARM64 computers, like on the Raspberry Pi 3.
In this tutorial we’ll create a NixOS virtual machine using Vagrant. This setup can be useful to setup an environment for learning NixOS. NixOS is a Linux distribution which is declaratively configured using a specification written in the Nix expression language describing the desired state of the system. It supports automatic upgrades and rollbacks. If something goes wrong, just revert to the working state. NixOS runs on common computers and architectures, and can be used both on laptops or workstations with a desktop environment, or on servers, both x86_64 and ARM64, like on the Raspberry Pi 3.
I’ve assembled a list of useful single board computers (SBCs) for use in homelabs. They are essentially low power computers useful for lightweight tasks and experimentation. I’ve used them (and still do) for certain tasks, especially when I’ve wanted to experiment with various things on the ARM64 platforum. FriendlyARM NanoPi M4 (6 ARM64 cores, 2/4GB LPDDR3/LPDDR4 RAM) – a really useful board for storage applications. It features a PCI Express interface, allowing for multiple SATA ports using the SATA hat or an NVMe drive using the NVMe hat.
This guide will help you set up a Kubernetes cluster, including a service mesh using k3s (at the time of writing at version 0.10.2) and Rio. We’ll deploy the cluster on DigitalOcean. Ubuntu 18.04 LTS will be OS during this tutorial. If you sign up to DigitalOcean using this link you’ll receive $50 to spend on their services over 30 days. If you wish to run your cluster on your own hardware, you could do so on Raspberry Pis (ARM64) or Intel NUCs (x86_64) for example.
In this tutorial we’ll install vagrant-libvirt on a Mac running macOS (tested on High Sierra and Mojave). vagrant-libvirt is a plugin for Vagrant that allows you to interact with libvirt virtualization hosts, local or remote. Vagrant can be used to build and manage virtual machines and is useful for development. Vagrant runs most platforms, including MacBook Pros and the Raspberry Pi. Libvirt is a “toolkit to manage virtualization platforms”, and supports a variety of virtualization backends, including, but not limited to, KVM, QEMU, Xen, VMWare and LXC.