From e373f2cde894dc868de7964f9481e1712cfa99dc Mon Sep 17 00:00:00 2001 From: Jeevitha Kannan K S Date: Sun, 2 Feb 2025 09:37:11 +0530 Subject: [PATCH] refact: categorize dev scripts & add zed editor installation (#929) * feat: Add zed editor -> developer tools * Rename dir Developer-tools -> developer-tools * Rename files from application-setup.sh -> application.sh The purpose of all files inside the directory is to setup an application no need to mention it in the file name * Revert userguide.md zed * docs: new repo (#888) * Removes docs and mentions on readme * Update README.md * Update README.md Co-authored-by: Adam Perkowski * Update linutil.yml * Delete xtask.yml * Update preview.yml * Update README.md --------- Co-authored-by: Chris Titus Co-authored-by: Adam Perkowski * fix(create-bootable-usb.sh) confirmation prompt (#902) * fix create-bootable-usb.sh confirmation prompt * Update core/tabs/utils/create-bootable-usb.sh Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com> --------- Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com> * fix (ci): preview workflow (#905) * fix: binary download, invalid action inputs * Update preview.yml --------- Co-authored-by: Real-MullaC Co-authored-by: Chris Titus Co-authored-by: Adam Perkowski Co-authored-by: Lennart Pieperjohanns <95208734+lennartpj@users.noreply.github.com> Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com> --- .../githubdesktop.sh} | 0 .../jetbrains-toolbox.sh | 0 .../meld-setup.sh => developer-tools/meld.sh} | 0 .../neovim.sh} | 0 .../ngrok.sh} | 0 .../sublime.sh} | 0 .../vscode.sh} | 0 .../vscodium.sh} | 0 .../applications-setup/developer-tools/zed.sh | 52 +++++++++++++++++++ core/tabs/applications-setup/tab_data.toml | 22 +++++--- 10 files changed, 66 insertions(+), 8 deletions(-) rename core/tabs/applications-setup/{Developer-tools/githubdesktop-setup.sh => developer-tools/githubdesktop.sh} (100%) rename core/tabs/applications-setup/{Developer-tools => developer-tools}/jetbrains-toolbox.sh (100%) rename core/tabs/applications-setup/{Developer-tools/meld-setup.sh => developer-tools/meld.sh} (100%) rename core/tabs/applications-setup/{Developer-tools/neovim-setup.sh => developer-tools/neovim.sh} (100%) rename core/tabs/applications-setup/{Developer-tools/ngrok-setup.sh => developer-tools/ngrok.sh} (100%) rename core/tabs/applications-setup/{Developer-tools/sublime-setup.sh => developer-tools/sublime.sh} (100%) rename core/tabs/applications-setup/{Developer-tools/vscode-setup.sh => developer-tools/vscode.sh} (100%) rename core/tabs/applications-setup/{Developer-tools/vscodium-setup.sh => developer-tools/vscodium.sh} (100%) create mode 100644 core/tabs/applications-setup/developer-tools/zed.sh 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 892c1abb..336293ca 100644 --- a/core/tabs/applications-setup/tab_data.toml +++ b/core/tabs/applications-setup/tab_data.toml @@ -57,49 +57,55 @@ 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]] 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]]