Refactor NixOS support
GNOME is the default download, but Plasma5 and Minimal can be selected as editions.
This commit is contained in:
parent
d6c9d5d359
commit
7d71a28547
42
quickget
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…
Reference in New Issue
Block a user