If you're into Virtual Machines for whatever reason at all there's a big chance you've been using Virtualbox and are quite happy with it. I was the same until I saw this YouTube video by ChrisTitusTech. This post will be mostly based off of his excellent tutorial but tailored towards the Arch Linux users.

Check if virtualization is enabled in BIOS

egrep -c '(vmx|svm)' /proc/cpuinfo

If this command returns a number greater than 0 it should be enabled.

If the output is zero however, you should enable VT-x (Virtualization Technology Extension) for Intel processor or AMD-V for AMD processors in your bios.

Installing the requirements

sudo pacman -S ebtables dnsmasq qemu libvirt virt-manager

Start the service

sudo systemctl enable --now libvirtd.service

Start Default Network for Networking

sudo virsh net-start default
sudo virsh net-autostart default
sudo virsh net-list --all

Add user permissions

sudo gpasswd -a $USER libvirt

After a quick reboot you should be all set and good to go!

Shared folder between host and guest

On Host:

Create a folder to share with your vm guest. For example something like /home/eli5/vm-shared.

Configure your folder in virtmanager by pressing Add Hardware in the virtual machine settings and selecting Filesystem in the seleciton menu. Here you should configure the following:

Please note the Driver being virtio-9p here.

On Guest:

From here on it's as simple as creating a folder to mount your share into and to do the actual binding:

mkdir /home/$USER/shared
mount -t 9p -o trans-virtio /hostshare /home/$USER/shared

There you have it, you can now share files between your host and guest easily in realtime.