From 35c89909acf95261d58fafcf272504e76d021ad6 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Tue, 31 Mar 2026 21:32:47 +0200 Subject: [PATCH] Add KVM and virt-manager to Void desktop --- ansible/inventory/group_vars/desktop.yml | 9 ++++ .../profile_desktop_common/tasks/main.yml | 45 +++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index 2ab863f..cd6736b 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -75,14 +75,17 @@ profile_packages: - alacritty - bluez - blueman + - bridge-utils - celluloid - chromium - deluge-gtk + - dnsmasq - emacs-gtk3 - exo - fontconfig-devel - freetype-devel - gufw + - libvirt - libspa-bluetooth - libreoffice - liberation-fonts-ttf @@ -94,6 +97,10 @@ profile_packages: - nerd-fonts-symbols-ttf - pdfarranger - playerctl + - qemu + - qemu-firmware + - qemu-img + - qemu-tools - remmina - ristretto - rsync @@ -101,6 +108,8 @@ profile_packages: - terminus-font - Thunar - thunar-volman + - virt-manager + - virt-manager-tools - wireplumber - xarchiver - xournalpp diff --git a/ansible/roles/profile_desktop_common/tasks/main.yml b/ansible/roles/profile_desktop_common/tasks/main.yml index 0a6c2dd..e464c49 100644 --- a/ansible/roles/profile_desktop_common/tasks/main.yml +++ b/ansible/roles/profile_desktop_common/tasks/main.yml @@ -56,6 +56,51 @@ line: "password optional pam_gnome_keyring.so use_authtok" state: present +- name: Check whether libvirt service directory exists + tags: [packages, services] + ansible.builtin.stat: + path: /etc/sv/libvirtd + register: libvirtd_service_dir + +- name: Enable libvirt daemon service + tags: [packages, services] + ansible.builtin.file: + src: /etc/sv/libvirtd + dest: /var/service/libvirtd + state: link + when: libvirtd_service_dir.stat.exists + +- name: Check virtualization group availability + tags: [packages] + ansible.builtin.getent: + database: group + key: "{{ item }}" + loop: + - kvm + - libvirt + loop_control: + label: "{{ item }}" + register: desktop_virtualization_group_state + failed_when: false + +- name: Add desktop user to virtualization groups + tags: [packages] + ansible.builtin.user: + name: "{{ username }}" + groups: "{{ item }}" + append: true + loop: >- + {{ + desktop_virtualization_group_state.results + | default([]) + | selectattr('failed', 'equalto', false) + | selectattr('ansible_facts.getent_group', 'defined') + | map(attribute='item') + | list + }} + loop_control: + label: "{{ item }}" + - name: Ensure emptty log directory exists tags: [packages, services, emptty] ansible.builtin.file: