Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions core/tabs/applications-setup/dank-shell.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/env sh

. ../common-script.sh
. ../common-service-script.sh

installDank() {
printf "%b\n" "${YELLOW}Installing Dank Shell...${RC}"

if ! command_exists dms; then
curl -fsSL https://install.danklinux.com | sh
else
printf "%b\n" "${GREEN}Dank Shell already installed${RC}"
fi

printf "%b\n" "${GREEN}Dank Shell installation complete${RC}"
}

uninstallDank() {
printf "%b\n" "${YELLOW}Uninstalling Dank Shell...${RC}"

if command_exists dms; then
case "$PACKAGER" in
pacman)
"$AUR_HELPER" -Rns --noconfirm --cleanafter dms-shell greetd-dms-greeter-git
;;
apt-get|nala|dnf|zypper)
"$ESCALATION_TOOL" "$PACKAGER" remove -y dms
;;
*)
printf "%b\n" "${RED}Unsupported Package Manager: $PACKAGER${RC}"
;;
esac
else
printf "%b\n" "${GREEN}Dank Shell is not installed${RC}"
fi

printf "%b\n" "${GREEN}Dank Shell uninstall complete${RC}"
}

main() {
printf "%b\n" "${YELLOW}Do you want to Install or Uninstall Dank Shell${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) installDank ;;
2) uninstallDank ;;
*) printf "%b\n" "${RED}Invalid choice.${RC}" && exit 1 ;;
esac
}

checkEnv
main
4 changes: 2 additions & 2 deletions core/tabs/applications-setup/design-tools/blender.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ main() {
printf "%b" "Enter your choice [1-2]: "
read -r CHOICE
case "$CHOICE" in
1) installBender ;;
1) installBlender ;;
2) uninstallBlender ;;
*) printf "%b\n" "${RED}Invalid choice.${RC}" && exit 1 ;;
esac
}

checkEnv
main
main
80 changes: 80 additions & 0 deletions core/tabs/applications-setup/noctalia-shell.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
#!/usr/bin/env sh

# shellcheck disable=SC2016
#
. ../common-script.sh
. ../common-service-script.sh

installNoctalia() {
printf "%b\n" "${YELLOW}Installing Noctalia Shell...${RC}"

if ! command_exists dms; then
case "$PACKAGER" in
pacman)
"$AUR_HELPER" -S --needed --noconfirm --cleanafter noctalia-shell noctalia-qs
;;
dnf)
"$ESCALATION_TOOL" "$PACKAGER" install -y --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
"$ESCALATION_TOOL" "$PACKAGER" install -y noctalia-shell
;;
apt-get|nala)
curl -fsSL https://pkg.noctalia.dev/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/noctalia.gpg
echo "deb [signed-by=/etc/apt/keyrings/noctalia.gpg] https://pkg.noctalia.dev/apt trixie main" | sudo tee /etc/apt/sources.list.d/noctalia.list
"$ESCALATION_TOOL" "$PACKAGER" update
"$ESCALATION_TOOL" "$PACKAGER" install -y noctalia-shell
;;
zypper)
# Only needed for Leap
"$ESCALATION_TOOL" "$PACKAGER" addrepo --refresh --name noctalia-legacy https://download.opensuse.org/repositories/home:neifua:Noctalia/16.0/home:neifua:Noctalia.repo

"$ESCALATION_TOOL" "$PACKAGER" refresh
"$ESCALATION_TOOL" "$PACKAGER" install -y noctalia-shell
;;
*)
printf "%b\n" "${RED}Unsupported Package Manager: $PACKAGER${RC}"
;;
esac
else
printf "%b\n" "${GREEN}Noctalia Shell already installed${RC}"
fi

printf "%b\n" "${GREEN}Noctalia Shell installation complete${RC}"
}

uninstallNoctalia() {
printf "%b\n" "${YELLOW}Uninstalling Noctalia Shell...${RC}"

if command_exists dms; then
case "$PACKAGER" in
pacman)
"$AUR_HELPER" -Rns --noconfirm --cleanafter noctalia-shell noctalia-qs
;;
apt-get|nala|dnf|zypper)
"$ESCALATION_TOOL" "$PACKAGER" remove -y noctalia-shell
;;
*)
printf "%b\n" "${RED}Unsupported Package Manager: $PACKAGER${RC}"
;;
esac
else
printf "%b\n" "${GREEN}Noctalia Shell is not installed${RC}"
fi

printf "%b\n" "${GREEN}Noctalia Shell uninstall complete${RC}"
}

main() {
printf "%b\n" "${YELLOW}Do you want to Install or Uninstall Noctalia Shell${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) installNoctalia ;;
2) uninstallNoctalia ;;
*) printf "%b\n" "${RED}Invalid choice.${RC}" && exit 1 ;;
esac
}

checkEnv
main
12 changes: 12 additions & 0 deletions core/tabs/applications-setup/tab_data.toml
Original file line number Diff line number Diff line change
Expand Up @@ -438,3 +438,15 @@ 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."
script = "zsh-setup.sh"
task_list = "I FM"

[[data]]
name = "Dank Shell"
description = "DankMaterialShell is a complete desktop shell for niri, Hyprland, MangoWC, Sway, labwc, Scroll, Miracle WM, and other Wayland compositors. It replaces waybar, swaylock, swayidle, mako, fuzzel, polkit, and everything else you'd normally stitch together to make a desktop"
script = "dank-shell.sh"
task_list = "I FM"

[[data]]
name = "Noctalia Shell"
description = "Noctalia is a native Wayland desktop shell for people who want a polished, configurable Linux desktop without stitching together a separate bar, launcher, notification daemon, lock screen, wallpaper tool, and settings UI."
script = "noctalia-shell.sh"
task_list = "I FM"
2 changes: 2 additions & 0 deletions docs/content/userguide/walkthrough.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ https://github.com/ChrisTitusTech/neovim
- **Alacritty**: Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows. This command installs and configures alacritty terminal emulator.
- **Android Debloater**: Universal Android Debloater (UAD) is a tool designed to help users remove bloatware and unnecessary pre-installed applications from Android devices, enhancing performance and user experience.
- **Bash Prompt**: The .bashrc file is a script that runs every time a new terminal session is started in Unix-like operating systems. It is used to configure the shell session, set up aliases, define functions, and more, making the terminal easier to use and more powerful. This command configures the key sections and functionalities defined in the .bashrc file from CTT's mybash repository. https://github.com/ChrisTitusTech/mybash
- **Dank Shell**: DankMaterialShell is a complete desktop shell for niri, Hyprland, MangoWC, Sway, labwc, Scroll, Miracle WM, and other Wayland compositors. It replaces waybar, swaylock, swayidle, mako, fuzzel, polkit, and everything else you'd normally stitch together to make a desktop
- **Docker**: Docker is an open platform that uses OS-level virtualization to deliver software in packages called containers.
- **Fastfetch**: Fastfetch is a neofetch-like tool for fetching system information and displaying it prettily. It is written mainly in C, with performance and customizability in mind. This command installs fastfetch and configures from CTT's mybash repository. https://github.com/ChrisTitusTech/mybash
- **Flatpak / Flathub**: Flatpak is a universal application sandbox for Linux that uses isolated packages from Flathub to prevent conflicts and system alterations, while alleviating dependency concerns. This command installs Flatpak and adds the Flathub repository
Expand All @@ -81,6 +82,7 @@ https://github.com/ChrisTitusTech/neovim
- **Kitty**: 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.
- **Linutil Installer**: Installs a distro-specific Linutil package locally.
- **Linutil Updater**: Updates your local Linutil crate installation.
- **Noctalia Shell**: Noctalia is a native Wayland desktop shell for people who want a polished, configurable Linux desktop without stitching together a separate bar, launcher, notification daemon, lock screen, wallpaper tool, and settings UI.
- **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
Expand Down
Loading