Skip to content

Commit 6e35333

Browse files
authored
Added support for Solus.
I've been using Solus as my daily driver for about 3 years now and I'd like this to be automated =) https://getsol.us/home/
1 parent 334ec5c commit 6e35333

1 file changed

Lines changed: 101 additions & 49 deletions

File tree

linux-installer/idt-installer

Lines changed: 101 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -213,57 +213,109 @@ function install_deps {
213213

214214

215215
"Linux")
216-
log "Checking for and updating 'apt-get' support on Linux"
217-
if [[ -z "$(which apt-get)" ]]; then
218-
error "'apt-get' is not found. Thats the only linux installer I know, sorry."
219-
fi
220-
if [[ -z "$(which add-apt-repository)" ]]; then
221-
$SUDO apt-get install -y software-properties-common python-software-properties
222-
fi
223-
$SUDO add-apt-repository -y ppa:git-core/ppa
224-
$SUDO apt-get -y update
216+
case "$DISTRO" in
217+
"Ubuntu")
218+
log "Checking for and updating 'apt-get' support on Linux"
219+
if [[ -z "$(which apt-get)" ]]; then
220+
error "'apt-get' is not found. Thats the only linux installer I know, sorry."
221+
fi
222+
if [[ -z "$(which add-apt-repository)" ]]; then
223+
$SUDO apt-get install -y software-properties-common python-software-properties
224+
fi
225+
$SUDO add-apt-repository -y ppa:git-core/ppa
226+
$SUDO apt-get -y update
225227

226-
#-- CURL:
227-
log "Installing/updating external dependency: curl"
228-
if [[ -z "$(which curl)" || "$FORCE" == true ]]; then
229-
$SUDO apt-get -y install curl
230-
fi
231-
#-- GIT:
232-
log "Installing/updating external dependency: git"
233-
if [[ -z "$(which git)" || "$FORCE" == true ]]; then
234-
$SUDO apt-get -y install git
235-
log "Please review any setup requirements for 'git' from: https://git-scm.com/downloads"
236-
fi
228+
#-- CURL:
229+
log "Installing/updating external dependency: curl"
230+
if [[ -z "$(which curl)" || "$FORCE" == true ]]; then
231+
$SUDO apt-get -y install curl
232+
fi
233+
#-- GIT:
234+
log "Installing/updating external dependency: git"
235+
if [[ -z "$(which git)" || "$FORCE" == true ]]; then
236+
$SUDO apt-get -y install git
237+
log "Please review any setup requirements for 'git' from: https://git-scm.com/downloads"
238+
fi
237239

238-
#-- Docker:
239-
log "Installing/updating external dependency: docker"
240-
if [[ -z "$(which docker)" || "$FORCE" == true ]]; then
241-
curl -fsSL get.docker.com | $SUDO sh -
242-
if [ "$SUDO" ]; then
243-
# Allow docker to run as a non-root user (if not running as root).
244-
sudo groupadd docker 2>/dev/null
245-
sudo usermod -aG docker $USER 2>/dev/null
246-
else
247-
log 'If you want to run docker without sudo run: "sudo groupadd docker && sudo usermod -aG docker $USER"'
240+
#-- Docker:
241+
log "Installing/updating external dependency: docker"
242+
if [[ -z "$(which docker)" || "$FORCE" == true ]]; then
243+
curl -fsSL get.docker.com | $SUDO sh -
244+
if [ "$SUDO" ]; then
245+
# Allow docker to run as a non-root user (if not running as root).
246+
sudo groupadd docker 2>/dev/null
247+
sudo usermod -aG docker $USER 2>/dev/null
248+
else
249+
log 'If you want to run docker without sudo run: "sudo groupadd docker && sudo usermod -aG docker $USER"'
250+
fi
251+
log "Please review any setup requirements for 'docker' from: https://docs.docker.com/engine/installation/"
248252
fi
249-
log "Please review any setup requirements for 'docker' from: https://docs.docker.com/engine/installation/"
250-
fi
251253

252-
#-- kubectl:
253-
log "Installing/updating external dependency: kubectl"
254-
if [[ -z "$(which kubectl)" || "$FORCE" == true ]]; then
255-
curl --progress-bar -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
256-
$SUDO mv ./kubectl /usr/local/bin/kubectl
257-
$SUDO chmod +x /usr/local/bin/kubectl
258-
log "Please review any setup requirements for 'kubectl' from: https://kubernetes.io/docs/tasks/tools/install-kubectl/"
259-
fi
254+
#-- kubectl:
255+
log "Installing/updating external dependency: kubectl"
256+
if [[ -z "$(which kubectl)" || "$FORCE" == true ]]; then
257+
curl --progress-bar -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
258+
$SUDO mv ./kubectl /usr/local/bin/kubectl
259+
$SUDO chmod +x /usr/local/bin/kubectl
260+
log "Please review any setup requirements for 'kubectl' from: https://kubernetes.io/docs/tasks/tools/install-kubectl/"
261+
fi
260262

261-
#-- helm:
262-
log "Installing/updating external dependency: helm"
263-
if [[ -z "$(which helm)" || "$FORCE" == true ]]; then
264-
curl -fsSL https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
265-
log "Please review any setup requirements for 'helm' from: https://github.com/kubernetes/helm/blob/master/docs/install.md"
266-
fi
263+
#-- helm:
264+
log "Installing/updating external dependency: helm"
265+
if [[ -z "$(which helm)" || "$FORCE" == true ]]; then
266+
curl -fsSL https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
267+
log "Please review any setup requirements for 'helm' from: https://github.com/kubernetes/helm/blob/master/docs/install.md"
268+
fi
269+
;;
270+
271+
"Solus")
272+
log "Checking for and updating 'eopkg' support on Linux"
273+
if [[ -z "$(which eopkg)" ]]; then
274+
error "'eopkg' is not found. Thats the only linux installer I know, sorry."
275+
fi
276+
$SUDO eopkg ur Solus
277+
278+
#-- CURL:
279+
log "Installing/updating external dependency: curl"
280+
if [[ -z "$(which curl)" || "$FORCE" == true ]]; then
281+
$SUDO eopkg it curl
282+
fi
283+
#-- GIT:
284+
log "Installing/updating external dependency: git"
285+
if [[ -z "$(which git)" || "$FORCE" == true ]]; then
286+
$SUDO eopkg it git
287+
log "Please review any setup requirements for 'git' from: https://git-scm.com/downloads"
288+
fi
289+
290+
#-- Docker:
291+
log "Installing/updating external dependency: docker"
292+
if [[ -z "$(which docker)" || "$FORCE" == true ]]; then
293+
$SUDO eopkg it docker
294+
if [ "$SUDO" ]; then
295+
# Allow docker to run as a non-root user (if not running as root).
296+
sudo groupadd docker 2>/dev/null
297+
sudo usermod -aG docker $USER 2>/dev/null
298+
else
299+
log 'If you want to run docker without sudo run: "sudo groupadd docker && sudo usermod -aG docker $USER"'
300+
fi
301+
log "Please review any setup requirements for 'docker' from: https://docs.docker.com/engine/installation/"
302+
fi
303+
304+
#-- kubectl:
305+
log "Installing/updating external dependency: kubectl"
306+
if [[ -z "$(which kubectl)" || "$FORCE" == true ]]; then
307+
$SUDO eopkg it kubectl
308+
log "Please review any setup requirements for 'kubectl' from: https://kubernetes.io/docs/tasks/tools/install-kubectl/"
309+
fi
310+
311+
#-- helm:
312+
log "Installing/updating external dependency: helm"
313+
if [[ -z "$(which helm)" || "$FORCE" == true ]]; then
314+
curl -fsSL https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
315+
log "Please review any setup requirements for 'helm' from: https://github.com/kubernetes/helm/blob/master/docs/install.md"
316+
fi
317+
;;
318+
esac
267319

268320
;;
269321
esac
@@ -424,8 +476,8 @@ function main {
424476
"Linux")
425477
# Linux distro, e.g "Ubuntu", "RedHatEnterpriseWorkstation", "RedHatEnterpriseServer", "CentOS", "Debian"
426478
DISTRO=$(lsb_release -is 2>/dev/null || echo "")
427-
if [ "$DISTRO" != Ubuntu ]; then
428-
warn "Linux has only been tested on Ubuntu, please let us know if you use this utility on other Distros"
479+
if [ "$DISTRO" != Ubuntu ] && [ "$DISTRO" != Solus ]; then
480+
warn "Linux has only been tested on Ubuntu and Solus, please let us know if you use this utility on other Distros"
429481
fi
430482
;;
431483
*)
@@ -450,4 +502,4 @@ function main {
450502
#------------------------------------------------------------------------------
451503
#-- Kick things off
452504
#------------------------------------------------------------------------------
453-
main "$@"
505+
main "$@"

0 commit comments

Comments
 (0)