Refactor NixOS support

GNOME is the default download, but Plasma5 and Minimal can be selected as editions.
pull/373/head
Martin Wimpress 3 years ago
parent d6c9d5d359
commit 7d71a28547
No known key found for this signature in database
GPG Key ID: 61DF940515E06DA3
  1. 42
      quickget

@ -50,9 +50,7 @@ function pretty_name() {
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";;
mxlinux) PRETTY_NAME="MX Linux";; mxlinux) PRETTY_NAME="MX Linux";;
nixos-gnome) PRETTY_NAME="NixOS Gnome";; nixos) PRETTY_NAME="NixOS";;
nixos-plasma5) PRETTY_NAME="NixOS KDE";;
nixos-minimal) PRETTY_NAME="NixOS Minimal";;
macos) PRETTY_NAME="macOS";; macos) PRETTY_NAME="macOS";;
openbsd) PRETTY_NAME="OpenBSD";; openbsd) PRETTY_NAME="OpenBSD";;
opensuse) PRETTY_NAME="openSUSE";; opensuse) PRETTY_NAME="openSUSE";;
@ -118,8 +116,6 @@ function list_csv() {
FUNC="ubuntu" FUNC="ubuntu"
elif [[ "${OS}" == *"linuxmint"* ]]; then elif [[ "${OS}" == *"linuxmint"* ]]; then
FUNC="linuxmint" FUNC="linuxmint"
elif [[ "${OS}" == *"nixos"* ]]; then
FUNC="nixos"
else else
FUNC="${OS}" FUNC="${OS}"
fi fi
@ -158,6 +154,10 @@ function list_csv() {
for OPTION in xfce kde fluxbox; do for OPTION in xfce kde fluxbox; do
echo "${DISPLAY_NAME},${OS},${RELEASE},${OPTION},${DOWNLOADER},${PNG},${SVG}" echo "${DISPLAY_NAME},${OS},${RELEASE},${OPTION},${DOWNLOADER},${PNG},${SVG}"
done done
elif [ "${OS}" == "nixos" ]; then
for OPTION in gnome plasma5 minimal; do
echo "${DISPLAY_NAME},${OS},${RELEASE},${OPTION},${DOWNLOADER},${PNG},${SVG}"
done
elif [ "${OS}" == "popos" ]; then elif [ "${OS}" == "popos" ]; then
for OPTION in intel nvidia; do for OPTION in intel nvidia; do
echo "${DISPLAY_NAME},${OS},${RELEASE},${OPTION},${DOWNLOADER},${PNG},${SVG}" echo "${DISPLAY_NAME},${OS},${RELEASE},${OPTION},${DOWNLOADER},${PNG},${SVG}"
@ -194,9 +194,7 @@ function os_support() {
linuxmint-xfce \ linuxmint-xfce \
manjaro \ manjaro \
mxlinux \ mxlinux \
nixos-gnome \ nixos \
nixos-plasma5 \
nixos-minimal \
lubuntu \ lubuntu \
macos \ macos \
openbsd \ openbsd \
@ -1037,15 +1035,19 @@ function get_mxlinux() {
} }
function get_nixos() { function get_nixos() {
local FLAVOR="" local DESKTOP="gnome"
local HASH="" local HASH=""
local ISO="" local ISO=""
local URL="" local URL=""
if [ -n "${1}" ]; then
DESKTOP="${1}"
fi
validate_release "releases_nixos" validate_release "releases_nixos"
URL="https://channels.nixos.org/nixos-${RELEASE}" URL="https://channels.nixos.org/nixos-${RELEASE}"
FLAVOR=$(echo "${OS}" | cut -d'-' -f2) FLAVOR=$(echo "${OS}" | cut -d'-' -f2)
ISO="latest-nixos-${FLAVOR}-x86_64-linux.iso" ISO="latest-nixos-${DESKTOP}-x86_64-linux.iso"
HASH=$(wget -q -O- "${URL}/${ISO}.sha256" | cut -d' ' -f1) HASH=$(wget -q -O- "${URL}/${ISO}.sha256" | cut -d' ' -f1)
web_get "${URL}/${ISO}" "${VM_PATH}" web_get "${URL}/${ISO}" "${VM_PATH}"
check_hash "${ISO}" "${HASH}" check_hash "${ISO}" "${HASH}"
@ -1929,8 +1931,22 @@ if [ -n "${2}" ]; then
fi fi
VM_PATH="${OS}-${RELEASE}-${DESKTOP}" VM_PATH="${OS}-${RELEASE}-${DESKTOP}"
get_mxlinux "${DESKTOP}" get_mxlinux "${DESKTOP}"
elif [[ "${OS}" == *"nixos-"* ]]; then elif [ "${OS}" == "nixos" ]; then
get_nixos if [ -n "${3}" ]; then
DESKTOP="${3}"
DESKTOPS=(gnome plasma5 minimal)
if [[ ! ${DESKTOPS[*]} =~ ${DESKTOP} ]]; then
echo "ERROR! ${DESKTOP} is not a supported Desktop Environment:"
for DESKTOP in "${DESKTOPS[@]}"; do
echo "${DESKTOP}"
done
exit 1
fi
else
DESKTOP="gnome"
fi
VM_PATH="${OS}-${RELEASE}-${DESKTOP}"
get_nixos ${DESKTOP}
elif [ "${OS}" == "openbsd" ]; then elif [ "${OS}" == "openbsd" ]; then
get_openbsd get_openbsd
elif [ "${OS}" == "opensuse" ]; then elif [ "${OS}" == "opensuse" ]; then
@ -2026,7 +2042,7 @@ else
releases_manjaro releases_manjaro
elif [ "${OS}" == "mxlinux" ]; then elif [ "${OS}" == "mxlinux" ]; then
releases_mxlinux releases_mxlinux
elif [[ "${OS}" == *"nixos-"* ]]; then elif [ "${OS}" == "nixos" ]; then
releases_nixos releases_nixos
elif [ "${OS}" == "opensuse" ]; then elif [ "${OS}" == "opensuse" ]; then
releases_opensuse releases_opensuse

Loading…
Cancel
Save