From a4da8327a849d6a33fe54460d12b754ab7e00873 Mon Sep 17 00:00:00 2001 From: Nick A <60294463+technicks89@users.noreply.github.com> Date: Sat, 27 Jun 2026 20:49:40 -0400 Subject: [PATCH 1/3] added dank and noctalia shells. fixed blender install --- core/tabs/applications-setup/dank-shell.sh | 54 +++++++++++++ .../design-tools/blender.sh | 4 +- .../tabs/applications-setup/moctalia-shell.sh | 80 +++++++++++++++++++ core/tabs/applications-setup/tab_data.toml | 12 +++ 4 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 core/tabs/applications-setup/dank-shell.sh create mode 100644 core/tabs/applications-setup/moctalia-shell.sh diff --git a/core/tabs/applications-setup/dank-shell.sh b/core/tabs/applications-setup/dank-shell.sh new file mode 100644 index 000000000..02c362885 --- /dev/null +++ b/core/tabs/applications-setup/dank-shell.sh @@ -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 diff --git a/core/tabs/applications-setup/design-tools/blender.sh b/core/tabs/applications-setup/design-tools/blender.sh index 40765889a..37a67f614 100644 --- a/core/tabs/applications-setup/design-tools/blender.sh +++ b/core/tabs/applications-setup/design-tools/blender.sh @@ -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 \ No newline at end of file +main diff --git a/core/tabs/applications-setup/moctalia-shell.sh b/core/tabs/applications-setup/moctalia-shell.sh new file mode 100644 index 000000000..984286e51 --- /dev/null +++ b/core/tabs/applications-setup/moctalia-shell.sh @@ -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 diff --git a/core/tabs/applications-setup/tab_data.toml b/core/tabs/applications-setup/tab_data.toml index 4afb9531b..ab4dbedd4 100644 --- a/core/tabs/applications-setup/tab_data.toml +++ b/core/tabs/applications-setup/tab_data.toml @@ -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 = "" +script = "dank-shell.sh" +task_list = "I FM" + +[[data]] +name = "Noctalia Shell" +description = "" +script = "noctalia-shell.sh" +task_list = "I FM" From 76177692a2a98c440ed07ef1665955827f9054ab Mon Sep 17 00:00:00 2001 From: Nick A <60294463+technicks89@users.noreply.github.com> Date: Sun, 28 Jun 2026 08:03:25 -0400 Subject: [PATCH 2/3] Renamed noctalia setup to be correct --- .../applications-setup/{moctalia-shell.sh => noctalia-shell.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename core/tabs/applications-setup/{moctalia-shell.sh => noctalia-shell.sh} (100%) diff --git a/core/tabs/applications-setup/moctalia-shell.sh b/core/tabs/applications-setup/noctalia-shell.sh similarity index 100% rename from core/tabs/applications-setup/moctalia-shell.sh rename to core/tabs/applications-setup/noctalia-shell.sh From 560ab30f6ae610e9871c680a7ea13ba94c10ee7a Mon Sep 17 00:00:00 2001 From: Nick A <60294463+technicks89@users.noreply.github.com> Date: Mon, 29 Jun 2026 07:44:31 -0400 Subject: [PATCH 3/3] Updated tab data and userguide --- core/tabs/applications-setup/tab_data.toml | 4 ++-- docs/content/userguide/walkthrough.md | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/tabs/applications-setup/tab_data.toml b/core/tabs/applications-setup/tab_data.toml index ab4dbedd4..5db4ddbb6 100644 --- a/core/tabs/applications-setup/tab_data.toml +++ b/core/tabs/applications-setup/tab_data.toml @@ -441,12 +441,12 @@ task_list = "I FM" [[data]] name = "Dank Shell" -description = "" +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 = "" +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" diff --git a/docs/content/userguide/walkthrough.md b/docs/content/userguide/walkthrough.md index dd6ca8e24..bfb4e58d0 100644 --- a/docs/content/userguide/walkthrough.md +++ b/docs/content/userguide/walkthrough.md @@ -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 @@ -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