mirror of
https://gitlab.com/prism7/archery.git
synced 2025-02-15 08:29:17 +01:00
When a VM is detected, vm-specific packages (i.e. 'virtualbox-guest-utils') and vm-necessary services (i.e. 'vboxservice') will be automatically installed and enabled
When 'Nvidia' graphics are detected and running the 'Nvidia.hook' is needed, 'pacman.conf' involved option will be uncommented (activated) and '/etc/pacman.d/hooks/' directory will be created
This commit is contained in:
parent
8f5bea0416
commit
fbe0e926ad
1 changed files with 32 additions and 10 deletions
42
Amelia.sh
42
Amelia.sh
|
@ -1077,6 +1077,20 @@ ${purple}###${nc} Graphics Setup ${purple}###${nc}
|
||||||
sourcetype="Proprietary"
|
sourcetype="Proprietary"
|
||||||
elif [[ "${hypervisor}" != "none" ]]; then
|
elif [[ "${hypervisor}" != "none" ]]; then
|
||||||
vendor="Virtual Machine"
|
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
|
fi
|
||||||
|
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
|
@ -1357,7 +1371,7 @@ Enter a number: "
|
||||||
==> " packages
|
==> " packages
|
||||||
|
|
||||||
case "${packages}" in
|
case "${packages}" in
|
||||||
1)
|
1)
|
||||||
desktopname="'Plasma'" ;;
|
desktopname="'Plasma'" ;;
|
||||||
2)
|
2)
|
||||||
desktopname="'Plasma (System Optimized)'" ;;
|
desktopname="'Plasma (System Optimized)'" ;;
|
||||||
|
@ -3655,7 +3669,7 @@ Enter a number: "
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if [[ "${parallelnmbr}" =~ ^(2|3|4|5)$ ]]; then
|
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
|
else
|
||||||
invalid
|
invalid
|
||||||
return 1
|
return 1
|
||||||
|
@ -3702,7 +3716,7 @@ ${purple}###${nc} Pacstrap System ${purple}###${nc}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${vendor}" == "Virtual Machine" ]]; then
|
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
|
elif [[ "${vendor}" == "Nvidia" ]]; then
|
||||||
basepkgs="base linux-firmware nano sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${kernel}"-headers "${microcode}" "${vgapkgs}" "${wireless_reg}" "${devel}""
|
basepkgs="base linux-firmware nano sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${kernel}"-headers "${microcode}" "${vgapkgs}" "${wireless_reg}" "${devel}""
|
||||||
else
|
else
|
||||||
|
@ -3775,7 +3789,7 @@ ${purple}###${nc} Pacstrap System ${purple}###${nc}
|
||||||
11) # NOTE: Custom System:
|
11) # NOTE: Custom System:
|
||||||
|
|
||||||
if [[ "${vendor}" == "Virtual Machine" ]]; then
|
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
|
else
|
||||||
deskpkgs="base linux-firmware sudo "${bootldr_pkgs}" "${custompkgs}" "${fstools}" "${kernel}" "${microcode}" "${vgapkgs}" "${wireless_reg}" "${greeter}""
|
deskpkgs="base linux-firmware sudo "${bootldr_pkgs}" "${custompkgs}" "${fstools}" "${kernel}" "${microcode}" "${vgapkgs}" "${wireless_reg}" "${greeter}""
|
||||||
fi ;;
|
fi ;;
|
||||||
|
@ -4054,7 +4068,7 @@ SLICK
|
||||||
initrd /${microcode}.img
|
initrd /${microcode}.img
|
||||||
initrd /initramfs-${kernel}.img
|
initrd /initramfs-${kernel}.img
|
||||||
options rw ${boot_opts}" | tee /boot/loader/entries/arch.conf &&
|
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
|
BOOTCTL
|
||||||
|
|
||||||
elif [[ "${bootloader}" == "2" ]]; then
|
elif [[ "${bootloader}" == "2" ]]; then
|
||||||
|
@ -4065,7 +4079,7 @@ BOOTCTL
|
||||||
-e "/^#GRUB_DISABLE_OS_PROBER=false/s/^#//" \
|
-e "/^#GRUB_DISABLE_OS_PROBER=false/s/^#//" \
|
||||||
/etc/default/grub &&
|
/etc/default/grub &&
|
||||||
grub-mkconfig -o /boot/grub/grub.cfg &&
|
grub-mkconfig -o /boot/grub/grub.cfg &&
|
||||||
systemctl enable ${bluetooth} ${displaymanager} ${network} ${trim}
|
systemctl enable ${bluetooth} ${displaymanager} ${network} ${trim} ${vm_services}
|
||||||
GRUB
|
GRUB
|
||||||
|
|
||||||
if [[ "${bootloader}" == "2" && "${fs}" == "2" ]]; then
|
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
|
if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && ${nvdriver} == "2" ]]; then
|
||||||
arch-chroot /mnt <<-NVIDIAHOOK
|
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 "
|
echo "
|
||||||
[Trigger]
|
[Trigger]
|
||||||
Operation=Install
|
Operation=Install
|
||||||
|
@ -4258,13 +4274,15 @@ NRG
|
||||||
Defaults editor=/usr/bin/nano
|
Defaults editor=/usr/bin/nano
|
||||||
%wheel ALL=(ALL) ALL" | tee /etc/sudoers.d/sudoedits &&
|
%wheel ALL=(ALL) ALL" | tee /etc/sudoers.d/sudoedits &&
|
||||||
visudo -c /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
|
OPTIMIZED_CONF
|
||||||
|
|
||||||
if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]]; then
|
if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]]; then
|
||||||
|
|
||||||
if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && ${nvdriver} == "2" ]]; then
|
if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && ${nvdriver} == "2" ]]; then
|
||||||
arch-chroot /mnt <<-NVIDIAHOOK
|
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 "
|
echo "
|
||||||
[Trigger]
|
[Trigger]
|
||||||
Operation=Install
|
Operation=Install
|
||||||
|
@ -4347,7 +4365,7 @@ SLICK
|
||||||
initrd /${microcode}.img
|
initrd /${microcode}.img
|
||||||
initrd /initramfs-${kernel}.img
|
initrd /initramfs-${kernel}.img
|
||||||
options rw ${boot_opts}" | tee /boot/loader/entries/arch.conf &&
|
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
|
BOOTCTL
|
||||||
|
|
||||||
elif [[ "${bootloader}" == "2" ]]; then
|
elif [[ "${bootloader}" == "2" ]]; then
|
||||||
|
@ -4360,9 +4378,9 @@ BOOTCTL
|
||||||
grub-mkconfig -o /boot/grub/grub.cfg
|
grub-mkconfig -o /boot/grub/grub.cfg
|
||||||
GRUB
|
GRUB
|
||||||
|
|
||||||
if [[ -n "${customservices}" || -n "${trim}" ]]; then
|
if [[ -n "${customservices}" || -n "${trim}" || -n "${vm_services}" ]]; then
|
||||||
arch-chroot /mnt <<-SERVICES
|
arch-chroot /mnt <<-SERVICES
|
||||||
systemctl enable ${customservices} ${trim}
|
systemctl enable ${customservices} ${trim} ${vm_services}
|
||||||
SERVICES
|
SERVICES
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -4384,6 +4402,8 @@ NVIDIAGRUB
|
||||||
|
|
||||||
if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && ${nvdriver} == "2" ]]; then
|
if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && ${nvdriver} == "2" ]]; then
|
||||||
arch-chroot /mnt <<-NVIDIAHOOK
|
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 "
|
echo "
|
||||||
[Trigger]
|
[Trigger]
|
||||||
Operation=Install
|
Operation=Install
|
||||||
|
@ -4442,6 +4462,8 @@ NVIDIAHOOK
|
||||||
greeternmbr=""
|
greeternmbr=""
|
||||||
cust_bootopts=""
|
cust_bootopts=""
|
||||||
bluetooth=""
|
bluetooth=""
|
||||||
|
vmpkgs=""
|
||||||
|
vm_services=""
|
||||||
|
|
||||||
clear
|
clear
|
||||||
first_check
|
first_check
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue