mirror of
				https://github.com/oSoWoSo/DistroHopper.git
				synced 2024-08-14 22:46:53 +00:00 
			
		
		
		
	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
					
				
					 1 changed files with 29 additions and 13 deletions
				
			
		
							
								
								
									
										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…
	
	Add table
		Add a link
		
	
		Reference in a new issue