diff --git a/Amelia.sh b/Amelia.sh index 16811e0..80489fc 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -1077,6 +1077,20 @@ ${purple}###${nc} Graphics Setup ${purple}###${nc} sourcetype="Proprietary" elif [[ "${hypervisor}" != "none" ]]; then vendor="Virtual Machine" + case "${hypervisor}" in + kvm) + vmpkgs="spice spice-vdagent spice-protocol spice-gtk qemu-guest-agent" + vm_services="qemu-guest-agent" ;; + vmware) + vmpkgs="open-vm-tools" + vm_services="vmtoolsd vmware-vmblock-fuse" ;; + oracle) + vmpkgs="virtualbox-guest-utils" + vm_services="vboxservice" ;; + microsoft) + vmpkgs="hyperv" + vm_services="hv_fcopy_daemon hv_kvp_daemon hv_vss_daemon" + esac fi sleep 0.5 @@ -1357,7 +1371,7 @@ Enter a number: " ==> " packages case "${packages}" in - 1) + 1) desktopname="'Plasma'" ;; 2) desktopname="'Plasma (System Optimized)'" ;; @@ -3655,7 +3669,7 @@ Enter a number: " echo if [[ "${parallelnmbr}" =~ ^(2|3|4|5)$ ]]; then - sed -i "s|#ParallelDownloads = 5|ParallelDownloads = "${parallelnmbr}"|g" /etc/pacman.conf + sed -i "s|#ParallelDownloads = 5|ParallelDownloads = "${parallelnmbr}"|g" /etc/pacman.conf else invalid return 1 @@ -3702,7 +3716,7 @@ ${purple}###${nc} Pacstrap System ${purple}###${nc} fi if [[ "${vendor}" == "Virtual Machine" ]]; then - basepkgs="base nano sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${microcode}" "${devel}"" + basepkgs="base nano sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${microcode}" "${vmpkgs}" "${devel}"" elif [[ "${vendor}" == "Nvidia" ]]; then basepkgs="base linux-firmware nano sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${kernel}"-headers "${microcode}" "${vgapkgs}" "${wireless_reg}" "${devel}"" else @@ -3775,7 +3789,7 @@ ${purple}###${nc} Pacstrap System ${purple}###${nc} 11) # NOTE: Custom System: if [[ "${vendor}" == "Virtual Machine" ]]; then - deskpkgs="base sudo "${bootldr_pkgs}" "${custompkgs}" "${fstools}" "${kernel}" "${microcode}" "${greeter}"" + deskpkgs="base sudo "${bootldr_pkgs}" "${custompkgs}" "${fstools}" "${kernel}" "${microcode}" "${vmpkgs}" "${greeter}"" else deskpkgs="base linux-firmware sudo "${bootldr_pkgs}" "${custompkgs}" "${fstools}" "${kernel}" "${microcode}" "${vgapkgs}" "${wireless_reg}" "${greeter}"" fi ;; @@ -4054,7 +4068,7 @@ SLICK initrd /${microcode}.img initrd /initramfs-${kernel}.img options rw ${boot_opts}" | tee /boot/loader/entries/arch.conf && - systemctl enable systemd-boot-update ${bluetooth} ${displaymanager} ${network} ${trim} + systemctl enable systemd-boot-update ${bluetooth} ${displaymanager} ${network} ${trim} ${vm_services} BOOTCTL elif [[ "${bootloader}" == "2" ]]; then @@ -4065,7 +4079,7 @@ BOOTCTL -e "/^#GRUB_DISABLE_OS_PROBER=false/s/^#//" \ /etc/default/grub && grub-mkconfig -o /boot/grub/grub.cfg && - systemctl enable ${bluetooth} ${displaymanager} ${network} ${trim} + systemctl enable ${bluetooth} ${displaymanager} ${network} ${trim} ${vm_services} GRUB if [[ "${bootloader}" == "2" && "${fs}" == "2" ]]; then @@ -4086,6 +4100,8 @@ NVIDIAGRUB if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && ${nvdriver} == "2" ]]; then arch-chroot /mnt <<-NVIDIAHOOK + sed -i "s|#HookDir = /etc/pacman.d/hooks/|HookDir = /etc/pacman.d/hooks/|g" /etc/pacman.conf && + mkdir -p /etc/pacman.d/hooks/ && echo " [Trigger] Operation=Install @@ -4258,13 +4274,15 @@ NRG Defaults editor=/usr/bin/nano %wheel ALL=(ALL) ALL" | tee /etc/sudoers.d/sudoedits && visudo -c /etc/sudoers.d/sudoedits && - systemctl enable avahi-daemon bluetooth cups ipp-usb NetworkManager rngd sddm systemd-boot-update ufw ${trim} + systemctl enable avahi-daemon bluetooth cups ipp-usb NetworkManager rngd sddm systemd-boot-update ufw ${trim} ${vm_services} OPTIMIZED_CONF if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]]; then if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && ${nvdriver} == "2" ]]; then arch-chroot /mnt <<-NVIDIAHOOK + sed -i "s|#HookDir = /etc/pacman.d/hooks/|HookDir = /etc/pacman.d/hooks/|g" /etc/pacman.conf && + mkdir -p /etc/pacman.d/hooks/ && echo " [Trigger] Operation=Install @@ -4347,7 +4365,7 @@ SLICK initrd /${microcode}.img initrd /initramfs-${kernel}.img options rw ${boot_opts}" | tee /boot/loader/entries/arch.conf && - systemctl enable systemd-boot-update ${customservices} ${trim} + systemctl enable systemd-boot-update ${customservices} ${trim} ${vm_services} BOOTCTL elif [[ "${bootloader}" == "2" ]]; then @@ -4360,9 +4378,9 @@ BOOTCTL grub-mkconfig -o /boot/grub/grub.cfg GRUB - if [[ -n "${customservices}" || -n "${trim}" ]]; then + if [[ -n "${customservices}" || -n "${trim}" || -n "${vm_services}" ]]; then arch-chroot /mnt <<-SERVICES - systemctl enable ${customservices} ${trim} + systemctl enable ${customservices} ${trim} ${vm_services} SERVICES fi @@ -4384,6 +4402,8 @@ NVIDIAGRUB if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && ${nvdriver} == "2" ]]; then arch-chroot /mnt <<-NVIDIAHOOK + sed -i "s|#HookDir = /etc/pacman.d/hooks/|HookDir = /etc/pacman.d/hooks/|g" /etc/pacman.conf && + mkdir -p /etc/pacman.d/hooks/ && echo " [Trigger] Operation=Install @@ -4442,6 +4462,8 @@ NVIDIAHOOK greeternmbr="" cust_bootopts="" bluetooth="" + vmpkgs="" + vm_services="" clear first_check