feat(modules): add RDP client and QEMU/KVM modules
rdp-client.sh: installs Remmina with the FreeRDP and libvncserver plugins for RDP and VNC sessions. qemu.sh: installs the full QEMU/KVM stack (qemu-full, libvirt, virt-manager, virt-viewer, dnsmasq, bridge-utils, edk2-ovmf, swtpm, vde2), enables and starts libvirtd, auto-starts the default NAT network, and adds the user to the libvirt and kvm groups. Both modules are wired into tui-install.sh: count_steps, checklist, confirmation summary, and run_module dispatch. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main
parent
a84e6ac41c
commit
eb3ae766a5
|
|
@ -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."
|
||||
|
|
@ -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."
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue