mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-11-24 06:01:55 +00:00
feat: jetbrains-toolbox installation script
This commit is contained in:
parent
79eb752552
commit
be2bfc438b
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/dash -e
|
||||||
|
|
||||||
|
. ../../common-script.sh
|
||||||
|
|
||||||
|
manualInstall() {
|
||||||
|
JETBRAINS_TOOLBOX_DIR="/opt/jetbrains-toolbox"
|
||||||
|
|
||||||
|
case "$ARCH" in
|
||||||
|
x86_64) ARCHIVE_URL=$(curl -s "https://data.services.jetbrains.com/products/releases?code=TBA&latest=true&type=release" | jq -r ".TBA[0].downloads.linux.link");;
|
||||||
|
aarch64) ARCHIVE_URL=$(curl -s "https://data.services.jetbrains.com/products/releases?code=TBA&latest=true&type=release" | jq -r ".TBA[0].downloads.linuxARM64.link");;
|
||||||
|
esac
|
||||||
|
|
||||||
|
curl -fSL "$ARCHIVE_URL" -o "jetbrains-toolbox.tar.gz"
|
||||||
|
|
||||||
|
if [ -d "$JETBRAINS_TOOLBOX_DIR" ]; then
|
||||||
|
"$ESCALATION_TOOL" rm -rf "$JETBRAINS_TOOLBOX_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
"$ESCALATION_TOOL" mkdir -p "$JETBRAINS_TOOLBOX_DIR"
|
||||||
|
"$ESCALATION_TOOL" tar -xzf "jetbrains-toolbox.tar.gz" -C "$JETBRAINS_TOOLBOX_DIR" --strip-components=1
|
||||||
|
"$ESCALATION_TOOL" ln -sf "$JETBRAINS_TOOLBOX_DIR/jetbrains-toolbox" "/usr/bin/jetbrains-toolbox"
|
||||||
|
}
|
||||||
|
|
||||||
|
installJetBrainsToolBox() {
|
||||||
|
if ! command_exists jetbrains-toolbox; then
|
||||||
|
printf "%b\n" "${YELLOW}Installing Jetbrains Toolbox...${RC}"
|
||||||
|
case "$PACKAGER" in
|
||||||
|
pacman)
|
||||||
|
"$AUR_HELPER" -S --needed --noconfirm jetbrains-toolbox
|
||||||
|
;;
|
||||||
|
dnf)
|
||||||
|
manualInstall
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
"$ESCALATION_TOOL" "$PACKAGER" install -y libfuse2
|
||||||
|
manualInstall
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
printf "%b\n" "${GREEN}Successfully installed Jetbrains Toolbox.${RC}"
|
||||||
|
else
|
||||||
|
printf "%b\n" "${GREEN}Jetbrains toolbox is already installed.${RC}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
checkEnv
|
||||||
|
checkEscalationTool
|
||||||
|
checkAURHelper
|
||||||
|
installJetBrainsToolBox
|
|
@ -9,6 +9,12 @@ description = "GitHub Desktop is a user-friendly application that simplifies the
|
||||||
script = "Developer-tools/githubdesktop-setup.sh"
|
script = "Developer-tools/githubdesktop-setup.sh"
|
||||||
task_list = "I"
|
task_list = "I"
|
||||||
|
|
||||||
|
[[data.entries]]
|
||||||
|
name = "JetBrains Toolbox"
|
||||||
|
description = "JetBrains Toolbox is a collection of tools and an app that help developers work with JetBrains products."
|
||||||
|
script = "Developer-tools/jetbrains-toolbox.sh"
|
||||||
|
task_list = "I"
|
||||||
|
|
||||||
[[data.entries]]
|
[[data.entries]]
|
||||||
name = "Neovim"
|
name = "Neovim"
|
||||||
description = "Neovim is a refactor, and sometimes redactor, in the tradition of Vim.\nIt is not a rewrite but a continuation and extension of Vim.\nThis command configures neovim from CTT's neovim configuration.\nhttps://github.com/ChrisTitusTech/neovim"
|
description = "Neovim is a refactor, and sometimes redactor, in the tradition of Vim.\nIt is not a rewrite but a continuation and extension of Vim.\nThis command configures neovim from CTT's neovim configuration.\nhttps://github.com/ChrisTitusTech/neovim"
|
||||||
|
|
|
@ -12,6 +12,16 @@ command_exists() {
|
||||||
command -v "$1" >/dev/null 2>&1
|
command -v "$1" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkArch() {
|
||||||
|
case "$(uname -m)" in
|
||||||
|
x86_64|amd64) ARCH="x86_64" ;;
|
||||||
|
aarch64|arm64) ARCH="aarch64" ;;
|
||||||
|
*) printf "%b\n" "${RED}Unsupported architecture: $(uname -m)${RC}" && exit 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
printf "%b\n" "${CYAN}System architecture: ${ARCH}${RC}"
|
||||||
|
}
|
||||||
|
|
||||||
checkAURHelper() {
|
checkAURHelper() {
|
||||||
## Check & Install AUR helper
|
## Check & Install AUR helper
|
||||||
if [ "$PACKAGER" = "pacman" ]; then
|
if [ "$PACKAGER" = "pacman" ]; then
|
||||||
|
@ -125,6 +135,7 @@ checkDistro() {
|
||||||
}
|
}
|
||||||
|
|
||||||
checkEnv() {
|
checkEnv() {
|
||||||
|
checkArch
|
||||||
checkEscalationTool
|
checkEscalationTool
|
||||||
checkCommandRequirements "curl groups $ESCALATION_TOOL"
|
checkCommandRequirements "curl groups $ESCALATION_TOOL"
|
||||||
checkPackageManager 'nala apt-get dnf pacman zypper'
|
checkPackageManager 'nala apt-get dnf pacman zypper'
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
### Developer Tools
|
### Developer Tools
|
||||||
|
|
||||||
- **Github Desktop**: GitHub Desktop is a user-friendly application that simplifies the process of managing Git repositories and interacting with GitHub, providing a graphical interface for tasks like committing, branching, and syncing changes.
|
- **Github Desktop**: GitHub Desktop is a user-friendly application that simplifies the process of managing Git repositories and interacting with GitHub, providing a graphical interface for tasks like committing, branching, and syncing changes.
|
||||||
|
- **JetBrains Toolbox**: JetBrains Toolbox is a collection of tools and an app that help developers work with JetBrains products.
|
||||||
- **Neovim**: Neovim is a refactor, and sometimes redactor, in the tradition of Vim.
|
- **Neovim**: Neovim is a refactor, and sometimes redactor, in the tradition of Vim.
|
||||||
It is not a rewrite but a continuation and extension of Vim.
|
It is not a rewrite but a continuation and extension of Vim.
|
||||||
This command configures neovim from CTT's neovim configuration.
|
This command configures neovim from CTT's neovim configuration.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user