diff --git a/core/tabs/applications-setup/shelly-setup.sh b/core/tabs/applications-setup/shelly-setup.sh new file mode 100644 index 000000000..957417a3c --- /dev/null +++ b/core/tabs/applications-setup/shelly-setup.sh @@ -0,0 +1,51 @@ +#!/bin/sh -e + +. ../common-script.sh + +installShelly() { + printf "%b\n" "${YELLOW}Installing Shelly...${RC}" + if ! command_exists shelly; then + case "$PACKAGER" in + pacman) + "$AUR_HELPER" -S --needed --noconfirm --cleanafter shelly + ;; + *) + printf "%b\n" "${RED}Unsupported Packager Manager: $PACKAGER${RC}" + ;; + esac + else + printf "%b\n" "${GREEN}Shelly is already installed.${RC}" + fi +} + +uninstallShelly() { + printf "%b\n" "${YELLOW}Uninstalling Shelly...${RC}" + if command_exists shelly; then + case "$PACKAGER" in + pacman) + "$AUR_HELPER" -Rns --noconfirm --cleanafter audacity + ;; + *) + printf "%b\n" "${RED}Unsupported Packager Manager: $PACKAGER${RC}" + ;; + esac + else + printf "%b\n" "${GREEN}Shelly is not installed.${RC}" + fi +} + +main() { + printf "%b\n" "${YELLOW}Do you want to Install or Uninstall Shelly${RC}" + printf "%b\n" "1. ${YELLOW}Install${RC}" + printf "%b\n" "2. ${YELLOW}Uninstall${RC}" + printf "%b" "Enter your choice [1-2]: " + read -r CHOICE + case "$CHOICE" in + 1) installShelly ;; + 2) uninstallShelly ;; + *) printf "%b\n" "${RED}Invalid choice.${RC}" && exit 1 ;; + esac +} + +checkEnv +main diff --git a/core/tabs/applications-setup/tab_data.toml b/core/tabs/applications-setup/tab_data.toml index 4afb9531b..4f2c0f0cb 100644 --- a/core/tabs/applications-setup/tab_data.toml +++ b/core/tabs/applications-setup/tab_data.toml @@ -433,6 +433,17 @@ description = "Rofi is a window switcher, run dialog, ssh-launcher and dmenu rep script = "rofi-setup.sh" task_list = "I FM" +[[data]] +name = "Shelly" +description = "Shelly is a modern, visual, and intuitive interface for your Arch Linux system. Not just a wrapper, but a native ground-up experience." +script = "shelly-setup.sh" +task_list = "I SS" + +[[data.preconditions]] +matches = true +data = "command_exists" +values = ["pacman"] + [[data]] name = "ZSH Prompt" description = "The Z shell is a Unix shell that can be used as an interactive login shell and as a command interpreter for shell scripting. Zsh is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh. This command installs ZSH prompt and provides basic configuration." diff --git a/docs/content/userguide/walkthrough.md b/docs/content/userguide/walkthrough.md index dd6ca8e24..c5de12b2f 100644 --- a/docs/content/userguide/walkthrough.md +++ b/docs/content/userguide/walkthrough.md @@ -84,6 +84,7 @@ https://github.com/ChrisTitusTech/neovim - **Podman**: Podman is a daemon-less open platform that uses OS-level virtualization to deliver software in packages called containers. - **Podman-compose**: Podman Compose is a tool for defining and running multi-container applications using Podman. - **Rofi**: Rofi is a window switcher, run dialog, ssh-launcher and dmenu replacement that started as a clone of simpleswitcher, written by Sean Pringle and later expanded by Dave Davenport. This command installs and configures rofi with configuration from CTT's DWM repo. https://github.com/ChrisTitusTech/dwm-titus +- **Shelly**: Shelly is a modern, visual, and intuitive interface for your Arch Linux system. Not just a wrapper, but a native ground-up experience. - **ZSH Prompt**: The Z shell is a Unix shell that can be used as an interactive login shell and as a command interpreter for shell scripting. Zsh is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh. This command installs ZSH prompt and provides basic configuration. ## Gaming