Installing HAOS with virt-install

I just used virt-install to install HAOS, and wanted to paste my steps here in case it helps someone else googling the process in the future. this isn’t a fully specified guide, and your system may require different steps, but these types of posts were what helped me get it done for myself.

sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils ovmf virt-manager
sudo adduser wbradmoore libvirt
sudo adduser wbradmoore kvm
systemctl status libvirtd
xz -d /home/wbradmoore/Downloads/haos_ova-15.2.qcow2.xz
sudo mv ~/Downloads/haos_ova-15.2.qcow2 /var/lib/libvirt/images/havm.qcow2
# decide on cpus and ram with lscpu and free -h
# use lsusb to get the usb vendor id/product id pair for --hostdev args. the cmd below exposes an aeotec zstick, conbee II, and APC UPS
virt-install --name havm --description "WC Home Assistant OS" --os-variant=generic --ram=8192 --vcpus=4 --disk /var/lib/libvirt/images/havm.qcow2,bus=scsi --controller type=scsi,model=virtio-scsi --import --graphics none --boot uefi --hostdev 051d:0002 --hostdev 0658:0200 --hostdev 1cf1:0030
# ctrl+] to get out of tty - 
sudo nmcli connection add type bridge ifname br0
sudo nmcli connection add type ethernet ifname enp0s1f0 master br0
sudo nmcli connection up bridge-br0
virsh edit havm
  # find <interface type='network'> block and update it to
  #   <interface type='bridge'>
  #     <mac address='xx:xx:xx:xx:xx:xx'/>
  #     <source bridge='br0'/>
  #     <model type='virtio'/>  
  #     <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
  #   </interface>
sudo nmcli connection add type bridge ifname br0
sudo nmcli connection add type ethernet ifname enp0s1f0 master br0
sudo nmcli connection up bridge-br0
sudo nmcli connection down "Wired connection 1"
# cli disconnects, available on new ip soon:
sudo nmcli connection up bridge-slave-enp0s1f0; sudo nmcli connection up bridge-br0
# cli disconnects, available on same ip soon
virsh shutdown havm
sudo tail -f /var/log/libvirt/qemu/havm.log
virsh start havm
# wait
arp -a | grep -i homeassistant
virsh edit havm

# replace conbee entry, see https://community.home-assistant.io/t/solved-conbee-2-fails-to-connect-to-zha-ha-in-unraid-vm/431276/2
#     <serial type='dev'>
#       <source path='/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2212347-if00'/>
#       <target type='usb-serial' port='1'>
#         <model name='usb-serial'/>
#       </target>
#       <alias name='serial0'/>
#       <address type='usb' bus='0' port='3'/>
#     </serial>

# check for open port of webui:
sudo nmap -p- 192.168.1.123