mirror of
				https://github.com/oSoWoSo/DistroHopper.git
				synced 2024-08-14 22:46:53 +00:00 
			
		
		
		
	Merge pull request #322 from philclifford/merging-updated-distros
Merging updated distros - Consolidated 15 PRs
This commit is contained in:
		
						commit
						f2f0c11ed6
					
				
					 3 changed files with 531 additions and 28 deletions
				
			
		
							
								
								
									
										53
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										53
									
								
								README.md
									
										
									
									
									
								
							|  | @ -32,13 +32,30 @@ comprehensive support for macOS and Windows**. | ||||||
|   * **Windows** 8.1, 10 and 11 including TPM 2.0 |   * **Windows** 8.1, 10 and 11 including TPM 2.0 | ||||||
|   * [Ubuntu](https://ubuntu.com/desktop) and all the **[official Ubuntu flavours](https://ubuntu.com/download/flavours)** |   * [Ubuntu](https://ubuntu.com/desktop) and all the **[official Ubuntu flavours](https://ubuntu.com/download/flavours)** | ||||||
|   * [Debian](https://www.debian.org/) (bullseye with all the official and non-free DE variants) |   * [Debian](https://www.debian.org/) (bullseye with all the official and non-free DE variants) | ||||||
|   * [Fedora](https://getfedora.org/) & openSUSE ([Leap](https://get.opensuse.org/leap/), [Tumbleweed](https://get.opensuse.org/tumbleweed/), [MicroOS](https://microos.opensuse.org/)) |   * [Fedora](https://getfedora.org/) | ||||||
|  |   & openSUSE ([Leap](https://get.opensuse.org/leap/) | ||||||
|  |   , [Tumbleweed](https://get.opensuse.org/tumbleweed/) | ||||||
|  |   , [MicroOS](https://microos.opensuse.org/)) | ||||||
|   * [Alma Linux](https://almalinux.org/) |   * [Alma Linux](https://almalinux.org/) | ||||||
|   * [Linux Mint](https://linuxmint.com/) (Cinnamon, MATE, and XFCE), [elementary OS](https://elementary.io/), [Pop!_OS](https://pop.system76.com/) |   * [Alpine Linux](https://www.alpinelinux.org/) | ||||||
|   * [Arch Linux](https://www.archlinux.org/), [Kali](https://www.kali.org/),[Garuda](https://garudalinux.org/), [ZorinOS](https://zorin.com/os/) & [NixOS](https://nixos.org/) |   * [Linux Mint](https://linuxmint.com/) (Cinnamon, MATE, and XFCE) | ||||||
|   * [Oracle Linux](https://www.oracle.com/linux/) and [Rocky Linux](https://rockylinux.org/) |   , [elementary OS](https://elementary.io/) | ||||||
|  |   , [Pop!_OS](https://pop.system76.com/) | ||||||
|  |   * [Arch Linux](https://www.archlinux.org/) | ||||||
|  |   , [ArcoLinux](https://www.arcolinux.info/) | ||||||
|  |   , [CachyOS](https://cachyos.org/) | ||||||
|  |   , [Kali](https://www.kali.org/) | ||||||
|  |   , [Garuda](https://garudalinux.org/) | ||||||
|  |   , [Gentoo Linux](https://www.gentoo.org/) | ||||||
|  |   , [Manjaro](https://manjaro.org) | ||||||
|  |   , [NixOS](https://nixos.org/) | ||||||
|  |   & [ZorinOS](https://zorin.com/os/) | ||||||
|  |   * [Oracle Linux](https://www.oracle.com/linux/) | ||||||
|  |   and [Rocky Linux](https://rockylinux.org/) | ||||||
|   * [Regolith Linux](https://regolith-linux.org/) (Release 1.6 and latest 2.0.0 pre-release  ) |   * [Regolith Linux](https://regolith-linux.org/) (Release 1.6 and latest 2.0.0 pre-release  ) | ||||||
|   * [FreeBSD](https://www.freebsd.org/) & [OpenBSD](https://www.openbsd.org/) |   * [FreeBSD](https://www.freebsd.org/) | ||||||
|  |   & [OpenBSD](https://www.openbsd.org/) | ||||||
|  |   * [Haiku](https://www.haiku-os.org/) | ||||||
|   * Full SPICE support including host/guest clipboard sharing |   * Full SPICE support including host/guest clipboard sharing | ||||||
|   * VirtIO-webdavd file sharing for Linux and Windows guests |   * VirtIO-webdavd file sharing for Linux and Windows guests | ||||||
|   * VirtIO-9p file sharing for Linux and macOS guests |   * VirtIO-9p file sharing for Linux and macOS guests | ||||||
|  | @ -177,14 +194,19 @@ preferred flavour. | ||||||
| `quickget` also supports: | `quickget` also supports: | ||||||
| 
 | 
 | ||||||
|   * `alma` |   * `alma` | ||||||
|  |   * `alpine` | ||||||
|   * `archlinux` |   * `archlinux` | ||||||
|  |   * `arcolinux` | ||||||
|  |   * `cachyos` | ||||||
|   * `debian` |   * `debian` | ||||||
|   * `elementary` |   * `elementary` | ||||||
|   * `fedora` |   * `fedora` | ||||||
|   * `garuda` |   * `garuda` | ||||||
|  |   * `gentoo` | ||||||
|   * `kali` |   * `kali` | ||||||
|   * `kdeneon` |   * `kdeneon` | ||||||
|   * `linuxmint` |   * `linuxmint` | ||||||
|  |   * `mxlinux` | ||||||
|   * `nixos` |   * `nixos` | ||||||
|   * `opensuse` |   * `opensuse` | ||||||
|   * `oraclelinux` |   * `oraclelinux` | ||||||
|  | @ -329,15 +351,28 @@ tpm="on" | ||||||
|   * `fixed_iso=` specifies the ISO image that provides VirtIO drivers. |   * `fixed_iso=` specifies the ISO image that provides VirtIO drivers. | ||||||
|   * `tpm="on"` instructs `quickemu` to create a software emulated TPM device using `swtpm`. |   * `tpm="on"` instructs `quickemu` to create a software emulated TPM device using `swtpm`. | ||||||
| 
 | 
 | ||||||
| ## BSD Guests | ## Haiku Guests | ||||||
| 
 | 
 | ||||||
| `quickemu` supports FreeBSD and OpenBSD. | `quickemu` supports [Haiku](https://www.haiku-os.org/). | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| quickget freebsd 13_0 | quickget quickget haiku r1beta3-x86_64 | ||||||
| quickemu --vm freebsd-13_0.conf | quickemu --vm haiku-r1beta3-x86_64.conf | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | At the moment the only way to share files between host and a Haiku guest is by | ||||||
|  | using SSH (having a SSH server running on the host): | ||||||
|  | 
 | ||||||
|  | On guest: | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | scp example.txt user@host-local-ip:/home/user # sending a file from guest to host | ||||||
|  | scp user@host-local-ip:/home/user/example.txt . # receiving a file from host to guest | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | `quickget` cannot automatically download and create virtual machines for Haiku | ||||||
|  | nightly versions, but they work if the ISO and configuration are set up manually. | ||||||
|  | 
 | ||||||
| # SPICE | # SPICE | ||||||
| 
 | 
 | ||||||
| The following features are available while using the SPICE protocol: | The following features are available while using the SPICE protocol: | ||||||
|  |  | ||||||
							
								
								
									
										59
									
								
								quickemu
									
										
									
									
									
								
							
							
						
						
									
										59
									
								
								quickemu
									
										
									
									
									
								
							|  | @ -228,6 +228,7 @@ function vm_boot() { | ||||||
|   local KERNEL_NODE="" |   local KERNEL_NODE="" | ||||||
|   local KERNEL_VER="?" |   local KERNEL_VER="?" | ||||||
|   local LSB_DESCRIPTION="Unknown OS" |   local LSB_DESCRIPTION="Unknown OS" | ||||||
|  |   local MACHINE_TYPE="q35" | ||||||
|   local MAC_BOOTLOADER="" |   local MAC_BOOTLOADER="" | ||||||
|   local MAC_MISSING="" |   local MAC_MISSING="" | ||||||
|   local MAC_DISK_DEV="ide-hd,bus=ahci.2" |   local MAC_DISK_DEV="ide-hd,bus=ahci.2" | ||||||
|  | @ -383,7 +384,7 @@ function vm_boot() { | ||||||
|     # https://bugzilla.redhat.com/show_bug.cgi?id=1929357#c5 |     # https://bugzilla.redhat.com/show_bug.cgi?id=1929357#c5 | ||||||
|     case ${secureboot} in |     case ${secureboot} in | ||||||
|       on) |       on) | ||||||
|         if [ -e "/usr/share/OVMF/OVMF_CODE_4M.secboot.fd" ]; then |          if [ -e "/usr/share/OVMF/OVMF_CODE_4M.secboot.fd" ]; then | ||||||
|           EFI_CODE="/usr/share/OVMF/OVMF_CODE_4M.secboot.fd" |           EFI_CODE="/usr/share/OVMF/OVMF_CODE_4M.secboot.fd" | ||||||
|           efi_vars "/usr/share/OVMF/OVMF_VARS_4M.fd" "${EFI_VARS}" |           efi_vars "/usr/share/OVMF/OVMF_VARS_4M.fd" "${EFI_VARS}" | ||||||
|         elif [ -e "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd" ]; then |         elif [ -e "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd" ]; then | ||||||
|  | @ -392,9 +393,18 @@ function vm_boot() { | ||||||
|         elif [ -e "/usr/share/OVMF/x64/OVMF_CODE.secboot.fd" ]; then |         elif [ -e "/usr/share/OVMF/x64/OVMF_CODE.secboot.fd" ]; then | ||||||
|           EFI_CODE="/usr/share/OVMF/x64/OVMF_CODE.secboot.fd" |           EFI_CODE="/usr/share/OVMF/x64/OVMF_CODE.secboot.fd" | ||||||
|           efi_vars "/usr/share/OVMF/x64/OVMF_VARS.fd" "${EFI_VARS}" |           efi_vars "/usr/share/OVMF/x64/OVMF_VARS.fd" "${EFI_VARS}" | ||||||
|         elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.fd" ]; then |         elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd" ]; then | ||||||
| 	        EFI_CODE="/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd" | 	        EFI_CODE="/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd" | ||||||
| 	        efi_vars "/usr/share/edk2-ovmf/OVMF_VARS.fd" "${EFI_VARS}" | 	        efi_vars "/usr/share/edk2-ovmf/OVMF_VARS.fd" "${EFI_VARS}" | ||||||
|  |         elif [ -e "/usr/share/qemu/ovmf-x86_64-smm-ms-code.bin" ]; then | ||||||
|  |           EFI_CODE="/usr/share/qemu/ovmf-x86_64-smm-ms-code.bin" | ||||||
|  |           efi_vars "/usr/share/qemu/ovmf-x86_64-smm-ms-vars.bin" "${EFI_VARS}" | ||||||
|  |         elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd" ]; then | ||||||
|  |           EFI_CODE="/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd" | ||||||
|  |           efi_vars "/usr/share/edk2-ovmf/OVMF_VARS.fd" "${EFI_VARS}" | ||||||
|  |         elif [ -e "/usr/share/qemu/edk2-x86_64-secure-code.fd" ]; then | ||||||
|  |           EFI_CODE="/usr/share/qemu/edk2-x86_64-secure-code.fd" | ||||||
|  |           efi_vars "/usr/share/qemu/edk2-x86_64-code.fd" "${EFI_VARS}" | ||||||
|         else |         else | ||||||
|           echo "ERROR! SecureBoot was requested but no SecureBoot capable firmware was found." |           echo "ERROR! SecureBoot was requested but no SecureBoot capable firmware was found." | ||||||
|           echo "       Please install OVMF firmware." |           echo "       Please install OVMF firmware." | ||||||
|  | @ -417,6 +427,12 @@ function vm_boot() { | ||||||
|         elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.fd" ]; then |         elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.fd" ]; then | ||||||
| 	        EFI_CODE="/usr/share/edk2-ovmf/OVMF_CODE.fd" | 	        EFI_CODE="/usr/share/edk2-ovmf/OVMF_CODE.fd" | ||||||
| 	        efi_vars "/usr/share/edk2-ovmf/OVMF_VARS.fd" "${EFI_VARS}" | 	        efi_vars "/usr/share/edk2-ovmf/OVMF_VARS.fd" "${EFI_VARS}" | ||||||
|  |         elif [ -e "/usr/share/qemu/ovmf-x86_64-4m-code.bin" ]; then | ||||||
|  |           EFI_CODE="/usr/share/qemu/ovmf-x86_64-4m-code.bin" | ||||||
|  |           efi_vars "/usr/share/qemu/ovmf-x86_64-4m-vars.bin" "${EFI_VARS}" | ||||||
|  |         elif [ -e "/usr/share/qemu/edk2-x86_64-code.fd" ]; then | ||||||
|  |           EFI_CODE="/usr/share/qemu/edk2-x86_64-code.fd" | ||||||
|  |           efi_vars "/usr/share/qemu/edk2-x86_64-code.fd" "${EFI_VARS}" | ||||||
|         else |         else | ||||||
|           echo "ERROR! EFI boot requested but no EFI firmware found." |           echo "ERROR! EFI boot requested but no EFI firmware found." | ||||||
|           echo "       Please install OVMF firmware." |           echo "       Please install OVMF firmware." | ||||||
|  | @ -463,6 +479,29 @@ function vm_boot() { | ||||||
|         disk_size="16G" |         disk_size="16G" | ||||||
|       fi |       fi | ||||||
|       ;; |       ;; | ||||||
|  |     kolibrios) | ||||||
|  |       CPU="-cpu qemu32,kvm=on" | ||||||
|  |       if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then | ||||||
|  |         CPU="${CPU},topoext" | ||||||
|  |       fi | ||||||
|  |       MACHINE_TYPE="pc" | ||||||
|  |       NET_DEVICE="rtl8139" | ||||||
|  |       GUEST_TWEAKS="-boot d" | ||||||
|  |       if [ -z "${disk_size}" ]; then | ||||||
|  |         disk_size="256M" | ||||||
|  |       fi | ||||||
|  |       ;; | ||||||
|  |     haiku) | ||||||
|  |       CPU="-cpu host,kvm=on" | ||||||
|  |       MACHINE_TYPE="pc" | ||||||
|  |       NET_DEVICE="rtl8139" | ||||||
|  |       if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then | ||||||
|  |         CPU="${CPU},topoext" | ||||||
|  |       fi | ||||||
|  |       if [ -z "${disk_size}" ]; then | ||||||
|  |         disk_size="32G" | ||||||
|  |       fi | ||||||
|  |       ;; | ||||||
|     macos) |     macos) | ||||||
|       #https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/ |       #https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/ | ||||||
|       # A CPU with SSE4.1 support is required for >= macOS Sierra |       # A CPU with SSE4.1 support is required for >= macOS Sierra | ||||||
|  | @ -591,7 +630,7 @@ function vm_boot() { | ||||||
|     fi |     fi | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   if [ "${DISK_USED}" == "yes" ]; then |   if [ "${DISK_USED}" == "yes" ] && [ "${guest_os}" != "kolibrios" ]; then | ||||||
|     # If there is a disk image that appears to be used do not boot from installation media. |     # If there is a disk image that appears to be used do not boot from installation media. | ||||||
|     iso="" |     iso="" | ||||||
|     img="" |     img="" | ||||||
|  | @ -833,7 +872,7 @@ function vm_boot() { | ||||||
| 
 | 
 | ||||||
|   # shellcheck disable=SC2054,SC2206,SC2140 |   # shellcheck disable=SC2054,SC2206,SC2140 | ||||||
|   args+=(-name ${VMNAME},process=${VMNAME} -pidfile "${VMDIR}/${VMNAME}.pid" |   args+=(-name ${VMNAME},process=${VMNAME} -pidfile "${VMDIR}/${VMNAME}.pid" | ||||||
|          -enable-kvm -machine q35,smm=${SMM},vmport=off ${GUEST_TWEAKS} |          -enable-kvm -machine ${MACHINE_TYPE},smm=${SMM},vmport=off ${GUEST_TWEAKS} | ||||||
|          ${CPU} ${SMP} |          ${CPU} ${SMP} | ||||||
|          -m ${RAM_VM} ${BALLOON} |          -m ${RAM_VM} ${BALLOON} | ||||||
|          -smbios type=2,manufacturer="Quickemu Project",product="Quickemu",version="${VERSION}",serial="0xDEADBEEF",location="quickemu.com",asset="${VMNAME}" |          -smbios type=2,manufacturer="Quickemu Project",product="Quickemu",version="${VERSION}",serial="0xDEADBEEF",location="quickemu.com",asset="${VMNAME}" | ||||||
|  | @ -891,6 +930,13 @@ function vm_boot() { | ||||||
|     args+=(-drive if=floppy,format=raw,file="${floppy}") |     args+=(-drive if=floppy,format=raw,file="${floppy}") | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|  |   # Since there is bug (probably) in KolibriOS: cdrom indexes 0 or 1 make system show an extra unexisting iso, so we use index=2 | ||||||
|  |   if [ -n "${iso}" ] && [ "${guest_os}" == "kolibrios" ]; then | ||||||
|  |     # shellcheck disable=SC2054 | ||||||
|  |     args+=(-drive media=cdrom,index=2,file="${iso}") | ||||||
|  |     iso="" | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|   if [ -n "${iso}" ]; then |   if [ -n "${iso}" ]; then | ||||||
|     # shellcheck disable=SC2054 |     # shellcheck disable=SC2054 | ||||||
|     args+=(-drive media=cdrom,index=0,file="${iso}") |     args+=(-drive media=cdrom,index=0,file="${iso}") | ||||||
|  | @ -922,6 +968,11 @@ function vm_boot() { | ||||||
|     # shellcheck disable=SC2054,SC2206 |     # shellcheck disable=SC2054,SC2206 | ||||||
|     args+=(-device ${MAC_DISK_DEV},drive=SystemDisk |     args+=(-device ${MAC_DISK_DEV},drive=SystemDisk | ||||||
|            -drive id=SystemDisk,if=none,format=qcow2,file="${disk_img}" ${STATUS_QUO}) |            -drive id=SystemDisk,if=none,format=qcow2,file="${disk_img}" ${STATUS_QUO}) | ||||||
|  |   elif [ "${guest_os}" == "kolibrios" ]; then | ||||||
|  |     # shellcheck disable=SC2054,SC2206 | ||||||
|  |     args+=(-device ahci,id=ahci | ||||||
|  |            -device ide-hd,bus=ahci.0,drive=SystemDisk | ||||||
|  |            -drive id=SystemDisk,if=none,format=qcow2,file="${disk_img}" ${STATUS_QUO}) | ||||||
|   else |   else | ||||||
|     # shellcheck disable=SC2054,SC2206 |     # shellcheck disable=SC2054,SC2206 | ||||||
|     args+=(-device virtio-blk-pci,drive=SystemDisk |     args+=(-device virtio-blk-pci,drive=SystemDisk | ||||||
|  |  | ||||||
							
								
								
									
										447
									
								
								quickget
									
										
									
									
									
								
							
							
						
						
									
										447
									
								
								quickget
									
										
									
									
									
								
							|  | @ -36,15 +36,32 @@ function pretty_name() { | ||||||
|   SIMPLE_NAME="${1}" |   SIMPLE_NAME="${1}" | ||||||
|   case ${SIMPLE_NAME} in |   case ${SIMPLE_NAME} in | ||||||
|     alma)               PRETTY_NAME="Alma Linux";; |     alma)               PRETTY_NAME="Alma Linux";; | ||||||
|  |     alpine)             PRETTY_NAME="Alpine Linux";; | ||||||
|     android)            PRETTY_NAME="Android x86";; |     android)            PRETTY_NAME="Android x86";; | ||||||
|     archlinux)          PRETTY_NAME="Arch Linux";; |     archlinux)          PRETTY_NAME="Arch Linux";; | ||||||
|  |     arcolinux)          PRETTY_NAME="Arco Linux";; | ||||||
|  |     cachyos)            PRETTY_NAME="CachyOS";; | ||||||
|     elementary)         PRETTY_NAME="elementary OS";; |     elementary)         PRETTY_NAME="elementary OS";; | ||||||
|     freebsd)            PRETTY_NAME="FreeBSD";; |     freebsd)            PRETTY_NAME="FreeBSD";; | ||||||
|  |     gentoo)             PRETTY_NAME="Gentoo";; | ||||||
|     garuda)             PRETTY_NAME="Garuda Linux";; |     garuda)             PRETTY_NAME="Garuda Linux";; | ||||||
|  |     haiku)              PRETTY_NAME="Haiku";; | ||||||
|     kdeneon)            PRETTY_NAME="KDE Neon";; |     kdeneon)            PRETTY_NAME="KDE Neon";; | ||||||
|  |     kolibrios)          PRETTY_NAME="KolibriOS";; | ||||||
|     linuxmint-cinnamon) PRETTY_NAME="Linux Mint Cinnamon";; |     linuxmint-cinnamon) PRETTY_NAME="Linux Mint Cinnamon";; | ||||||
|     linuxmint-mate)     PRETTY_NAME="Linux Mint MATE";; |     linuxmint-mate)     PRETTY_NAME="Linux Mint MATE";; | ||||||
|     linuxmint-xfce)     PRETTY_NAME="Linux Mint XFCE";; |     linuxmint-xfce)     PRETTY_NAME="Linux Mint XFCE";; | ||||||
|  |     manjaro-xfce)       PRETTY_NAME="Manjaro XFCE";; | ||||||
|  |     manjaro-kde)        PRETTY_NAME="Manjaro KDE";; | ||||||
|  |     manjaro-gnome)      PRETTY_NAME="Manjaro Gnome";; | ||||||
|  |     manjaro-budgie)     PRETTY_NAME="Manjaro Budgie";; | ||||||
|  |     manjaro-cinnamon)   PRETTY_NAME="Manjaro Cinnamon";; | ||||||
|  |     manjaro-deepin)     PRETTY_NAME="Manjaro Deepin";; | ||||||
|  |     manjaro-i3)         PRETTY_NAME="Manjaro i3";; | ||||||
|  |     manjaro-mate)       PRETTY_NAME="Manjaro MATE";; | ||||||
|  |     mxlinux-xfce)       PRETTY_NAME="MX Linux XFCE";; | ||||||
|  |     mxlinux-kde)        PRETTY_NAME="MX Linux KDE";; | ||||||
|  |     mxlinux-fluxbox)    PRETTY_NAME="MX Linux Fluxbox";; | ||||||
|     nixos-gnome)        PRETTY_NAME="NixOS Gnome";; |     nixos-gnome)        PRETTY_NAME="NixOS Gnome";; | ||||||
|     nixos-plasma5)      PRETTY_NAME="NixOS KDE";; |     nixos-plasma5)      PRETTY_NAME="NixOS KDE";; | ||||||
|     nixos-minimal)      PRETTY_NAME="NixOS Minimal";; |     nixos-minimal)      PRETTY_NAME="NixOS Minimal";; | ||||||
|  | @ -59,6 +76,7 @@ function pretty_name() { | ||||||
|     ubuntu-kylin)       PRETTY_NAME="Ubuntu Kylin";; |     ubuntu-kylin)       PRETTY_NAME="Ubuntu Kylin";; | ||||||
|     ubuntu-mate)        PRETTY_NAME="Ubuntu MATE";; |     ubuntu-mate)        PRETTY_NAME="Ubuntu MATE";; | ||||||
|     ubuntu-studio)      PRETTY_NAME="Ubuntu Studio";; |     ubuntu-studio)      PRETTY_NAME="Ubuntu Studio";; | ||||||
|  |     void)               PRETTY_NAME="Void Linux";; | ||||||
|     zorin)              PRETTY_NAME="Zorin OS";; |     zorin)              PRETTY_NAME="Zorin OS";; | ||||||
|     *)                  PRETTY_NAME="${SIMPLE_NAME^}";; |     *)                  PRETTY_NAME="${SIMPLE_NAME^}";; | ||||||
|   esac |   esac | ||||||
|  | @ -111,6 +129,10 @@ function list_csv() { | ||||||
|       FUNC="ubuntu" |       FUNC="ubuntu" | ||||||
|     elif [[ "${OS}" == *"linuxmint"* ]]; then |     elif [[ "${OS}" == *"linuxmint"* ]]; then | ||||||
|       FUNC="linuxmint" |       FUNC="linuxmint" | ||||||
|  |     elif [[ "${OS}" == *"manjaro"* ]]; then | ||||||
|  |       FUNC="manjaro" | ||||||
|  |     elif [[ "${OS}" == *"mxlinux"* ]]; then | ||||||
|  |       FUNC="mxlinux" | ||||||
|     elif [[ "${OS}" == *"nixos"* ]]; then |     elif [[ "${OS}" == *"nixos"* ]]; then | ||||||
|       FUNC="nixos" |       FUNC="nixos" | ||||||
|     else |     else | ||||||
|  | @ -127,8 +149,12 @@ function list_csv() { | ||||||
|         DOWNLOADER="${DL}" |         DOWNLOADER="${DL}" | ||||||
|       elif [[ "${OS}" == *"ubuntu"* ]] && [ "${RELEASE}" == "devel" ]; then |       elif [[ "${OS}" == *"ubuntu"* ]] && [ "${RELEASE}" == "devel" ]; then | ||||||
|         DOWNLOADER="${DL}" |         DOWNLOADER="${DL}" | ||||||
|  |       elif [ "${OS}" == "cachyos" ]; then | ||||||
|  |         DOWNLOADER="${DL}" | ||||||
|       elif [ "${OS}" == "garuda" ]; then |       elif [ "${OS}" == "garuda" ]; then | ||||||
|         DOWNLOADER="${DL}" |         DOWNLOADER="${DL}" | ||||||
|  |       elif [ "${OS}" == "gentoo" ]; then | ||||||
|  |         DOWNLOADER="${DL}" | ||||||
|       elif [[ "${OS}" == *"kdeneon"* ]]; then |       elif [[ "${OS}" == *"kdeneon"* ]]; then | ||||||
|         DOWNLOADER="${DL}" |         DOWNLOADER="${DL}" | ||||||
|       else |       else | ||||||
|  | @ -161,19 +187,36 @@ function list_csv() { | ||||||
| 
 | 
 | ||||||
| function os_support() { | function os_support() { | ||||||
|     echo alma \ |     echo alma \ | ||||||
|  |     alpine \ | ||||||
|     android \ |     android \ | ||||||
|     archlinux \ |     archlinux \ | ||||||
|  |     arcolinux \ | ||||||
|  |     cachyos \ | ||||||
|     debian \ |     debian \ | ||||||
|     elementary \ |     elementary \ | ||||||
|     freebsd \ |     freebsd \ | ||||||
|     fedora \ |     fedora \ | ||||||
|     garuda \ |     garuda \ | ||||||
|  |     gentoo \ | ||||||
|  |     haiku \ | ||||||
|     kali \ |     kali \ | ||||||
|     kdeneon \ |     kdeneon \ | ||||||
|  |     kolibrios \ | ||||||
|     kubuntu \ |     kubuntu \ | ||||||
|     linuxmint-cinnamon \ |     linuxmint-cinnamon \ | ||||||
|     linuxmint-mate \ |     linuxmint-mate \ | ||||||
|     linuxmint-xfce \ |     linuxmint-xfce \ | ||||||
|  |     manjaro-xfce \ | ||||||
|  |     manjaro-kde \ | ||||||
|  |     manjaro-gnome \ | ||||||
|  |     manjaro-budgie \ | ||||||
|  |     manjaro-cinnamon \ | ||||||
|  |     manjaro-deepin \ | ||||||
|  |     manjaro-i3 \ | ||||||
|  |     manjaro-mate \ | ||||||
|  |     mxlinux-xfce \ | ||||||
|  |     mxlinux-kde \ | ||||||
|  |     mxlinux-fluxbox \ | ||||||
|     nixos-gnome \ |     nixos-gnome \ | ||||||
|     nixos-plasma5 \ |     nixos-plasma5 \ | ||||||
|     nixos-minimal \ |     nixos-minimal \ | ||||||
|  | @ -186,11 +229,13 @@ function os_support() { | ||||||
|     regolith \ |     regolith \ | ||||||
|     rockylinux \ |     rockylinux \ | ||||||
|     solus \ |     solus \ | ||||||
|  |     tails \ | ||||||
|     ubuntu \ |     ubuntu \ | ||||||
|     ubuntu-budgie \ |     ubuntu-budgie \ | ||||||
|     ubuntu-kylin \ |     ubuntu-kylin \ | ||||||
|     ubuntu-mate \ |     ubuntu-mate \ | ||||||
|     ubuntu-studio \ |     ubuntu-studio \ | ||||||
|  |     void \ | ||||||
|     windows \ |     windows \ | ||||||
|     xubuntu \ |     xubuntu \ | ||||||
|     zorin |     zorin | ||||||
|  | @ -202,6 +247,14 @@ function releases_alma() { | ||||||
|     8.5 |     8.5 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_alpine() { | ||||||
|  |     echo latest \ | ||||||
|  |     3.12 \ | ||||||
|  |     3.13 \ | ||||||
|  |     3.14 \ | ||||||
|  |     3.15 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function releases_android() { | function releases_android() { | ||||||
|   echo 9.0 \ |   echo 9.0 \ | ||||||
|   8.1 \ |   8.1 \ | ||||||
|  | @ -217,21 +270,28 @@ function releases_archlinux() { | ||||||
|     echo latest |     echo latest | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_arcolinux() { | ||||||
|  |     echo latest | ||||||
|  | } | ||||||
|  | 
 | ||||||
| # later refactor these DE variants like languages and avoid the arch ? | # later refactor these DE variants like languages and avoid the arch ? | ||||||
| # all these are available with a "nonfree" option too | # all these are available with a "nonfree" option too | ||||||
| function releases_debian() { | function releases_debian() { | ||||||
|     echo 11.1.0-amd64-cinnamon \ |     echo cinnamon \ | ||||||
|     11.1.0-amd64-gnome \ |     gnome \ | ||||||
|     11.1.0-amd64-kde \ |     kde \ | ||||||
|     11.1.0-amd64-lxde \ |     lxde \ | ||||||
|     11.1.0-amd64-lxqt \ |     lxqt \ | ||||||
|     11.1.0-amd64-mate \ |     mate \ | ||||||
|     11.1.0-amd64-standard \ |     standard \ | ||||||
|     11.1.0-amd64-xfce |     xfce | ||||||
|  | } | ||||||
|  | function releases_cachyos() { | ||||||
|  |     echo 2022.01.09 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function releases_elementary() { | function releases_elementary() { | ||||||
|     echo 6.0 |     echo 6.1 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function releases_freebsd(){ | function releases_freebsd(){ | ||||||
|  | @ -245,6 +305,10 @@ function releases_fedora(){ | ||||||
|     35 |     35 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_gentoo(){ | ||||||
|  |     echo latest | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function releases_garuda() { | function releases_garuda() { | ||||||
|     echo bspwm \ |     echo bspwm \ | ||||||
|     dr460nized \ |     dr460nized \ | ||||||
|  | @ -262,6 +326,11 @@ function releases_garuda() { | ||||||
|     cinnamon |     cinnamon | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_haiku() { | ||||||
|  |     echo r1beta3-x86_64 \ | ||||||
|  |         r1beta3-x86_gcc2h | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function releases_kali() { | function releases_kali() { | ||||||
|     echo latest \ |     echo latest \ | ||||||
|     weekly |     weekly | ||||||
|  | @ -274,10 +343,18 @@ function releases_kdeneon() { | ||||||
|     developer |     developer | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_kolibrios() { | ||||||
|  |     echo latest | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function releases_linuxmint(){ | function releases_linuxmint(){ | ||||||
|     echo 20.2 |     echo 20.2 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_mxlinux(){ | ||||||
|  |     echo 21 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function releases_nixos(){ | function releases_nixos(){ | ||||||
|     echo 21.05 \ |     echo 21.05 \ | ||||||
|     21.11 |     21.11 | ||||||
|  | @ -314,9 +391,20 @@ function releases_macos() { | ||||||
|     monterey |     monterey | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_manjaro() { | ||||||
|  |     case ${OS} in | ||||||
|  |     *xfce|*kde|*gnome) echo full \ | ||||||
|  |     minimal \ | ||||||
|  |     minimal-lts;; | ||||||
|  |     *budgie|*cinnamon|*deepin|*i3|*mate) echo full \ | ||||||
|  |     minimal;; | ||||||
|  |     esac | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function releases_popos() { | function releases_popos() { | ||||||
|     echo 20.04 \ |     echo 20.04 \ | ||||||
|     21.04 |     21.04 \ | ||||||
|  |     21.10 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function releases_regolith() { | function releases_regolith() { | ||||||
|  | @ -343,6 +431,10 @@ function releases_solus() { | ||||||
|     4.3-plasma |     4.3-plasma | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_tails() { | ||||||
|  |     echo stable | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function releases_ubuntu() { | function releases_ubuntu() { | ||||||
|     echo bionic \ |     echo bionic \ | ||||||
|     focal \ |     focal \ | ||||||
|  | @ -352,6 +444,13 @@ function releases_ubuntu() { | ||||||
|     canary |     canary | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function releases_void() { | ||||||
|  |     echo base \ | ||||||
|  |     musl \ | ||||||
|  |     xfce \ | ||||||
|  |     xfce-musl | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function languages_windows() { | function languages_windows() { | ||||||
|     LANGS=(Arabic |     LANGS=(Arabic | ||||||
|     "Brazilian Portuguese" |     "Brazilian Portuguese" | ||||||
|  | @ -513,15 +612,24 @@ function make_vm_config() { | ||||||
|     if [ "${OS}" == "alma" ]; then |     if [ "${OS}" == "alma" ]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  |     elif [ "${OS}" == "alpine" ]; then | ||||||
|  |         GUEST="linux" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|     elif [ "${OS}" == "android" ]; then |     elif [ "${OS}" == "android" ]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|     elif [ "${OS}" == "archlinux" ]; then |     elif [ "${OS}" == "archlinux" ]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  |     elif [ "${OS}" == "arcolinux" ]; then | ||||||
|  |         GUEST="linux" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|     elif [ "${OS}" == "debian" ]; then |     elif [ "${OS}" == "debian" ]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  |     elif [ "${OS}" == "cachyos" ]; then | ||||||
|  |         GUEST="linux" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|     elif [ "${OS}" == "elementary" ]; then |     elif [ "${OS}" == "elementary" ]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  | @ -537,12 +645,27 @@ function make_vm_config() { | ||||||
|     elif [ "${OS}" == "garuda" ]; then |     elif [ "${OS}" == "garuda" ]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  |     elif [ "${OS}" == "gentoo" ]; then | ||||||
|  |         GUEST="linux" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|  |     elif [ "${OS}" == "haiku" ]; then | ||||||
|  |         GUEST="haiku" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|     elif [ "${OS}" == "kdeneon" ]; then |     elif [ "${OS}" == "kdeneon" ]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  |     elif [ "${OS}" == "kolibrios" ]; then | ||||||
|  |         GUEST="kolibrios" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|     elif [[ "${OS}" == *"linuxmint"* ]]; then |     elif [[ "${OS}" == *"linuxmint"* ]]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  |     elif [[ "${OS}" == *"manjaro"* ]]; then | ||||||
|  |         GUEST="linux" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|  |     elif [[ "${OS}" == *"mxlinux"* ]]; then | ||||||
|  |         GUEST="linux" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|     elif [[ "${OS}" == *"nixos"* ]]; then |     elif [[ "${OS}" == *"nixos"* ]]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  | @ -567,9 +690,15 @@ function make_vm_config() { | ||||||
|     elif [ "${OS}" == "solus" ]; then |     elif [ "${OS}" == "solus" ]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  |     elif [[ "${OS}" == "tails" ]]; then | ||||||
|  |         GUEST="linux" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|     elif [[ "${OS}" == *"ubuntu"* ]]; then |     elif [[ "${OS}" == *"ubuntu"* ]]; then | ||||||
|         GUEST="linux" |         GUEST="linux" | ||||||
|         IMAGE_TYPE="iso" |         IMAGE_TYPE="iso" | ||||||
|  |     elif [ "${OS}" == "void" ]; then | ||||||
|  |         GUEST="linux" | ||||||
|  |         IMAGE_TYPE="iso" | ||||||
|     elif [ "${OS}" == "macos" ]; then |     elif [ "${OS}" == "macos" ]; then | ||||||
|         GUEST="macos" |         GUEST="macos" | ||||||
|         IMAGE_TYPE="img" |         IMAGE_TYPE="img" | ||||||
|  | @ -596,25 +725,48 @@ EOF | ||||||
|         if [ -n "${ISO_FILE}" ]; then |         if [ -n "${ISO_FILE}" ]; then | ||||||
|             echo "fixed_iso=\"${VM_PATH}/${ISO_FILE}\"" >> "${OS}-${RELEASE}.conf" |             echo "fixed_iso=\"${VM_PATH}/${ISO_FILE}\"" >> "${OS}-${RELEASE}.conf" | ||||||
|         fi |         fi | ||||||
|  | 
 | ||||||
|         if [ "${OS}" == "alma"  ] && [ ${ISOTYPE} == "dvd" ]; then |         if [ "${OS}" == "alma"  ] && [ ${ISOTYPE} == "dvd" ]; then | ||||||
|             echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" |             echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" | ||||||
|         fi |         fi | ||||||
|  | 
 | ||||||
|  |         if [ "${OS}" == "kolibrios" ]; then | ||||||
|  |             echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" | ||||||
|  |         fi | ||||||
|  | 
 | ||||||
|         if [ "${OS}" == "openbsd" ]; then |         if [ "${OS}" == "openbsd" ]; then | ||||||
|             echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" |             echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" | ||||||
|         fi |         fi | ||||||
| 
 | 
 | ||||||
|  |         if [ "${OS}" == "tails" ]; then | ||||||
|  |             echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" | ||||||
|  |         fi | ||||||
|  | 
 | ||||||
|         if [ "${OS}" == "macos" ]; then |         if [ "${OS}" == "macos" ]; then | ||||||
|             echo "macos_release=\"${RELEASE}\"" >> "${OS}-${RELEASE}.conf" |             echo "macos_release=\"${RELEASE}\"" >> "${OS}-${RELEASE}.conf" | ||||||
|         fi |         fi | ||||||
| 
 | 
 | ||||||
|  |         if [ "${OS}" == "cachyos"  ]; then | ||||||
|  |             echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" | ||||||
|  |         fi | ||||||
|  | 
 | ||||||
|         if [ "${OS}" == "garuda"  ]; then |         if [ "${OS}" == "garuda"  ]; then | ||||||
|             echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" |             echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" | ||||||
|         fi |         fi | ||||||
| 
 | 
 | ||||||
|  |         if [ "${OS}" == "haiku" ]; then | ||||||
|  |             echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" | ||||||
|  |             echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" | ||||||
|  |         fi | ||||||
|  | 
 | ||||||
|         if [ "${OS}" == "oraclelinux"  ]; then |         if [ "${OS}" == "oraclelinux"  ]; then | ||||||
|             echo "disk_size=\"20G\"" >> "${OS}-${RELEASE}.conf" |             echo "disk_size=\"20G\"" >> "${OS}-${RELEASE}.conf" | ||||||
|         fi |         fi | ||||||
| 
 | 
 | ||||||
|  |         if [ "${OS}" == "void"  ]; then | ||||||
|  |             echo "disk_size=\"20G\"" >> "${OS}-${RELEASE}.conf" | ||||||
|  |         fi | ||||||
|  | 
 | ||||||
|         if [ "${OS}" == "zorin"  ]; then |         if [ "${OS}" == "zorin"  ]; then | ||||||
|             case  ${RELEASE} in |             case  ${RELEASE} in | ||||||
|               15education64|15edulite64|15edulite32) |               15education64|15edulite64|15edulite32) | ||||||
|  | @ -692,6 +844,30 @@ function get_alma() { | ||||||
|     check_hash "${ISO}" "${HASH}" |     check_hash "${ISO}" "${HASH}" | ||||||
|     make_vm_config "${ISO}" |     make_vm_config "${ISO}" | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | function get_alpine() { | ||||||
|  |     local HASH="" | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  |     local VERSION="" | ||||||
|  |     local BRANCH="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_alpine" | ||||||
|  |     if [[ "${RELEASE}" == "latest" ]]; then | ||||||
|  |       BRANCH="latest-stable" | ||||||
|  |     else | ||||||
|  |       BRANCH="v${RELEASE}" | ||||||
|  |     fi | ||||||
|  |     MANIFESTURL="https://dl-cdn.alpinelinux.org/alpine/${BRANCH}/releases/x86_64/latest-releases.yaml" | ||||||
|  |     VERSION=$(wget -qO- "${MANIFESTURL}" | awk '/"Xen"/{found=0} {if(found) print} /"Virtual"/{found=1}' | grep 'version:' | awk '{print $2}') | ||||||
|  |     ISO="alpine-virt-${VERSION}-x86_64.iso" | ||||||
|  |     URL="https://dl-cdn.alpinelinux.org/alpine/${BRANCH}/releases/x86_64/${ISO}" | ||||||
|  |     web_get "${URL}" "${VM_PATH}" | ||||||
|  |     HASH=$(wget -qO- "${MANIFESTURL}" | awk '/"Xen"/{found=0} {if(found) print} /"Virtual"/{found=1}' | grep 'sha256:' | awk '{print $2}') | ||||||
|  |     check_hash "${ISO}" "${HASH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function get_archlinux() { | function get_archlinux() { | ||||||
|     local HASH="" |     local HASH="" | ||||||
|     local ISO="" |     local ISO="" | ||||||
|  | @ -708,6 +884,36 @@ function get_archlinux() { | ||||||
|     make_vm_config "${ISO}" |     make_vm_config "${ISO}" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function get_arcolinux() { | ||||||
|  |     local HASH="" | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  |     local VERSION="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_arcolinux" | ||||||
|  |     VERSION=$(wget -q -O- 'https://ant.seedhost.eu/arcolinux/.quick/info' | cut -d " " -f 2) | ||||||
|  |     URL="https://ant.seedhost.eu/arcolinux/.quick/" | ||||||
|  |     ISO="arcolinuxl-${VERSION}-x86_64.iso" | ||||||
|  |     HASH=$(wget -q -O- 'https://ant.seedhost.eu/arcolinux/.quick/arcolinuxl-'${VERSION}'-x86_64.iso.sha1' | cut -d " " -f 1) | ||||||
|  |     web_get "${URL}/${ISO}" "${VM_PATH}" | ||||||
|  |     check_hash "${ISO}" "${HASH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | function get_cachyos() { | ||||||
|  |     local HASH="" | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  |     local VERSION="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_cachyos" | ||||||
|  |     #ISO="cachyos-cli-${RELEASE}-x86_64.iso" | ||||||
|  |     ISO="cachyos-${RELEASE}-x86_64.iso" | ||||||
|  |     URL="https://mirror.cachyos.org/ISO" | ||||||
|  |     web_get "${URL}/${ISO}" "${VM_PATH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| function get_debian() { | function get_debian() { | ||||||
|     local HASH="" |     local HASH="" | ||||||
|  | @ -741,11 +947,11 @@ function get_elementary() { | ||||||
|     local ISO="" |     local ISO="" | ||||||
|     local URL="" |     local URL="" | ||||||
|     local B66tim="" |     local B66tim="" | ||||||
| 
 |     local isotag="20211218-rc" | ||||||
| 
 | 
 | ||||||
|     validate_release "releases_elementary" |     validate_release "releases_elementary" | ||||||
|     B66tim=$(date +%s | base64 ) |     B66tim=$(date +%s | base64 ) | ||||||
|     ISO="elementaryos-${RELEASE}-stable.20211005.iso" |     ISO="elementaryos-${RELEASE}-stable.${isotag}.iso" | ||||||
|     # TODO:  derive region from geoIP |     # TODO:  derive region from geoIP | ||||||
|     URL="https://ams3.dl.elementary.io/download/${B66tim}=/${ISO}" |     URL="https://ams3.dl.elementary.io/download/${B66tim}=/${ISO}" | ||||||
|     web_get "${URL}" "${VM_PATH}" |     web_get "${URL}" "${VM_PATH}" | ||||||
|  | @ -793,6 +999,27 @@ function get_fedora() { | ||||||
|     make_vm_config "${ISO}" |     make_vm_config "${ISO}" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function get_gentoo() { | ||||||
|  |     local HASH="" | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  |     local LOCAT="" | ||||||
|  |     local INSTALLMIN="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_gentoo" | ||||||
|  |     eval $( wget  -O/tmp/gentoolatest https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/${RELEASE}-iso.txt 2>&1 |grep Location | awk '{print "LOCAT="$2}' ) | ||||||
|  |     LOCAT=$(dirname ${LOCAT}) | ||||||
|  |     eval $( awk '/admincd-amd64/ {print "ADMIN="$1}; /install-amd64-minimal/ {print "INSTALLMIN="$1}' /tmp/gentoolatest ) | ||||||
|  |     URL="${LOCAT}/${INSTALLMIN}" | ||||||
|  |     ISO=$(basename "${INSTALLMIN}" ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     web_get "${URL}" "${VM_PATH}" | ||||||
|  |     HASH=$(wget -q -O- ${LOCAT}/${INSTALLMIN}.DIGESTS|grep -e iso|grep  -v -e CONT -e catalyst|cut -d\  -f1) | ||||||
|  |     check_hash "${ISO}" "${HASH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function get_kali() { | function get_kali() { | ||||||
|     local HASH="" |     local HASH="" | ||||||
|     local ISO="" |     local ISO="" | ||||||
|  | @ -828,6 +1055,23 @@ function get_kdeneon() { | ||||||
|     make_vm_config "${ISO}" |     make_vm_config "${ISO}" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function get_kolibrios() { | ||||||
|  |     local HASH="" | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_kolibrios" | ||||||
|  |     #URL="https://builds.kolibrios.org/eng/${RELEASE}.7z" | ||||||
|  |     ISO="kolibri.iso" | ||||||
|  |     URL="https://builds.kolibrios.org/eng/${ISO}" | ||||||
|  |     web_get "${URL}" "${VM_PATH}" | ||||||
|  |     #7z e "${VM_PATH}/${RELEASE}.7z" "kolibri.iso" | ||||||
|  |     #ISO="kolibrios-${RELEASE}.iso" | ||||||
|  |     #mv "kolibri.iso" "${VM_PATH}/${ISO}" | ||||||
|  |     #rm "${VM_PATH}/${RELEASE}.7z" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function get_linuxmint() { | function get_linuxmint() { | ||||||
|     local FLAVOR="" |     local FLAVOR="" | ||||||
|     local HASH="" |     local HASH="" | ||||||
|  | @ -842,7 +1086,74 @@ function get_linuxmint() { | ||||||
|     web_get "${URL}" "${VM_PATH}" |     web_get "${URL}" "${VM_PATH}" | ||||||
|     check_hash "${ISO}" "${HASH}" |     check_hash "${ISO}" "${HASH}" | ||||||
|     make_vm_config "${ISO}" |     make_vm_config "${ISO}" | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | function get_manjaro() { | ||||||
|  |     local FLAVOR="" | ||||||
|  |     local MANIFESTURL="" | ||||||
|  | #    local ISOKEY="" | ||||||
|  |     local HASHKEY="" | ||||||
|  |     local HASH="" | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_manjaro" | ||||||
|  |     FLAVOR=$(echo "${OS}" | cut -d'-' -f2) | ||||||
|  |     case ${FLAVOR} in | ||||||
|  |       xfce|kde|gnome) BRANCH="official";; | ||||||
|  |       budgie|cinnamon|deepin|i3|mate) BRANCH="community";; | ||||||
|  |     esac | ||||||
|  | 
 | ||||||
|  |     if [[ ${RELEASE} == "full" ]]; then | ||||||
|  |       KEY="Download_x64 = " | ||||||
|  |       HASHKEY="Download_x64_Checksum = " | ||||||
|  |     elif [[ ${RELEASE} == "minimal" ]]; then | ||||||
|  |       KEY="Download_Minimal_x64 = " | ||||||
|  |       HASHKEY="Download_Minimal_x64_Checksum = " | ||||||
|  |     elif [[ ${RELEASE} == "minimal" ]]; then | ||||||
|  |       KEY="Download_Minimal_lts = " | ||||||
|  |       HASHKEY="Download_Minimal_x64_Checksum_lts = " | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
|  |     MANIFESTURL="https://gitlab.manjaro.org/webpage/manjaro-homepage/-/raw/master/site/content/downloads/${BRANCH}/${FLAVOR}.md" | ||||||
|  |     URL="$(wget -qO- ${MANIFESTURL} | grep "${KEY}" | awk '{print $3}' | tr -d '"')" | ||||||
|  |     ISO="$(echo $URL | awk -F "/" '{print $6}')" | ||||||
|  |     HASH=$(wget -qO- ${MANIFESTURL} | grep "${HASHKEY}" | awk '{print $3}' | tr -d '"') | ||||||
|  |     web_get "${URL}" "${VM_PATH}" | ||||||
|  |     check_hash "${ISO}" "${HASH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function get_mxlinux() { | ||||||
|  |     local FLAVOR="" | ||||||
|  |     local HASH="" | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  |     local BASE_URL="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_mxlinux" | ||||||
|  |     FLAVOR=$(echo "${OS}" | cut -d'-' -f2) | ||||||
|  | 
 | ||||||
|  |     if [[ "$FLAVOR" == "xfce" ]]; then | ||||||
|  |         ISO="MX-${RELEASE}_x64.iso" | ||||||
|  |         BASE_URL="https://sourceforge.net/projects/mx-linux/files/Final/Xfce/" | ||||||
|  |     elif [[ "$FLAVOR" == "kde" ]]; then | ||||||
|  |         ISO="MX-${RELEASE}_KDE_x64.iso" | ||||||
|  |         BASE_URL="https://sourceforge.net/projects/mx-linux/files/Final/KDE/" | ||||||
|  |     elif [[ "$FLAVOR" == "fluxbox" ]]; then | ||||||
|  |         ISO="MX-${RELEASE}_fluxbox_x64.iso" | ||||||
|  |         BASE_URL="https://sourceforge.net/projects/mx-linux/files/Final/Fluxbox/" | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
|  |     URL="${BASE_URL}/${ISO}" | ||||||
|  |     web_get "${URL}" "${VM_PATH}" | ||||||
|  |     web_get "${URL}.sha256" "${VM_PATH}" | ||||||
|  |     HASH=$(cat "${VM_PATH}/${ISO}.sha256" | cut -d' ' -f1) | ||||||
|  |     check_hash "${ISO}" "${HASH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function get_nixos() { | function get_nixos() { | ||||||
|     local FLAVOR="" |     local FLAVOR="" | ||||||
|     local HASH="" |     local HASH="" | ||||||
|  | @ -857,6 +1168,7 @@ function get_nixos() { | ||||||
|     web_get "${URL}" "${VM_PATH}" |     web_get "${URL}" "${VM_PATH}" | ||||||
|     check_hash "${ISO}" "${HASH}" |     check_hash "${ISO}" "${HASH}" | ||||||
|     make_vm_config "${ISO}" |     make_vm_config "${ISO}" | ||||||
|  | 
 | ||||||
| } | } | ||||||
| function get_openbsd() { | function get_openbsd() { | ||||||
|     local HASH="" |     local HASH="" | ||||||
|  | @ -872,6 +1184,40 @@ function get_openbsd() { | ||||||
|     make_vm_config "${ISO}" |     make_vm_config "${ISO}" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function get_void() { | ||||||
|  |     local HASH="" | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  |     local HASH_URL="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_void" | ||||||
|  |     DATE=$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | awk 'NR == 1' |cut -d'.' -f1| cut -d'-' -f4) | ||||||
|  |     URL="http://mirror.fit.cvut.cz/voidlinux/live/current" | ||||||
|  |     case ${RELEASE} in | ||||||
|  |       base) | ||||||
|  |         ISO="void-live-x86_64-${DATE}.iso";; | ||||||
|  |       musl) | ||||||
|  |         ISO="void-live-x86_64-musl-${DATE}.iso";; | ||||||
|  |       xfce) | ||||||
|  |         ISO="void-live-x86_64-${DATE}-xfce.iso";; | ||||||
|  |       xfce-musl) | ||||||
|  |         ISO="void-live-x86_64-musl-${DATE}-xfce.iso";; | ||||||
|  |     esac | ||||||
|  |     case ${RELEASE} in | ||||||
|  |       base) | ||||||
|  |         HASH="$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | grep "void-live-x86_64-${DATE}.iso" | cut -d' ' -f4)";; | ||||||
|  |       musl) | ||||||
|  |         HASH="$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | grep "void-live-x86_64-musl-${DATE}.iso" | cut -d' ' -f4)";; | ||||||
|  |       xfce) | ||||||
|  |         HASH="$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | grep "void-live-x86_64-${DATE}-xfce.iso" | cut -d' ' -f4)";; | ||||||
|  |       xfce-musl) | ||||||
|  |         HASH="$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | grep "void-live-x86_64-musl-${DATE}.iso" | cut -d' ' -f4)";; | ||||||
|  |     esac | ||||||
|  |     web_get "${URL}/${ISO}" "${VM_PATH}" | ||||||
|  |     check_hash "${ISO}" "${HASH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function get_zorin() { | function get_zorin() { | ||||||
|     local ISO="" |     local ISO="" | ||||||
|     local URL="" |     local URL="" | ||||||
|  | @ -941,10 +1287,14 @@ function get_opensuse() { | ||||||
|         ISO="openSUSE-MicroOS-DVD-x86_64-Current.iso" |         ISO="openSUSE-MicroOS-DVD-x86_64-Current.iso" | ||||||
|         URL="https://download.opensuse.org/tumbleweed/iso/${ISO}" |         URL="https://download.opensuse.org/tumbleweed/iso/${ISO}" | ||||||
|         HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) |         HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) | ||||||
|     else |     elif [ "$RELEASE" == 15.0 ] || [ "$RELEASE" == 15.1 ]; then | ||||||
|         ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64.iso" |         ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64.iso" | ||||||
|         URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}" |         URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}" | ||||||
|         HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) |         HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) | ||||||
|  |     else | ||||||
|  |         ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64-Current.iso" | ||||||
|  |         URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}" | ||||||
|  |         HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) | ||||||
|     fi |     fi | ||||||
|     web_get "${URL}" "${VM_PATH}" |     web_get "${URL}" "${VM_PATH}" | ||||||
|     check_hash "${ISO}" "${HASH}" |     check_hash "${ISO}" "${HASH}" | ||||||
|  | @ -1100,6 +1450,18 @@ function get_regolith() { | ||||||
|     make_vm_config "${ISO}" |     make_vm_config "${ISO}" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function get_tails() { | ||||||
|  |     validate_release "releases_tails" | ||||||
|  | 
 | ||||||
|  |     RELEASE_JSON_URL="https://tails.boum.org/install/v2/Tails/amd64/${RELEASE}/latest.json" | ||||||
|  |     RELEASE_JSON="$(wget -q -O- "$RELEASE_JSON_URL")" | ||||||
|  |     URL=$(echo "$RELEASE_JSON" | jq -r '.installations[0]."installation-paths"[]|select(.type=="iso")|."target-files"[0].url') | ||||||
|  |     HASH=$(echo "$RELEASE_JSON" | jq -r '.installations[0]."installation-paths"[]|select(.type=="iso")|."target-files"[0].sha256') | ||||||
|  |     ISO=$(echo "${URL}" | sed -e "s/.*\/\([^\/]*\)$/\1/") | ||||||
|  |     web_get "${URL}" "${VM_PATH}" | ||||||
|  |     check_hash "${ISO}" "${HASH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| function get_ubuntu() { | function get_ubuntu() { | ||||||
|     local DEVEL="daily-live" |     local DEVEL="daily-live" | ||||||
|  | @ -1149,6 +1511,7 @@ function get_ubuntu() { | ||||||
|         make_vm_config "${ISO}" |         make_vm_config "${ISO}" | ||||||
|     fi |     fi | ||||||
| } | } | ||||||
|  | 
 | ||||||
| function get_garuda() { | function get_garuda() { | ||||||
|     local HASH="" |     local HASH="" | ||||||
|     local ISO="" |     local ISO="" | ||||||
|  | @ -1185,6 +1548,21 @@ function get_garuda() { | ||||||
|     make_vm_config "${OS}-${RELEASE}.iso" |     make_vm_config "${OS}-${RELEASE}.iso" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function get_haiku() { | ||||||
|  |     local ISO="" | ||||||
|  |     local URL="" | ||||||
|  |     local HASH="" | ||||||
|  | 
 | ||||||
|  |     validate_release "releases_haiku" | ||||||
|  | 
 | ||||||
|  |     ISO="haiku-${RELEASE}-anyboot.iso" | ||||||
|  |     URL="https://cdn.haiku-os.org/haiku-release/$(echo $RELEASE | awk -F '-' '{print $1}')/${ISO}" | ||||||
|  |     HASH=$(wget -q -O- ${URL}.sha256 | grep "${ISO}" | cut -d' ' -f4) | ||||||
|  |     web_get "${URL}" "${VM_PATH}" | ||||||
|  |     check_hash "${ISO}" "${HASH}" | ||||||
|  |     make_vm_config "${ISO}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function unattended_windows() { | function unattended_windows() { | ||||||
|     cat << 'EOF' > "${1}" |     cat << 'EOF' > "${1}" | ||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | @ -1480,7 +1858,6 @@ function unattended_windows() { | ||||||
| EOF | EOF | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| function dbg_windows() { | function dbg_windows() { | ||||||
|   local DEBUG=0 |   local DEBUG=0 | ||||||
|   if [ ${DEBUG} -eq 1 ]; then |   if [ ${DEBUG} -eq 1 ]; then | ||||||
|  | @ -1623,10 +2000,16 @@ if [ -n "${2}" ]; then | ||||||
|         fi |         fi | ||||||
|         VM_PATH="${OS}-${RELEASE}-${ISOTYPE}" |         VM_PATH="${OS}-${RELEASE}-${ISOTYPE}" | ||||||
|         get_alma "${ISOTYPE}" |         get_alma "${ISOTYPE}" | ||||||
|  |     elif [ "${OS}" == "alpine" ]; then | ||||||
|  |         get_alpine | ||||||
|     elif [ "${OS}" == "android" ]; then |     elif [ "${OS}" == "android" ]; then | ||||||
|         get_android |         get_android | ||||||
|     elif [ "${OS}" == "archlinux" ]; then |     elif [ "${OS}" == "archlinux" ]; then | ||||||
|         get_archlinux |         get_archlinux | ||||||
|  |     elif [ "${OS}" == "arcolinux" ]; then | ||||||
|  |         get_arcolinux | ||||||
|  |     elif [ "${OS}" == "void" ]; then | ||||||
|  |         get_void | ||||||
|     elif [ "${OS}" == "debian" ]; then |     elif [ "${OS}" == "debian" ]; then | ||||||
|      if [ -n "${3}" ]; then |      if [ -n "${3}" ]; then | ||||||
|             FREEDOM="${3}" |             FREEDOM="${3}" | ||||||
|  | @ -1653,12 +2036,24 @@ if [ -n "${2}" ]; then | ||||||
|         get_fedora |         get_fedora | ||||||
|     elif [ "${OS}" == "garuda" ]; then |     elif [ "${OS}" == "garuda" ]; then | ||||||
|         get_garuda |         get_garuda | ||||||
|  |     elif [ "${OS}" == "cachyos" ]; then | ||||||
|  |         get_cachyos | ||||||
|  |     elif [ "${OS}" == "gentoo" ]; then | ||||||
|  |         get_gentoo | ||||||
|  |     elif [ "${OS}" == "haiku" ]; then | ||||||
|  |         get_haiku | ||||||
|     elif [ "${OS}" == "kali" ]; then |     elif [ "${OS}" == "kali" ]; then | ||||||
|         get_kali |         get_kali | ||||||
|     elif [ "${OS}" == "kdeneon" ]; then |     elif [ "${OS}" == "kdeneon" ]; then | ||||||
|         get_kdeneon |         get_kdeneon | ||||||
|  |     elif [ "${OS}" == "kolibrios" ]; then | ||||||
|  |         get_kolibrios | ||||||
|     elif [[ "${OS}" == *"linuxmint-"* ]]; then |     elif [[ "${OS}" == *"linuxmint-"* ]]; then | ||||||
|         get_linuxmint |         get_linuxmint | ||||||
|  |     elif [[ "${OS}" == *"manjaro-"* ]]; then | ||||||
|  |         get_manjaro | ||||||
|  |     elif [[ "${OS}" == *"mxlinux-"* ]]; then | ||||||
|  |         get_mxlinux | ||||||
|     elif [[ "${OS}" == *"nixos-"* ]]; then |     elif [[ "${OS}" == *"nixos-"* ]]; then | ||||||
|         get_nixos |         get_nixos | ||||||
|     elif [ "${OS}" == "openbsd" ]; then |     elif [ "${OS}" == "openbsd" ]; then | ||||||
|  | @ -1667,7 +2062,7 @@ if [ -n "${2}" ]; then | ||||||
|         get_opensuse |         get_opensuse | ||||||
|     elif [ "${OS}" == "oraclelinux" ]; then |     elif [ "${OS}" == "oraclelinux" ]; then | ||||||
|         get_oraclelinux |         get_oraclelinux | ||||||
|   elif [ "${OS}" == "popos" ]; then |     elif [ "${OS}" == "popos" ]; then | ||||||
|         if [ -n "${3}" ]; then |         if [ -n "${3}" ]; then | ||||||
|             DRIVER="${3}" |             DRIVER="${3}" | ||||||
|             DRIVERS=(intel nvidia) |             DRIVERS=(intel nvidia) | ||||||
|  | @ -1703,6 +2098,8 @@ if [ -n "${2}" ]; then | ||||||
|         get_rocky "${ISOTYPE}" |         get_rocky "${ISOTYPE}" | ||||||
|     elif [ "${OS}" == "solus" ]; then |     elif [ "${OS}" == "solus" ]; then | ||||||
|         get_solus |         get_solus | ||||||
|  |     elif [[ "${OS}" == "tails"* ]]; then | ||||||
|  |         get_tails | ||||||
|     elif [[ "${OS}" == *"ubuntu"* ]]; then |     elif [[ "${OS}" == *"ubuntu"* ]]; then | ||||||
|         get_ubuntu |         get_ubuntu | ||||||
|     elif [ "${OS}" == "windows" ]; then |     elif [ "${OS}" == "windows" ]; then | ||||||
|  | @ -1730,10 +2127,14 @@ else | ||||||
|     echo -n "ERROR! You must specify a release: " |     echo -n "ERROR! You must specify a release: " | ||||||
|     if [ "${OS}" == "alma" ]; then |     if [ "${OS}" == "alma" ]; then | ||||||
|         releases_alma |         releases_alma | ||||||
|  |     elif [ "${OS}" == "alpine" ]; then | ||||||
|  |         releases_alpine | ||||||
|     elif [ "${OS}" == "android" ]; then |     elif [ "${OS}" == "android" ]; then | ||||||
|         releases_android |         releases_android | ||||||
|     elif [ "${OS}" == "archlinux" ]; then |     elif [ "${OS}" == "archlinux" ]; then | ||||||
|         releases_archlinux |         releases_archlinux | ||||||
|  |     elif [ "${OS}" == "arcolinux" ]; then | ||||||
|  |         releases_arcolinux | ||||||
|     elif [ "${OS}" == "debian" ]; then |     elif [ "${OS}" == "debian" ]; then | ||||||
|         releases_debian |         releases_debian | ||||||
|     elif [ "${OS}" == "elementary" ]; then |     elif [ "${OS}" == "elementary" ]; then | ||||||
|  | @ -1744,10 +2145,22 @@ else | ||||||
|         releases_fedora |         releases_fedora | ||||||
|     elif [ "${OS}" == "garuda" ]; then |     elif [ "${OS}" == "garuda" ]; then | ||||||
|         releases_garuda |         releases_garuda | ||||||
|  |     elif [ "${OS}" == "cachyos" ]; then | ||||||
|  |         releases_cachyos | ||||||
|  |     elif [ "${OS}" == "gentoo" ]; then | ||||||
|  |         releases_gentoo | ||||||
|  |     elif [ "${OS}" == "haiku" ]; then | ||||||
|  |         releases_haiku | ||||||
|     elif [ "${OS}" == "kali" ]; then |     elif [ "${OS}" == "kali" ]; then | ||||||
|         releases_kali |         releases_kali | ||||||
|  |     elif [ "${OS}" == "kolibrios" ]; then | ||||||
|  |         releases_kolibrios | ||||||
|     elif [[ "${OS}" == *"linuxmint-"* ]]; then |     elif [[ "${OS}" == *"linuxmint-"* ]]; then | ||||||
|         releases_linuxmint |         releases_linuxmint | ||||||
|  |     elif [[ "${OS}" == *"manjaro-"* ]]; then | ||||||
|  |         releases_manjaro | ||||||
|  |     elif [[ "${OS}" == *"mxlinux-"* ]]; then | ||||||
|  |         releases_mxlinux | ||||||
|     elif [[ "${OS}" == *"nixos-"* ]]; then |     elif [[ "${OS}" == *"nixos-"* ]]; then | ||||||
|         releases_nixos |         releases_nixos | ||||||
|     elif [ "${OS}" == "opensuse" ]; then |     elif [ "${OS}" == "opensuse" ]; then | ||||||
|  | @ -1766,8 +2179,12 @@ else | ||||||
|         releases_rockylinux |         releases_rockylinux | ||||||
|     elif [ "${OS}" == "solus" ]; then |     elif [ "${OS}" == "solus" ]; then | ||||||
|         releases_solus |         releases_solus | ||||||
|  |     elif [[ "${OS}" == "tails"* ]]; then | ||||||
|  |         releases_tails | ||||||
|     elif [[ "${OS}" == *"ubuntu"* ]]; then |     elif [[ "${OS}" == *"ubuntu"* ]]; then | ||||||
|         releases_ubuntu |         releases_ubuntu | ||||||
|  |     elif [ "${OS}" == "void" ]; then | ||||||
|  |         releases_void | ||||||
|     elif [ "${OS}" == "windows" ]; then |     elif [ "${OS}" == "windows" ]; then | ||||||
|         releases_windows |         releases_windows | ||||||
|     elif [ "${OS}" == "zorin" ]; then |     elif [ "${OS}" == "zorin" ]; then | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue