install.fairie/docs/scripts/after/run_onchange_after_44-vmware-install.sh.tmpl.md
2023-08-08 03:06:49 -04:00

7.3 KiB

title description sidebar_label slug githubLocation scriptLocation repoLocation
Linux VMWare Workstation Install Installs VMWare Workstation Pro on Linux devices, applies a "publicly-retrieved" license key (see disclaimer), and automatically accepts the terms and conditions 44 Linux VMWare Workstation Install /scripts/after/run_onchange_after_44-vmware-install.sh.tmpl https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoiscripts/universal/run_onchange_after_44-vmware-install.sh.tmpl https://github.com/megabyte-labs/install.doctor/raw/master/home/.chezmoiscripts/universal/run_onchange_after_44-vmware-install.sh.tmpl home/.chezmoiscripts/universal/run_onchange_after_44-vmware-install.sh.tmpl

Linux VMWare Workstation Install

Installs VMWare Workstation Pro on Linux devices, applies a "publicly-retrieved" license key (see disclaimer), and automatically accepts the terms and conditions

Overview

This script ensures the user included vmware in their software installation list. It then checks for presence of the vmware utility. If it is not present, then the script:

  1. Downloads the VMWare Workstation Pro Linux installer
  2. Installs VMWare Workstation Pro
  3. Passes options to the installation script that automatically apply a publicly retrived license key and accept the Terms & Conditions

DISCLAIMER: If you plan on using VMWare Workstation for anything but evaluation purposes, then we highly suggest purchasing a copy of VMWare Workstation. The "publicly-retrived" license keys are scattered throughout GitHub and we are not exactly sure why they work. You can pass in your own key by utilizing the VMWARE_WORKSTATION_LICENSE_KEY environment variable. More details on using environment variables or repository-housed encrypted secrets can be found in our Secrets documentation.

VMWare on macOS

This script only installs VMWare Workstation on Linux. The macOS-variant titled VMWare Fusion can be installed using a Homebrew cask so a "work-around" script does not have to be used.

VMWare vs. Parallels vs. VirtualBox vs. KVM vs. Hyper-V

There are a handful of VM virtualization providers you can choose from. VMWare is a nice compromise between OS compatibility and performance. Parallels, on the hand, might be better for macOS since it is designed specifically for macOS. Finally, VirtualBox is a truly free, open-source option that does not come with the same optimizations that VMWare and Parallels provide.

Other virtualization options include KVM (Linux / macOS) and Hyper-V (Windows). These options are better used for headless systems.

Source Code

{{- if eq .host.distro.family "linux" -}}
{{- $softwareGroup := nospace (cat "_" .host.softwareGroup) -}}
{{- $softwareList := list (index .softwareGroups $softwareGroup | toString | replace "[" "" | replace "]" "") | uniq | join " " -}}
{{- if (contains " vmware" $softwareList) -}}
#!/usr/bin/env bash
# @file Linux VMWare Workstation Install
# @brief Installs VMWare Workstation Pro on Linux devices, applies a "publicly-retrieved" license key (see disclaimer), and automatically accepts the terms and conditions
# @description
#     This script ensures the user included `vmware` in their software installation list. It then checks for presence of the `vmware` utility. If it is not present, then the script:
#
#     1. Downloads the [VMWare Workstation Pro](https://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-pro.html.html) Linux installer
#     2. Installs VMWare Workstation Pro
#     3. Passes options to the installation script that automatically apply a publicly retrived license key and accept the Terms & Conditions
#
#     **DISCLAIMER:** If you plan on using VMWare Workstation for anything but evaluation purposes, then we highly suggest purchasing a copy
#     of VMWare Workstation. The "publicly-retrived" license keys are scattered throughout GitHub and we are not exactly
#     sure why they work. You can pass in your own key by utilizing the `VMWARE_WORKSTATION_LICENSE_KEY` environment variable. More details on
#     using environment variables or repository-housed encrypted secrets can be found in our [Secrets documentation](https://install.doctor/docs/customization/secrets).
#
#     ## VMWare on macOS
#
#     This script only installs VMWare Workstation on Linux. The macOS-variant titled VMWare Fusion can be installed using a Homebrew
#     cask so a "work-around" script does not have to be used.
#
#     ## VMWare vs. Parallels vs. VirtualBox vs. KVM vs. Hyper-V
#
#     There are a handful of VM virtualization providers you can choose from. VMWare is a nice compromise between OS compatibility and performance.
#     Parallels, on the hand, might be better for macOS since it is designed specifically for macOS. Finally, VirtualBox is a truly free,
#     open-source option that does not come with the same optimizations that VMWare and Parallels provide.
#
#     Other virtualization options include KVM (Linux / macOS) and Hyper-V (Windows). These options are better used for headless
#     systems.
#
#     ## Links
#
#     * [VMWare Workstation homepage](https://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-pro.html.html)


{{- $secretKey := "" -}}
{{- if (stat (joinPath (.chezmoi.sourceDir ".chezmoitemplates" "secrets" "VMWARE_WORKSTATION_LICENSE_KEY"))) -}}
{{-   $secretKey = (default "4C21U-2KK9Q-M8130-4V2QH-CF810" (includeTemplate "secrets/VMWARE_WORKSTATION_LICENSE_KEY" | decrypt)) -}}
{{- else -}}
{{-   $secretKey = (default "4C21U-2KK9Q-M8130-4V2QH-CF810" (env "VMWARE_WORKSTATION_LICENSE_KEY")) -}}
{{- end }}

# Source: https://gist.github.com/PurpleVibe32/30a802c3c8ec902e1487024cdea26251
# key: {{ $secretKey }}

{{ includeTemplate "universal/profile-before" }}
{{ includeTemplate "universal/logg-before" }}

### Install VMware Workstation
if ! command -v vmware > /dev/null; then
  ### Download VMWare Workstation
  logg info 'VMware Workstation is not installed'
  VMWARE_WORKSTATION_URL=https://www.vmware.com/go/getworkstation-linux
  VMWARE_WORKSTATION_DIR=/tmp/workstation-downloads
  mkdir -p $VMWARE_WORKSTATION_DIR
  logg info 'Downloading VMware Workstation Installer'
  curl -sSLA "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20220101 Firefox/102.0" "$VMWARE_WORKSTATION_URL" -o "$VMWARE_WORKSTATION_DIR/tryworkstation-linux-64.sh"

  ### Register product key / license
  VMWARE_WORKSTATION_LICENSE_KEY='{{- $secretKey -}}'
  if [ -n "$VMWARE_WORKSTATION_LICENSE_KEY" ]; then
    logg info 'Registering VMware Workstation Pro license with serial number'
    sudo "$VMWARE_WORKSTATION_DIR/tryworkstation-linux-64.sh" --eulas-agreed --console --required --set-setting vmware-workstation serialNumber "$VMWARE_WORKSTATION_LICENSE_KEY"
  else
    logg info 'Agreeing to VMWare Workstation Pro license (without serial number)'
    sudo "$VMWARE_WORKSTATION_DIR/tryworkstation-linux-64.sh" --eulas-agreed --console --required
  fi
  logg success 'VMware Workstation installed successfully'
else
  logg info 'VMware Workstation is already installed'
fi
{{ end -}}
{{ end -}}