diff --git a/core/tabs/applications-setup/Developer-tools/githubdesktop-setup.sh b/core/tabs/applications-setup/developer-tools/githubdesktop.sh similarity index 100% rename from core/tabs/applications-setup/Developer-tools/githubdesktop-setup.sh rename to core/tabs/applications-setup/developer-tools/githubdesktop.sh diff --git a/core/tabs/applications-setup/Developer-tools/jetbrains-toolbox.sh b/core/tabs/applications-setup/developer-tools/jetbrains-toolbox.sh similarity index 100% rename from core/tabs/applications-setup/Developer-tools/jetbrains-toolbox.sh rename to core/tabs/applications-setup/developer-tools/jetbrains-toolbox.sh diff --git a/core/tabs/applications-setup/Developer-tools/meld-setup.sh b/core/tabs/applications-setup/developer-tools/meld.sh similarity index 100% rename from core/tabs/applications-setup/Developer-tools/meld-setup.sh rename to core/tabs/applications-setup/developer-tools/meld.sh diff --git a/core/tabs/applications-setup/Developer-tools/neovim-setup.sh b/core/tabs/applications-setup/developer-tools/neovim.sh similarity index 100% rename from core/tabs/applications-setup/Developer-tools/neovim-setup.sh rename to core/tabs/applications-setup/developer-tools/neovim.sh diff --git a/core/tabs/applications-setup/Developer-tools/ngrok-setup.sh b/core/tabs/applications-setup/developer-tools/ngrok.sh similarity index 100% rename from core/tabs/applications-setup/Developer-tools/ngrok-setup.sh rename to core/tabs/applications-setup/developer-tools/ngrok.sh diff --git a/core/tabs/applications-setup/Developer-tools/sublime-setup.sh b/core/tabs/applications-setup/developer-tools/sublime.sh similarity index 100% rename from core/tabs/applications-setup/Developer-tools/sublime-setup.sh rename to core/tabs/applications-setup/developer-tools/sublime.sh diff --git a/core/tabs/applications-setup/Developer-tools/vscode-setup.sh b/core/tabs/applications-setup/developer-tools/vscode.sh similarity index 100% rename from core/tabs/applications-setup/Developer-tools/vscode-setup.sh rename to core/tabs/applications-setup/developer-tools/vscode.sh diff --git a/core/tabs/applications-setup/Developer-tools/vscodium-setup.sh b/core/tabs/applications-setup/developer-tools/vscodium.sh similarity index 100% rename from core/tabs/applications-setup/Developer-tools/vscodium-setup.sh rename to core/tabs/applications-setup/developer-tools/vscodium.sh diff --git a/core/tabs/applications-setup/developer-tools/zed.sh b/core/tabs/applications-setup/developer-tools/zed.sh new file mode 100644 index 00000000..150d6214 --- /dev/null +++ b/core/tabs/applications-setup/developer-tools/zed.sh @@ -0,0 +1,52 @@ +#!/bin/sh -e + +. ../../common-script.sh + +installZed() { + if ! command_exists dev.zed.Zed && ! command_exists zed && ! command_exists zeditor; then + printf "%b\n" "${CYAN}Installing Zed.${RC}" + case "$PACKAGER" in + apk) + "$ESCALATION_TOOL" "$PACKAGER" add zed + ;; + pacman) + "$ESCALATION_TOOL" "$PACKAGER" -S zed + ;; + zypper) + "$ESCALATION_TOOL" "$PACKAGER" addrepo -f https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/editors.repo + "$ESCALATION_TOOL" "$PACKAGER" install -y zed + ;; + *) + printf "%b\n" "${YELLOW}No official package found for package manager $PACKAGER. Do you want to install flathub package or from source?${RC}" + printf "%b\n" "1) Flathub package" + printf "%b\n" "2) Source" + printf "%b\n" "3) Exit" + printf "%b" "Choose an option: " + read -r choice + case "$choice" in + 1) + checkFlatpak + flatpak install -y flathub dev.zed.Zed + ;; + 2) + curl -f https://zed.dev/install.sh | sh + ;; + 3) + printf "%b\n" "${GREEN}Exiting.${RC}" + exit 0 + ;; + *) + printf "%b\n" "${RED}Invalid option.${RC}" + exit 1 + ;; + esac + ;; + esac + else + printf "%b\n" "${GREEN}Zed is already installed.${RC}" + fi +} + +checkEnv +clear +installZed diff --git a/core/tabs/applications-setup/tab_data.toml b/core/tabs/applications-setup/tab_data.toml index 4e6df84a..3d01ca5f 100644 --- a/core/tabs/applications-setup/tab_data.toml +++ b/core/tabs/applications-setup/tab_data.toml @@ -51,37 +51,37 @@ name = "Developer Tools" [[data.entries]] name = "Github Desktop" description = "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." -script = "Developer-tools/githubdesktop-setup.sh" +script = "developer-tools/githubdesktop.sh" 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" +script = "developer-tools/jetbrains-toolbox.sh" task_list = "I" [[data.entries]] name = "Meld" description = "Meld is a visual diff and merge tool that helps compare files, directories, and version-controlled projects." -script = "Developer-tools/meld-setup.sh" +script = "developer-tools/meld.sh" task_list = "I FI" [[data.entries]] 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" -script = "Developer-tools/neovim-setup.sh" +script = "developer-tools/neovim.sh" task_list = "I FM" [[data.entries]] name = "Ngrok" description = "Ngrok is a tool that creates secure, temporary tunnels to expose local servers to the internet for testing and development." -script = "Developer-tools/ngrok-setup.sh" +script = "developer-tools/ngrok.sh" task_list = "I" [[data.entries]] name = "Sublime Text" description = "Sublime Text is a fast, lightweight, and customizable text editor known for its simplicity, powerful features, and wide range of plugins for various programming languages." -script = "Developer-tools/sublime-setup.sh" +script = "developer-tools/sublime.sh" task_list = "I" [[data.entries]] @@ -98,13 +98,19 @@ script = "communication-apps/zoom-setup.sh" [[data.entries]] name = "VS Code" description = "Visual Studio Code (VS Code) is a lightweight, open-source code editor with built-in support for debugging, version control, and extensions for various programming languages and frameworks." -script = "Developer-tools/vscode-setup.sh" +script = "developer-tools/vscode.sh" task_list = "I" [[data.entries]] name = "VS Codium" description = "VSCodium is a free, open-source version of Visual Studio Code (VS Code) that removes Microsoft-specific telemetry and branding." -script = "Developer-tools/vscodium-setup.sh" +script = "developer-tools/vscodium.sh" +task_list = "I" + +[[data.entries]] +name = "Zed" +description = "Zed is a next-generation code editor written in rust, designed for high-performance collaboration with humans and AI." +script = "developer-tools/zed.sh" task_list = "I" [[data]]