refactor(tabs): move duplicate tools to Gaming, add nested emulator groups, fix shellcheck/clippy issues (#1233)
This commit is contained in:
@@ -2,6 +2,16 @@
|
||||
|
||||
. ../common-script.sh
|
||||
|
||||
install_extra() {
|
||||
printf "%b\n" "${YELLOW}Installing the manpage...${RC}"
|
||||
"$ESCALATION_TOOL" mkdir -p /usr/share/man/man1
|
||||
curl 'https://raw.githubusercontent.com/ChrisTitusTech/linutil/refs/heads/main/man/linutil.1' | "$ESCALATION_TOOL" tee '/usr/share/man/man1/linutil.1' > /dev/null
|
||||
printf "%b\n" "${YELLOW}Creating a Desktop Entry...${RC}"
|
||||
"$ESCALATION_TOOL" mkdir -p /usr/share/applications
|
||||
curl 'https://raw.githubusercontent.com/ChrisTitusTech/linutil/refs/heads/main/linutil.desktop' | "$ESCALATION_TOOL" tee /usr/share/applications/linutil.desktop > /dev/null
|
||||
printf "%b\n" "${GREEN}Done.${RC}"
|
||||
}
|
||||
|
||||
installLinutil() {
|
||||
printf "%b\n" "${YELLOW}Installing Linutil...${RC}"
|
||||
case "$PACKAGER" in
|
||||
@@ -35,7 +45,7 @@ installLinutil() {
|
||||
read -r choice
|
||||
case $choice in
|
||||
y | Y)
|
||||
if ! command_exists cargo; then
|
||||
if ! command -v cargo > /dev/null 2>&1; then
|
||||
printf "%b\n" "${YELLOW}Installing rustup...${RC}"
|
||||
case "$PACKAGER" in
|
||||
dnf)
|
||||
@@ -52,11 +62,15 @@ installLinutil() {
|
||||
esac
|
||||
fi
|
||||
rustup default stable
|
||||
# shellcheck disable=SC1091
|
||||
. "$HOME/.cargo/env"
|
||||
if [ -f "$HOME/.cargo/env" ]; then
|
||||
# shellcheck disable=SC1091
|
||||
. "$HOME/.cargo/env"
|
||||
else
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
fi
|
||||
cargo install --force linutil_tui
|
||||
printf "%b\n" "${GREEN}Installed successfully.${RC}"
|
||||
installExtra
|
||||
install_extra
|
||||
;;
|
||||
*) printf "%b\n" "${RED}Linutil not installed.${RC}" ;;
|
||||
esac
|
||||
@@ -64,16 +78,6 @@ installLinutil() {
|
||||
esac
|
||||
}
|
||||
|
||||
installExtra() {
|
||||
printf "%b\n" "${YELLOW}Installing the manpage...${RC}"
|
||||
"$ESCALATION_TOOL" mkdir -p /usr/share/man/man1
|
||||
curl 'https://raw.githubusercontent.com/ChrisTitusTech/linutil/refs/heads/main/man/linutil.1' | "$ESCALATION_TOOL" tee '/usr/share/man/man1/linutil.1' > /dev/null
|
||||
printf "%b\n" "${YELLOW}Creating a Desktop Entry...${RC}"
|
||||
"$ESCALATION_TOOL" mkdir -p /usr/share/applications
|
||||
curl 'https://raw.githubusercontent.com/ChrisTitusTech/linutil/refs/heads/main/linutil.desktop' | "$ESCALATION_TOOL" tee /usr/share/applications/linutil.desktop > /dev/null
|
||||
printf "%b\n" "${GREEN}Done.${RC}"
|
||||
}
|
||||
|
||||
checkEnv
|
||||
checkEscalationTool
|
||||
checkAURHelper
|
||||
|
||||
@@ -345,24 +345,12 @@ description = "Universal Android Debloater (UAD) is a tool designed to help user
|
||||
script = "android-debloat.sh"
|
||||
task_list = "I"
|
||||
|
||||
[[data]]
|
||||
name = "Auto CPU Frequency"
|
||||
description = "Automatic CPU speed & power optimizer.\nhttps://github.com/AdnanHodzic/auto-cpufreq"
|
||||
script = "auto-cpufreq.sh"
|
||||
task_list = "I SS"
|
||||
|
||||
[[data]]
|
||||
name = "Bash Prompt"
|
||||
description = "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"
|
||||
script = "mybash-setup.sh"
|
||||
task_list = "I FM"
|
||||
|
||||
[[data]]
|
||||
name = "Bottles"
|
||||
description = "Bottles allows Windows software, like applications and games, to run on Linux. Bottles also provides tools to categorize, organize and optimize your applications."
|
||||
script = "bottles-setup.sh"
|
||||
task_list = "FI"
|
||||
|
||||
[[data]]
|
||||
name = "Docker"
|
||||
description = "Docker is an open platform that uses OS-level virtualization to deliver software in packages called containers."
|
||||
@@ -445,16 +433,6 @@ description = "Rofi is a window switcher, run dialog, ssh-launcher and dmenu rep
|
||||
script = "rofi-setup.sh"
|
||||
task_list = "I FM"
|
||||
|
||||
[[data]]
|
||||
name = "Waydroid"
|
||||
description = "Waydroid is an emulator that allows you to run Android apps and games on Linux."
|
||||
script = "waydroid-setup.sh"
|
||||
task_list = "I SS"
|
||||
[[data.preconditions]]
|
||||
matches = true
|
||||
data = { environment = "XDG_SESSION_TYPE" }
|
||||
values = ["wayland", "Wayland"]
|
||||
|
||||
[[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."
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
# Reserved for script-access validation hooks.
|
||||
exit 0
|
||||
|
||||
@@ -4,121 +4,136 @@ name = "Gaming"
|
||||
name = "Emulators"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Blastem"
|
||||
description = "A Genesis emulator. NO Games are included"
|
||||
script = "emulators/sega/blastem.sh"
|
||||
task_list = "FM"
|
||||
name = "Nintendo Emulators"
|
||||
|
||||
# [[data.entries]]
|
||||
# name = "Yabause"
|
||||
# description = "A Sega Saturn emulator"
|
||||
# script = "emulators/sega/yabause.sh"
|
||||
# task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "bsnes"
|
||||
description = "Super Nintendo Emulator. NO Games are included"
|
||||
script = "emulators/nintendo/bsnes.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "Dolphin Emulator"
|
||||
description = "GameCube and Wii Emulator. NO Games are included"
|
||||
script = "emulators/nintendo/dolphin-emu.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Flycast"
|
||||
description = "A Dreamcase emulator. NO Games are included"
|
||||
script = "emulators/sega/flycast.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "Gopher 64"
|
||||
description = "N64 Emulator. NO Games are included"
|
||||
script = "emulators/nintendo/gopher64.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Kronos"
|
||||
description = "A Sega Saturn emulator. NO Games are included"
|
||||
script = "emulators/sega/kronos.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "MelonDS"
|
||||
description = "Nintendo DS and DSi Emulator. NO Games are included"
|
||||
script = "emulators/nintendo/melonds.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "mGBA"
|
||||
description = "Nintendo Game Boy Advance Emulator. NO Games are included"
|
||||
script = "emulators/nintendo/mgba.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "Mupen 64 Plus"
|
||||
description = "N64 Emulator. NO Games are included"
|
||||
script = "emulators/nintendo/mupen64plus.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "PCSX2"
|
||||
description = "A Playstation 2 emulator. NO Games or Bios' are included"
|
||||
script = "emulators/playstation/pcsx2.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Play!"
|
||||
description = "An Experimental Playstation 2 emulator. NO Games or Bios' are included"
|
||||
script = "emulators/playstation/play-emu.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "RetroArch Game Emulator"
|
||||
description = "Frontend for emulators, game engines and media players. NO Games or Bios' are included"
|
||||
script = "emulators/retroarch.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "RPCS3"
|
||||
description = "A Playstation 3 emulator. NO Games or Bios' are included"
|
||||
script = "emulators/playstation/rpcs3.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "Ryujinx"
|
||||
description = "Nintendo Switch emulator. NO Games are included"
|
||||
script = "emulators/nintendo/ryujinx.sh"
|
||||
task_list = "FM"
|
||||
|
||||
# [[data.entries]]
|
||||
# name = "PCSX"
|
||||
# description = "A Playstation emulator. NO Games or Bios' are included"
|
||||
# script = "emulators/playstation/pcsx.sh"
|
||||
# task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "snes9x"
|
||||
description = "Super Nintendo Emulator. NO Games are included"
|
||||
script = "emulators/nintendo/snes9x.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "PlayStation Emulators"
|
||||
|
||||
[[data.entries.entries]]
|
||||
name = "PCSX2"
|
||||
description = "A Playstation 2 emulator. NO Games or Bios' are included"
|
||||
script = "emulators/playstation/pcsx2.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries.entries]]
|
||||
name = "Play!"
|
||||
description = "An Experimental Playstation 2 emulator. NO Games or Bios' are included"
|
||||
script = "emulators/playstation/play-emu.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries.entries]]
|
||||
name = "RPCS3"
|
||||
description = "A Playstation 3 emulator. NO Games or Bios' are included"
|
||||
script = "emulators/playstation/rpcs3.sh"
|
||||
task_list = "FM"
|
||||
|
||||
# [[data.entries.entries]]
|
||||
# name = "PCSX"
|
||||
# description = "A Playstation emulator. NO Games or Bios' are included"
|
||||
# script = "emulators/playstation/pcsx.sh"
|
||||
# task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Sega Emulators"
|
||||
|
||||
[[data.entries.entries]]
|
||||
name = "Blastem"
|
||||
description = "A Genesis emulator. NO Games are included"
|
||||
script = "emulators/sega/blastem.sh"
|
||||
task_list = "FM"
|
||||
|
||||
# [[data.entries.entries]]
|
||||
# name = "Yabause"
|
||||
# description = "A Sega Saturn emulator"
|
||||
# script = "emulators/sega/yabause.sh"
|
||||
# task_list = "FM"
|
||||
|
||||
[[data.entries.entries]]
|
||||
name = "Flycast"
|
||||
description = "A Dreamcase emulator. NO Games are included"
|
||||
script = "emulators/sega/flycast.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries.entries]]
|
||||
name = "Kronos"
|
||||
description = "A Sega Saturn emulator. NO Games are included"
|
||||
script = "emulators/sega/kronos.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Multi-System Emulators"
|
||||
|
||||
[[data.entries.entries]]
|
||||
name = "RetroArch Game Emulator"
|
||||
description = "Frontend for emulators, game engines and media players. NO Games or Bios' are included"
|
||||
script = "emulators/retroarch.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Xbox Emulators"
|
||||
|
||||
[[data.entries.entries]]
|
||||
name = "XEMU"
|
||||
description = "An Original Xbox emulator. NO Games or Bios' are included"
|
||||
script = "emulators/xbox/xemu.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data.entries]]
|
||||
[[data.entries.entries]]
|
||||
name = "Xenia"
|
||||
description = "An Experimental Xbox 360 emulator. NO Games or Bios' are included"
|
||||
script = "emulators/xbox/xenia.sh"
|
||||
task_list = "FM"
|
||||
|
||||
[[data]]
|
||||
name = "Related Tools and Setups"
|
||||
name = "Tools and Setups"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Auto CPU Frequency"
|
||||
@@ -141,10 +156,17 @@ task_list = "FI"
|
||||
|
||||
[[data.entries]]
|
||||
name = "Gaming Dependencies"
|
||||
description = "Run the Gaming Dependencies installer (same script kept under System Setup)."
|
||||
description = "This script is designed to handle the installation of gaming dependencies across different Linux distributions."
|
||||
script = "../system-setup/gaming-setup.sh"
|
||||
task_list = "I"
|
||||
|
||||
[[data.entries]]
|
||||
name = "General GPU Drivers"
|
||||
description = "Auto-detects your GPU and installs a recommended driver stack for your distro, with NixOS guidance."
|
||||
script = "../system-setup/gpu-driver.sh"
|
||||
task_list = "I"
|
||||
multi_select = false
|
||||
|
||||
[[data.entries]]
|
||||
name = "Nvidia Drivers & Hardware Acceleration"
|
||||
description = "Opens the Arch-specific NVIDIA installer (kept under System Setup / Arch)."
|
||||
@@ -156,7 +178,7 @@ name = "Waydroid"
|
||||
description = "Waydroid is an emulator that allows you to run Android apps and games on Linux."
|
||||
script = "../applications-setup/waydroid-setup.sh"
|
||||
task_list = "I SS"
|
||||
[[data.preconditions]]
|
||||
[[data.entries.preconditions]]
|
||||
matches = true
|
||||
data = { environment = "XDG_SESSION_TYPE" }
|
||||
values = ["wayland", "Wayland"]
|
||||
@@ -177,4 +199,3 @@ name = "Fallout 76 INI and Mods"
|
||||
description = "Installs a custom Fallout76Custom.ini and mods from ChrisTitusTech/fallout76-configs via Steam. Improves performance and stability with quality of life tweaks."
|
||||
script = "fallout76-titus-mod.sh"
|
||||
task_list = "FM"
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ select_option() {
|
||||
;;
|
||||
'[B') # Down arrow
|
||||
((selected++))
|
||||
if [ $selected -ge $num_options ]; then
|
||||
if [ "$selected" -ge "$num_options" ]; then
|
||||
selected=0
|
||||
fi
|
||||
;;
|
||||
@@ -508,18 +508,18 @@ pacman -S --noconfirm --needed pacman-contrib curl terminus-font
|
||||
pacman -S --noconfirm --needed reflector rsync grub arch-install-scripts git ntp wget
|
||||
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
|
||||
|
||||
nc=$(grep -c ^"cpu cores" /proc/cpuinfo)
|
||||
NUM_CORES=$(grep -c ^"cpu cores" /proc/cpuinfo)
|
||||
echo -ne "
|
||||
-------------------------------------------------------------------------
|
||||
You have " $nc" cores. And
|
||||
changing the makeflags for " $nc" cores. Aswell as
|
||||
You have $NUM_CORES cores. And
|
||||
changing the makeflags for $NUM_CORES cores. Aswell as
|
||||
changing the compression settings.
|
||||
-------------------------------------------------------------------------
|
||||
"
|
||||
TOTAL_MEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*')
|
||||
if [[ $TOTAL_MEM -gt 8000000 ]]; then
|
||||
sed -i "s/#MAKEFLAGS=\"-j2\"/MAKEFLAGS=\"-j$nc\"/g" /etc/makepkg.conf
|
||||
sed -i "s/COMPRESSXZ=(xz -c -z -)/COMPRESSXZ=(xz -c -T $nc -z -)/g" /etc/makepkg.conf
|
||||
sed -i "s/#MAKEFLAGS=\"-j2\"/MAKEFLAGS=\"-j$NUM_CORES\"/g" /etc/makepkg.conf
|
||||
sed -i "s/COMPRESSXZ=(xz -c -z -)/COMPRESSXZ=(xz -c -T $NUM_CORES -z -)/g" /etc/makepkg.conf
|
||||
fi
|
||||
echo -ne "
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
@@ -52,7 +52,7 @@ installDriver() {
|
||||
"$ESCALATION_TOOL" dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda -y
|
||||
printf "%b\n" "${YELLOW}Building the drivers may take upto 5 minutes. Please don't kill the script!\n If the build failed try running the script again, select \"Remove Nvidia Drivers\" and reboot the system, then try installing drivers again.${RC}"
|
||||
|
||||
for i in $(seq 1 5); do
|
||||
for _ in $(seq 1 5); do
|
||||
if checkDriverInstallation; then
|
||||
printf "%b\n" "${GREEN}Driver installed successfully.${RC}"
|
||||
printf "%b\n" "${GREEN}Installed driver version $(modinfo -F version nvidia)${RC}"
|
||||
|
||||
@@ -220,25 +220,12 @@ script = "system-update.sh"
|
||||
task_list = "PFM"
|
||||
multi_select = false
|
||||
|
||||
[[data]]
|
||||
name = "Gaming Dependencies"
|
||||
description = "This script is designed to handle the installation of gaming dependencies across different Linux distributions"
|
||||
script = "gaming-setup.sh"
|
||||
task_list = "I"
|
||||
|
||||
[[data]]
|
||||
name = "Global Theme"
|
||||
description = "This script is designed to handle the installation and configuration of global theming"
|
||||
script = "global-theme.sh"
|
||||
task_list = "I PFM"
|
||||
|
||||
[[data]]
|
||||
name = "GPU Driver"
|
||||
description = "Auto-detects your GPU and installs a recommended driver stack for your distro, with NixOS guidance."
|
||||
script = "gpu-driver.sh"
|
||||
task_list = "I"
|
||||
multi_select = false
|
||||
|
||||
[[data]]
|
||||
name = "Remove Snaps"
|
||||
description = "This script is designed to remove snap"
|
||||
|
||||
+42
-14
@@ -61,27 +61,29 @@ disable_password_auth() {
|
||||
printf "%b\n" "Enter the alias of the host: "
|
||||
read -r host_alias
|
||||
printf "\n"
|
||||
# shellcheck disable=SC2029
|
||||
ssh "$host_alias" "
|
||||
"$ESCALATION_TOOL" -S sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config &&
|
||||
"$ESCALATION_TOOL" -S sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config &&
|
||||
"$ESCALATION_TOOL" -S sed -i 's/^#PubkeyAuthentication no/PubkeyAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
"$ESCALATION_TOOL" -S sed -i 's/^PubkeyAuthentication no/PubkeyAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
"$ESCALATION_TOOL" -S systemctl restart sshd
|
||||
${ESCALATION_TOOL} -S sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config &&
|
||||
${ESCALATION_TOOL} -S sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config &&
|
||||
${ESCALATION_TOOL} -S sed -i 's/^#PubkeyAuthentication no/PubkeyAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
${ESCALATION_TOOL} -S sed -i 's/^PubkeyAuthentication no/PubkeyAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
${ESCALATION_TOOL} -S systemctl restart sshd
|
||||
"
|
||||
printf "%b\n" "PasswordAuthentication set to no and PubkeyAuthentication set to yes."
|
||||
}
|
||||
|
||||
enable_password_auth() {
|
||||
printf "%b\n" "Disabling SSH password authentication and enabling key-only login..."
|
||||
printf "%b\n" "Enabling SSH password authentication and disabling key-only login..."
|
||||
printf "%b\n" "Enter the alias of the host: "
|
||||
read -r host_alias
|
||||
printf "\n"
|
||||
# shellcheck disable=SC2029
|
||||
ssh "$host_alias" "
|
||||
"$ESCALATION_TOOL" -S sed -i 's/^#PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
"$ESCALATION_TOOL" -S sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
"$ESCALATION_TOOL" -S sed -i 's/^#PubkeyAuthentication yes/PubkeyAuthentication no/' /etc/ssh/sshd_config &&
|
||||
"$ESCALATION_TOOL" -S sed -i 's/^PubkeyAuthentication yes/PubkeyAuthentication no/' /etc/ssh/sshd_config &&
|
||||
"$ESCALATION_TOOL" -S systemctl restart sshd
|
||||
${ESCALATION_TOOL} -S sed -i 's/^#PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
${ESCALATION_TOOL} -S sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
${ESCALATION_TOOL} -S sed -i 's/^#PubkeyAuthentication yes/PubkeyAuthentication no/' /etc/ssh/sshd_config &&
|
||||
${ESCALATION_TOOL} -S sed -i 's/^PubkeyAuthentication yes/PubkeyAuthentication no/' /etc/ssh/sshd_config &&
|
||||
${ESCALATION_TOOL} -S systemctl restart sshd
|
||||
"
|
||||
printf "%b\n" "PasswordAuthentication set to yes and PubkeyAuthentication set to no."
|
||||
}
|
||||
@@ -99,6 +101,7 @@ run_remote_command() {
|
||||
read -r host_alias
|
||||
printf "%b" "Enter the command to run: "
|
||||
read -r remote_command
|
||||
# shellcheck disable=SC2029
|
||||
ssh "$host_alias" "$remote_command"
|
||||
}
|
||||
|
||||
@@ -151,8 +154,33 @@ move_directory_to_remote() {
|
||||
remove_system() {
|
||||
printf "%b\n" "Enter the alias of the host to remove: "
|
||||
read -r host_alias
|
||||
sed -i "/^Host $host_alias/,+3d" ~/.ssh/config
|
||||
printf "%b\n" "Removed $host_alias from SSH configuration."
|
||||
temp_file="$(mktemp)"
|
||||
if awk -v host="$host_alias" '
|
||||
BEGIN {
|
||||
skip = 0
|
||||
removed = 0
|
||||
}
|
||||
/^Host[[:space:]]+/ {
|
||||
if ($2 == host) {
|
||||
skip = 1
|
||||
removed = 1
|
||||
next
|
||||
}
|
||||
skip = 0
|
||||
}
|
||||
!skip { print }
|
||||
END {
|
||||
if (!removed) {
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
' "$HOME/.ssh/config" > "$temp_file"; then
|
||||
mv "$temp_file" "$HOME/.ssh/config"
|
||||
printf "%b\n" "Removed $host_alias from SSH configuration."
|
||||
else
|
||||
rm -f "$temp_file"
|
||||
printf "%b\n" "Host $host_alias not found in SSH configuration."
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to view SSH configuration
|
||||
@@ -250,4 +278,4 @@ done
|
||||
|
||||
checkEnv
|
||||
checkEscalationTool
|
||||
main
|
||||
main
|
||||
|
||||
@@ -125,13 +125,6 @@ name = "Auto Login"
|
||||
script = "auto-login.sh"
|
||||
task_list = "DE setup"
|
||||
|
||||
[[data]]
|
||||
name = "Auto Mount Drive"
|
||||
description = "This utility is designed to help with automating the process of mounting a drive on to your system."
|
||||
script = "auto-mount.sh"
|
||||
task_list = "PFM"
|
||||
multi_select = false
|
||||
|
||||
[[data]]
|
||||
name = "Bluetooth Manager"
|
||||
description = "This utility is designed to manage bluetooth in your system"
|
||||
|
||||
@@ -72,10 +72,7 @@ https://github.com/ChrisTitusTech/neovim
|
||||
- **Zen Browser**: Zen Browser is a privacy-focused web browser designed for enhanced security and a seamless browsing experience.
|
||||
- **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.
|
||||
- **Auto CPU Frequency**: Automatic CPU speed & power optimizer.
|
||||
https://github.com/AdnanHodzic/auto-cpufreq
|
||||
- **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
|
||||
- **Bottles**: Bottles allows Windows software, like applications and games, to run on Linux. Bottles also provides tools to categorize, organize and optimize your applications.
|
||||
- **Docker**: Docker is an open platform that uses OS-level virtualization to deliver software in packages called containers.
|
||||
- **DWM-Titus**: DWM is a dynamic window manager for X.
|
||||
It manages windows in tiled, monocle and floating layouts.
|
||||
@@ -93,7 +90,6 @@ https://github.com/ChrisTitusTech/dwm-titus
|
||||
- **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
|
||||
- **Waydroid**: Waydroid is an emulator that allows you to run Android apps and games on Linux.
|
||||
- **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
|
||||
@@ -101,31 +97,47 @@ https://github.com/ChrisTitusTech/dwm-titus
|
||||
|
||||
### Emulators
|
||||
|
||||
- **Blastem**: A Genesis emulator. NO Games are included
|
||||
|
||||
### Nintendo Emulators
|
||||
|
||||
- **bsnes**: Super Nintendo Emulator. NO Games are included
|
||||
- **Dolphin Emulator**: GameCube and Wii Emulator. NO Games are included
|
||||
- **Flycast**: A Dreamcase emulator. NO Games are included
|
||||
- **Gopher 64**: N64 Emulator. NO Games are included
|
||||
- **Kronos**: A Sega Saturn emulator. NO Games are included
|
||||
- **MelonDS**: Nintendo DS and DSi Emulator. NO Games are included
|
||||
- **mGBA**: Nintendo Game Boy Advance Emulator. NO Games are included
|
||||
- **Mupen 64 Plus**: N64 Emulator. NO Games are included
|
||||
- **PCSX2**: A Playstation 2 emulator. NO Games or Bios' are included
|
||||
- **Play!**: An Experimental Playstation 2 emulator. NO Games or Bios' are included
|
||||
- **RetroArch Game Emulator**: Frontend for emulators, game engines and media players. NO Games or Bios' are included
|
||||
- **RPCS3**: A Playstation 3 emulator. NO Games or Bios' are included
|
||||
- **Ryujinx**: Nintendo Switch emulator. NO Games are included
|
||||
- **snes9x**: Super Nintendo Emulator. NO Games are included
|
||||
|
||||
### PlayStation Emulators
|
||||
|
||||
- **PCSX2**: A Playstation 2 emulator. NO Games or Bios' are included
|
||||
- **Play!**: An Experimental Playstation 2 emulator. NO Games or Bios' are included
|
||||
- **RPCS3**: A Playstation 3 emulator. NO Games or Bios' are included
|
||||
|
||||
### Sega Emulators
|
||||
|
||||
- **Blastem**: A Genesis emulator. NO Games are included
|
||||
- **Flycast**: A Dreamcase emulator. NO Games are included
|
||||
- **Kronos**: A Sega Saturn emulator. NO Games are included
|
||||
|
||||
### Multi-System Emulators
|
||||
|
||||
- **RetroArch Game Emulator**: Frontend for emulators, game engines and media players. NO Games or Bios' are included
|
||||
|
||||
### Xbox Emulators
|
||||
|
||||
- **XEMU**: An Original Xbox emulator. NO Games or Bios' are included
|
||||
- **Xenia**: An Experimental Xbox 360 emulator. NO Games or Bios' are included
|
||||
|
||||
### Related Tools and Setups
|
||||
### Tools and Setups
|
||||
|
||||
- **Auto CPU Frequency**: Automatic CPU speed & power optimizer.
|
||||
https://github.com/AdnanHodzic/auto-cpufreq
|
||||
- **Auto Mount Drive**: This utility is designed to help with automating the process of mounting a drive on to your system.
|
||||
- **Bottles**: Bottles allows Windows software, like applications and games, to run on Linux. Bottles also provides tools to categorize, organize and optimize your applications.
|
||||
- **Gaming Dependencies**: Run the Gaming Dependencies installer (same script kept under System Setup).
|
||||
- **Gaming Dependencies**: This script is designed to handle the installation of gaming dependencies across different Linux distributions.
|
||||
- **General GPU Drivers**: Auto-detects your GPU and installs a recommended driver stack for your distro, with NixOS guidance.
|
||||
- **Nvidia Drivers & Hardware Acceleration**: Opens the Arch-specific NVIDIA installer (kept under System Setup / Arch).
|
||||
- **Waydroid**: Waydroid is an emulator that allows you to run Android apps and games on Linux.
|
||||
- **Arc Raiders Titus Mods**: Applies optimized game configuration files from ChrisTitusTech/arc-raiders. Sets Engine.ini to read-only to prevent the game from overwriting the settings, disables motion blur, and enables VRR optimizations.
|
||||
@@ -182,9 +194,7 @@ https://github.com/AdnanHodzic/auto-cpufreq
|
||||
- **Build Prerequisites**: This script is designed to handle the installation of various software dependencies across different Linux distributions
|
||||
- **Full System Cleanup**: This script is designed to remove unnecessary packages, clean old cache files, remove temporary files, and to empty the trash.
|
||||
- **Full System Update**: This command updates your system to the latest packages available for your distro
|
||||
- **Gaming Dependencies**: This script is designed to handle the installation of gaming dependencies across different Linux distributions
|
||||
- **Global Theme**: This script is designed to handle the installation and configuration of global theming
|
||||
- **GPU Driver**: Auto-detects your GPU and installs a recommended driver stack for your distro, with NixOS guidance.
|
||||
- **Remove Snaps**: This script is designed to remove snap
|
||||
- **TTY Fonts**: This Script will set the default TTY font to Terminus size 32 Bold
|
||||
|
||||
@@ -214,7 +224,6 @@ https://github.com/AdnanHodzic/auto-cpufreq
|
||||
|
||||
### User Account Manager
|
||||
|
||||
- **Auto Mount Drive**: This utility is designed to help with automating the process of mounting a drive on to your system.
|
||||
- **Bluetooth Manager**: This utility is designed to manage bluetooth in your system
|
||||
- **Numlock on Startup**: This utility is designed to enable Num Lock at boot, rather than within desktop environments like KDE or GNOME
|
||||
- **Ollama**: This utility is designed to manage ollama in your system
|
||||
|
||||
Reference in New Issue
Block a user