diff --git a/setup/modules/optional-Modules/apps/qemu.sh b/setup/modules/optional-Modules/apps/qemu.sh new file mode 100644 index 0000000..d1aa336 --- /dev/null +++ b/setup/modules/optional-Modules/apps/qemu.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -euo pipefail + +# QEMU/KVM + libvirt stack + virt-manager GUI +sudo pacman -S --noconfirm --needed \ + qemu-full \ + libvirt \ + virt-manager \ + virt-viewer \ + dnsmasq \ + bridge-utils \ + edk2-ovmf \ + swtpm \ + vde2 + +sudo systemctl enable --now libvirtd.service + +# Enable the default NAT network at libvirt startup +sudo virsh net-autostart default 2>/dev/null || true + +sudo usermod -aG libvirt,kvm "$USER" +echo "QEMU/KVM installed. Log out and back in for group membership to take effect." diff --git a/setup/modules/optional-Modules/apps/rdp-client.sh b/setup/modules/optional-Modules/apps/rdp-client.sh new file mode 100644 index 0000000..6add70c --- /dev/null +++ b/setup/modules/optional-Modules/apps/rdp-client.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euo pipefail + +# Remmina + protocol plugins +sudo pacman -S --noconfirm --needed \ + remmina \ + freerdp \ + libvncserver + +echo "Remmina installed with RDP (freerdp) and VNC support." diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 811c8f3..a5559ee 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -160,6 +160,8 @@ count_steps() { [[ "$a" == *"geany"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"codeblocks"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"rdp-client"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Answerfile ──────────────────────────────────────────────────────────────── @@ -356,6 +358,9 @@ else "geany" "Geany lightweight IDE + plugins (official)" off \ "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ "kate" "Kate KDE advanced text editor (official)" off \ + \ + "rdp-client" "RDP Client Remmina + FreeRDP + VNC plugins" off \ + "qemu" "QEMU/KVM full virt stack + virt-manager GUI" off \ 3>&1 1>&2 2>&3) || SELECTED_APPS="" fi @@ -423,6 +428,8 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n" [[ "$SELECTED_APPS" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n" [[ "$SELECTED_APPS" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n" + [[ "$SELECTED_APPS" == *"rdp-client"* ]] && SUMMARY+=" ✦ RDP Client (Remmina + FreeRDP)\n" + [[ "$SELECTED_APPS" == *"qemu"* ]] && SUMMARY+=" ✦ QEMU/KVM + virt-manager\n" fi dialog --backtitle "$BACKTITLE" \ @@ -505,6 +512,8 @@ fi [[ "$SELECTED_APPS" == *"geany"* ]] && run_module "Geany" "$APPS/geany.sh" [[ "$SELECTED_APPS" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh" [[ "$SELECTED_APPS" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh" +[[ "$SELECTED_APPS" == *"rdp-client"* ]] && run_module "RDP Client" "$APPS/rdp-client.sh" +[[ "$SELECTED_APPS" == *"qemu"* ]] && run_module "QEMU/KVM" "$APPS/qemu.sh" # ── Colorway (final step) ───────────────────────────────────────────────────── # Read defaults from repo colors.conf for pre-population