diff --git a/scripts/applications-setup/communication-apps/proton-mail.sh b/scripts/applications-setup/communication-apps/proton-mail.sh new file mode 100755 index 0000000..6f8ec4e --- /dev/null +++ b/scripts/applications-setup/communication-apps/proton-mail.sh @@ -0,0 +1,20 @@ +#!/bin/sh -e + +. ../../common-script.sh + +installProtonMail() { + if ! brewprogram_exists proton-mail; then + printf "%b\n" "${YELLOW}Installing Proton Mail...${RC}" + brew install --cask proton-mail > /dev/null 2>&1 + if [ $? -ne 0 ]; then + printf "%b\n" "${RED}Failed to install Proton Mail. Please check your Homebrew installation or try again later.${RC}" + exit 1 + fi + printf "%b\n" "${GREEN}Proton Mail installed successfully!${RC}" + else + printf "%b\n" "${GREEN}Proton Mail is already installed.${RC}" + fi +} + +checkEnv +installProtonMail diff --git a/scripts/applications-setup/tab_data.toml b/scripts/applications-setup/tab_data.toml index e32b540..5ba1436 100644 --- a/scripts/applications-setup/tab_data.toml +++ b/scripts/applications-setup/tab_data.toml @@ -33,6 +33,11 @@ name = "WhatsApp" description = "WhatsApp is a popular messaging application that allows users to send text messages, voice messages, make voice and video calls, and share media files." script = "communication-apps/whatsapp-setup.sh" +[[data.entries]] +name = "Proton Mail" +description = "Proton Mail is an end-to-end encrypted email service." +script = "communication-apps/proton-mail.sh" + [[data]] name = "Developer Tools" @@ -139,6 +144,29 @@ name = "Kitty" description = "kitty is a free and open-source GPU-accelerated terminal emulator for Linux, macOS, and some BSD distributions, focused on performance and features. kitty is written in a mix of C and Python programming languages. This command installs and configures kitty." script = "kitty-setup.sh" +[[data]] +name = "Utilities" + +[[data.entries]] +name = "AppCleaner" +description = "AppCleaner is a small application which allows you to thoroughly uninstall unwanted apps." +script = "utilities/appcleaner-setup.sh" + +[[data.entries]] +name = "Proton Drive" +description = "Proton Drive is a secure cloud storage service." +script = "utilities/proton-drive.sh" + +[[data.entries]] +name = "Proton Pass" +description = "Proton Pass is a secure password manager." +script = "utilities/proton-pass.sh" + +[[data.entries]] +name = "Proton VPN" +description = "Proton VPN is a secure and private VPN service." +script = "utilities/proton-vpn.sh" + [[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/scripts/applications-setup/utilities/appcleaner-setup.sh b/scripts/applications-setup/utilities/appcleaner-setup.sh new file mode 100644 index 0000000..301f489 --- /dev/null +++ b/scripts/applications-setup/utilities/appcleaner-setup.sh @@ -0,0 +1,20 @@ +#!/bin/sh -e + +. ../../common-script.sh + +install_appcleaner() { + if ! brewprogram_exists appcleaner; then + printf "%b\n" "${YELLOW}Installing AppCleaner...${RC}" + brew install --cask appcleaner + if [ $? -ne 0 ]; then + printf "%b\n" "${RED}Failed to install AppCleaner. Please check your Homebrew installation or try again later.${RC}" + exit 1 + fi + printf "%b\n" "${GREEN}AppCleaner installed successfully!${RC}" + else + printf "%b\n" "${GREEN}AppCleaner is already installed.${RC}" + fi +} + +checkEnv +install_appcleaner diff --git a/scripts/applications-setup/utilities/proton-drive.sh b/scripts/applications-setup/utilities/proton-drive.sh new file mode 100755 index 0000000..148a720 --- /dev/null +++ b/scripts/applications-setup/utilities/proton-drive.sh @@ -0,0 +1,20 @@ +#!/bin/sh -e + +. ../../common-script.sh + +installProtonDrive() { + if ! brewprogram_exists proton-drive; then + printf "%b\n" "${YELLOW}Installing Proton Drive...${RC}" + brew install --cask proton-drive > /dev/null 2>&1 + if [ $? -ne 0 ]; then + printf "%b\n" "${RED}Failed to install Proton Drive. Please check your Homebrew installation or try again later.${RC}" + exit 1 + fi + printf "%b\n" "${GREEN}Proton Drive installed successfully!${RC}" + else + printf "%b\n" "${GREEN}Proton Drive is already installed.${RC}" + fi +} + +checkEnv +installProtonDrive diff --git a/scripts/applications-setup/utilities/proton-pass.sh b/scripts/applications-setup/utilities/proton-pass.sh new file mode 100755 index 0000000..1e40076 --- /dev/null +++ b/scripts/applications-setup/utilities/proton-pass.sh @@ -0,0 +1,20 @@ +#!/bin/sh -e + +. ../../common-script.sh + +installProtonPass() { + if ! brewprogram_exists proton-pass; then + printf "%b\n" "${YELLOW}Installing Proton Pass...${RC}" + brew install --cask proton-pass > /dev/null 2>&1 + if [ $? -ne 0 ]; then + printf "%b\n" "${RED}Failed to install Proton Pass. Please check your Homebrew installation or try again later.${RC}" + exit 1 + fi + printf "%b\n" "${GREEN}Proton Pass installed successfully!${RC}" + else + printf "%b\n" "${GREEN}Proton Pass is already installed.${RC}" + fi +} + +checkEnv +installProtonPass diff --git a/scripts/applications-setup/utilities/proton-vpn.sh b/scripts/applications-setup/utilities/proton-vpn.sh new file mode 100755 index 0000000..c3227d0 --- /dev/null +++ b/scripts/applications-setup/utilities/proton-vpn.sh @@ -0,0 +1,20 @@ +#!/bin/sh -e + +. ../../common-script.sh + +installProtonVPN() { + if ! brewprogram_exists protonvpn; then + printf "%b\n" "${YELLOW}Installing Proton VPN...${RC}" + brew install --cask protonvpn + if [ $? -ne 0 ]; then + printf "%b\n" "${RED}Failed to install Proton VPN. Please check your Homebrew installation or try again later.${RC}" + exit 1 + fi + printf "%b\n" "${GREEN}Proton VPN installed successfully!${RC}" + else + printf "%b\n" "${GREEN}Proton VPN is already installed.${RC}" + fi +} + +checkEnv +installProtonVPN