mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-11-25 14:30:11 +00:00
Merge e8ceb48734
into 696110eae5
This commit is contained in:
commit
1233e9a4ab
21
Cargo.lock
generated
21
Cargo.lock
generated
|
@ -178,6 +178,12 @@ version = "1.0.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "cfg_aliases"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
||||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.38"
|
||||
|
@ -506,6 +512,7 @@ dependencies = [
|
|||
"crossterm",
|
||||
"ego-tree",
|
||||
"linutil_core",
|
||||
"nix 0.29.0",
|
||||
"oneshot",
|
||||
"portable-pty",
|
||||
"rand",
|
||||
|
@ -597,6 +604,18 @@ dependencies = [
|
|||
"pin-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.29.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"cfg-if",
|
||||
"cfg_aliases",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
version = "7.1.3"
|
||||
|
@ -676,7 +695,7 @@ dependencies = [
|
|||
"lazy_static",
|
||||
"libc",
|
||||
"log",
|
||||
"nix",
|
||||
"nix 0.25.1",
|
||||
"serial",
|
||||
"shared_library",
|
||||
"shell-words",
|
||||
|
|
|
@ -7,24 +7,24 @@ installGithubDesktop() {
|
|||
printf "%b\n" "${YELLOW}Installing Github Desktop...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -fsSL https://apt.packages.shiftkey.dev/gpg.key | gpg --dearmor | "$ESCALATION_TOOL" tee /usr/share/keyrings/shiftkey-packages.gpg > /dev/null
|
||||
printf "%b\n" 'deb [arch=amd64 signed-by=/usr/share/keyrings/shiftkey-packages.gpg] https://apt.packages.shiftkey.dev/ubuntu/ any main\n' | "$ESCALATION_TOOL" tee /etc/apt/sources.list.d/shiftkey-packages.list > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y github-desktop
|
||||
curl -fsSL https://apt.packages.shiftkey.dev/gpg.key | gpg --dearmor | elevated_execution tee /usr/share/keyrings/shiftkey-packages.gpg > /dev/null
|
||||
printf "%b\n" 'deb [arch=amd64 signed-by=/usr/share/keyrings/shiftkey-packages.gpg] https://apt.packages.shiftkey.dev/ubuntu/ any main\n' | elevated_execution tee /etc/apt/sources.list.d/shiftkey-packages.list > /dev/null
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y github-desktop
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" rpm --import https://rpm.packages.shiftkey.dev/gpg.key
|
||||
printf "%b\n" '[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key\n' | "$ESCALATION_TOOL" tee /etc/zypp/repos.d/shiftkey-packages.repo > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" refresh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install github-desktop
|
||||
elevated_execution rpm --import https://rpm.packages.shiftkey.dev/gpg.key
|
||||
printf "%b\n" '[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key\n' | elevated_execution tee /etc/zypp/repos.d/shiftkey-packages.repo > /dev/null
|
||||
elevated_execution "$PACKAGER" refresh
|
||||
elevated_execution "$PACKAGER" --non-interactive install github-desktop
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm github-desktop-bin
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" rpm --import https://rpm.packages.shiftkey.dev/gpg.key
|
||||
printf "%b\n" '[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key\n' | "$ESCALATION_TOOL" tee /etc/yum.repos.d/shiftkey-packages.repo > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y github-desktop
|
||||
elevated_execution rpm --import https://rpm.packages.shiftkey.dev/gpg.key
|
||||
printf "%b\n" '[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key\n' | elevated_execution tee /etc/yum.repos.d/shiftkey-packages.repo > /dev/null
|
||||
elevated_execution "$PACKAGER" install -y github-desktop
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -7,10 +7,10 @@ installMeld() {
|
|||
printf "%b\n" "${YELLOW}Installing Meld...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm meld
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm meld
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -y install meld
|
||||
elevated_execution "$PACKAGER" -y install meld
|
||||
;;
|
||||
*)
|
||||
. ../setup-flatpak.sh
|
||||
|
|
|
@ -18,16 +18,16 @@ installNeovim() {
|
|||
printf "%b\n" "${YELLOW}Installing Neovim...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm neovim ripgrep fzf python-virtualenv luarocks go shellcheck git
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm neovim ripgrep fzf python-virtualenv luarocks go shellcheck git
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y ripgrep fd-find python3-venv luarocks golang-go shellcheck git
|
||||
elevated_execution "$PACKAGER" install -y ripgrep fd-find python3-venv luarocks golang-go shellcheck git
|
||||
curl -sSLo /tmp/nvim.appimage https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
|
||||
chmod u+x /tmp/nvim.appimage
|
||||
"$ESCALATION_TOOL" mv /tmp/nvim.appimage /usr/local/bin/nvim
|
||||
elevated_execution mv /tmp/nvim.appimage /usr/local/bin/nvim
|
||||
;;
|
||||
dnf|zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y neovim ripgrep fzf python3-virtualenv luarocks golang ShellCheck git
|
||||
elevated_execution "$PACKAGER" install -y neovim ripgrep fzf python3-virtualenv luarocks golang ShellCheck git
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -5,7 +5,13 @@
|
|||
installNgrok() {
|
||||
if ! command_exists ngrok; then
|
||||
printf "%b\n" "${YELLOW}Installing Ngrok...${RC}"
|
||||
curl -sSLO https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz | "$ESCALATION_TOOL" tar -xz -C /usr/local/bin
|
||||
curl -sSLO https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
|
||||
if [ -f "ngrok-v3-stable-linux-amd64.tgz" ]; then
|
||||
elevated_execution tar -xz -f ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
|
||||
else
|
||||
printf "%b\n" "${RED}Error occurred when downloading.${RC}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
printf "%b\n" "${GREEN}Ngrok is already installed.${RC}"
|
||||
fi
|
||||
|
|
|
@ -7,24 +7,24 @@ installSublime() {
|
|||
printf "%b\n" "${YELLOW}Installing Sublime...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | "$ESCALATION_TOOL" apt-key add -
|
||||
echo "deb https://download.sublimetext.com/ apt/stable/" | "$ESCALATION_TOOL" tee /etc/apt/sources.list.d/sublime-text.list
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y sublime-text
|
||||
curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | elevated_execution apt-key add -
|
||||
echo "deb https://download.sublimetext.com/ apt/stable/" | elevated_execution tee /etc/apt/sources.list.d/sublime-text.list
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y sublime-text
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
|
||||
"$ESCALATION_TOOL" "$PACKAGER" addrepo -g -f https://download.sublimetext.com/rpm/dev/x86_64/sublime-text.repo
|
||||
"$ESCALATION_TOOL" "$PACKAGER" refresh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install sublime-text
|
||||
elevated_execution rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
|
||||
elevated_execution "$PACKAGER" addrepo -g -f https://download.sublimetext.com/rpm/dev/x86_64/sublime-text.repo
|
||||
elevated_execution "$PACKAGER" refresh
|
||||
elevated_execution "$PACKAGER" --non-interactive install sublime-text
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm sublime-text-4
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
|
||||
"$ESCALATION_TOOL" "$PACKAGER" config-manager --add-repo https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y sublime-text
|
||||
elevated_execution rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
|
||||
elevated_execution "$PACKAGER" config-manager --add-repo https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo
|
||||
elevated_execution "$PACKAGER" install -y sublime-text
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -8,25 +8,25 @@ installVsCode() {
|
|||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
|
||||
"$ESCALATION_TOOL" install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
|
||||
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | "$ESCALATION_TOOL" tee /etc/apt/sources.list.d/vscode.list > /dev/null
|
||||
elevated_execution install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
|
||||
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | elevated_execution tee /etc/apt/sources.list.d/vscode.list > /dev/null
|
||||
rm -f packages.microsoft.gpg
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y apt-transport-https code
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y apt-transport-https code
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
||||
printf "%b\n" '[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc' | "$ESCALATION_TOOL" tee /etc/zypp/repos.d/vscode.repo > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" refresh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install code
|
||||
elevated_execution rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
||||
printf "%b\n" '[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc' | elevated_execution tee /etc/zypp/repos.d/vscode.repo > /dev/null
|
||||
elevated_execution "$PACKAGER" refresh
|
||||
elevated_execution "$PACKAGER" --non-interactive install code
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm visual-studio-code-bin
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
||||
printf "%b\n" '[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc' | "$ESCALATION_TOOL" tee /etc/yum.repos.d/vscode.repo > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y code
|
||||
elevated_execution rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
||||
printf "%b\n" '[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc' | elevated_execution tee /etc/yum.repos.d/vscode.repo > /dev/null
|
||||
elevated_execution "$PACKAGER" install -y code
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -7,24 +7,24 @@ installVsCodium() {
|
|||
printf "%b\n" "${YELLOW}Installing VS Codium...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -fsSL https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | "$ESCALATION_TOOL" dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
|
||||
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' | "$ESCALATION_TOOL" tee /etc/apt/sources.list.d/vscodium.list
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y codium
|
||||
curl -fsSL https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | elevated_execution dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
|
||||
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' | elevated_execution tee /etc/apt/sources.list.d/vscodium.list
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y codium
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" rpmkeys --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||
printf "%b\n" "[gitlab.com_paulcarroty_vscodium_repo]\nname=gitlab.com_paulcarroty_vscodium_repo\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | "$ESCALATION_TOOL" tee -a /etc/zypp/repos.d/vscodium.repo
|
||||
"$ESCALATION_TOOL" "$PACKAGER" refresh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install codium
|
||||
elevated_execution rpmkeys --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||
printf "%b\n" "[gitlab.com_paulcarroty_vscodium_repo]\nname=gitlab.com_paulcarroty_vscodium_repo\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | elevated_execution tee -a /etc/zypp/repos.d/vscodium.repo
|
||||
elevated_execution "$PACKAGER" refresh
|
||||
elevated_execution "$PACKAGER" --non-interactive install codium
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --noconfirm vscodium-bin
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" rpmkeys --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||
printf "%b\n" "[gitlab.com_paulcarroty_vscodium_repo]\nname=download.vscodium.com\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | "$ESCALATION_TOOL" tee -a /etc/yum.repos.d/vscodium.repo
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y codium
|
||||
elevated_execution rpmkeys --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||
printf "%b\n" "[gitlab.com_paulcarroty_vscodium_repo]\nname=download.vscodium.com\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | elevated_execution tee -a /etc/yum.repos.d/vscodium.repo
|
||||
elevated_execution "$PACKAGER" install -y codium
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -7,10 +7,10 @@ installAlacritty() {
|
|||
printf "%b\n" "${YELLOW}Installing Alacritty...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm alacritty
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm alacritty
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y alacritty
|
||||
elevated_execution "$PACKAGER" install -y alacritty
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -7,13 +7,13 @@ install_adb() {
|
|||
printf "%b\n" "${YELLOW}Installing ADB...${RC}."
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y android-sdk-platform-tools
|
||||
elevated_execution "$PACKAGER" install -y android-sdk-platform-tools
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm android-tools
|
||||
elevated_execution "$PACKAGER" -S --noconfirm android-tools
|
||||
;;
|
||||
dnf|zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y android-tools
|
||||
elevated_execution "$PACKAGER" install -y android-tools
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: "$PACKAGER"${RC}"
|
||||
|
@ -29,8 +29,8 @@ install_universal_android_debloater() {
|
|||
if ! command_exists uad; then
|
||||
printf "%b\n" "${YELLOW}Installing Universal Android Debloater...${RC}."
|
||||
curl -sSLo "${HOME}/uad" "https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/releases/download/v1.1.0/uad-ng-linux"
|
||||
"$ESCALATION_TOOL" chmod +x "${HOME}/uad"
|
||||
"$ESCALATION_TOOL" mv "${HOME}/uad" /usr/local/bin/uad
|
||||
elevated_execution chmod +x "${HOME}/uad"
|
||||
elevated_execution mv "${HOME}/uad" /usr/local/bin/uad
|
||||
else
|
||||
printf "%b\n" "${GREEN}Universal Android Debloater is already installed. Run 'uad' command to execute.${RC}"
|
||||
fi
|
||||
|
|
|
@ -7,27 +7,27 @@ installBrave() {
|
|||
printf "%b\n" "${YELLOW}Installing Brave...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y curl
|
||||
"$ESCALATION_TOOL" curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | "$ESCALATION_TOOL" tee /etc/apt/sources.list.d/brave-browser-release.list
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y brave-browser
|
||||
elevated_execution "$PACKAGER" install -y curl
|
||||
elevated_execution curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | elevated_execution tee /etc/apt/sources.list.d/brave-browser-release.list
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y brave-browser
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y curl
|
||||
"$ESCALATION_TOOL" rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
|
||||
"$ESCALATION_TOOL" "$PACKAGER" addrepo https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
|
||||
"$ESCALATION_TOOL" "$PACKAGER" refresh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install brave-browser
|
||||
elevated_execution "$PACKAGER" install -y curl
|
||||
elevated_execution rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
|
||||
elevated_execution "$PACKAGER" addrepo https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
|
||||
elevated_execution "$PACKAGER" refresh
|
||||
elevated_execution "$PACKAGER" --non-interactive install brave-browser
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm brave-bin
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y dnf-plugins-core
|
||||
"$ESCALATION_TOOL" "$PACKAGER" config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
|
||||
"$ESCALATION_TOOL" rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y brave-browser
|
||||
elevated_execution "$PACKAGER" install -y dnf-plugins-core
|
||||
elevated_execution "$PACKAGER" config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
|
||||
elevated_execution rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
|
||||
elevated_execution "$PACKAGER" install -y brave-browser
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -7,10 +7,10 @@ if ! command_exists chromium; then
|
|||
printf "%b\n" "${YELLOW}Installing Chromium...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm chromium
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm chromium
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y chromium
|
||||
elevated_execution "$PACKAGER" install -y chromium
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -7,16 +7,16 @@ installFirefox() {
|
|||
printf "%b\n" "${YELLOW}Installing Mozilla Firefox...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y firefox-esr
|
||||
elevated_execution "$PACKAGER" install -y firefox-esr
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install MozillaFirefox
|
||||
elevated_execution "$PACKAGER" --non-interactive install MozillaFirefox
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm firefox
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm firefox
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y firefox
|
||||
elevated_execution "$PACKAGER" install -y firefox
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -8,20 +8,20 @@ installChrome() {
|
|||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -O https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y ./google-chrome-stable_current_amd64.deb
|
||||
elevated_execution "$PACKAGER" install -y ./google-chrome-stable_current_amd64.deb
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" addrepo http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
|
||||
"$ESCALATION_TOOL" "$PACKAGER" refresh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install google-chrome-stable
|
||||
elevated_execution "$PACKAGER" addrepo http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
|
||||
elevated_execution "$PACKAGER" refresh
|
||||
elevated_execution "$PACKAGER" --non-interactive install google-chrome-stable
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm google-chrome
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y fedora-workstation-repositories
|
||||
"$ESCALATION_TOOL" "$PACKAGER" config-manager --set-enabled google-chrome
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y google-chrome-stable
|
||||
elevated_execution "$PACKAGER" install -y fedora-workstation-repositories
|
||||
elevated_execution "$PACKAGER" config-manager --set-enabled google-chrome
|
||||
elevated_execution "$PACKAGER" install -y google-chrome-stable
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -7,27 +7,27 @@ installLibreWolf() {
|
|||
printf "%b\n" "${YELLOW}Installing Librewolf...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y gnupg lsb-release apt-transport-https ca-certificates
|
||||
elevated_execution "$PACKAGER" install -y gnupg lsb-release apt-transport-https ca-certificates
|
||||
distro=`if echo " una bookworm vanessa focal jammy bullseye vera uma " | grep -q " $(lsb_release -sc) "; then lsb_release -sc; else echo focal; fi`
|
||||
curl -fsSL https://deb.librewolf.net/keyring.gpg | "$ESCALATION_TOOL" gpg --dearmor -o /usr/share/keyrings/librewolf.gpg
|
||||
curl -fsSL https://deb.librewolf.net/keyring.gpg | elevated_execution gpg --dearmor -o /usr/share/keyrings/librewolf.gpg
|
||||
echo "Types: deb
|
||||
URIs: https://deb.librewolf.net
|
||||
Suites: $distro
|
||||
Components: main
|
||||
Architectures: amd64
|
||||
Signed-By: /usr/share/keyrings/librewolf.gpg" | "$ESCALATION_TOOL" tee /etc/apt/sources.list.d/librewolf.sources > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y librewolf
|
||||
Signed-By: /usr/share/keyrings/librewolf.gpg" | elevated_execution tee /etc/apt/sources.list.d/librewolf.sources > /dev/null
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y librewolf
|
||||
;;
|
||||
dnf)
|
||||
curl -fsSL https://rpm.librewolf.net/librewolf-repo.repo | pkexec tee /etc/yum.repos.d/librewolf.repo > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y librewolf
|
||||
elevated_execution "$PACKAGER" install -y librewolf
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" rpm --import https://rpm.librewolf.net/pubkey.gpg
|
||||
"$ESCALATION_TOOL" zypper ar -ef https://rpm.librewolf.net librewolf
|
||||
"$ESCALATION_TOOL" zypper refresh
|
||||
"$ESCALATION_TOOL" zypper --non-interactive install librewolf
|
||||
elevated_execution rpm --import https://rpm.librewolf.net/pubkey.gpg
|
||||
elevated_execution zypper ar -ef https://rpm.librewolf.net librewolf
|
||||
elevated_execution zypper refresh
|
||||
elevated_execution zypper --non-interactive install librewolf
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm librewolf-bin
|
||||
|
|
|
@ -7,10 +7,10 @@ installLynx() {
|
|||
printf "%b\n" "${YELLOW}Installing Lynx...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm lynx
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm lynx
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y lynx
|
||||
elevated_execution "$PACKAGER" install -y lynx
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -7,15 +7,15 @@ installThrorium() {
|
|||
printf "%b\n" "${YELLOW}Installing Thorium Browser...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" rm -fv /etc/apt/sources.list.d/thorium.list
|
||||
"$ESCALATION_TOOL" curl http://dl.thorium.rocks/debian/dists/stable/thorium.list -o /etc/apt/sources.list.d/thorium.list
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y thorium-browser
|
||||
elevated_execution rm -fv /etc/apt/sources.list.d/thorium.list
|
||||
elevated_execution curl http://dl.thorium.rocks/debian/dists/stable/thorium.list -o /etc/apt/sources.list.d/thorium.list
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y thorium-browser
|
||||
;;
|
||||
zypper|dnf)
|
||||
url=$(curl -s https://api.github.com/repos/Alex313031/Thorium/releases/latest | grep -oP '(?<=browser_download_url": ")[^"]*\.rpm')
|
||||
echo "$url" && curl -L "$url" -o thorium-latest.rpm
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y thorium-latest.rpm && rm thorium-latest.rpm
|
||||
elevated_execution "$PACKAGER" install -y thorium-latest.rpm && rm thorium-latest.rpm
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm thorium-browser-bin
|
||||
|
|
|
@ -7,10 +7,10 @@ installLynx() {
|
|||
printf "%b\n" "${YELLOW}Installing Lynx...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm lynx
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm lynx
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y lynx
|
||||
elevated_execution "$PACKAGER" install -y lynx
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -8,17 +8,17 @@ installDiscord() {
|
|||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -Lo discord.deb "https://discord.com/api/download?platform=linux&format=deb"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y discord.deb
|
||||
elevated_execution "$PACKAGER" install -y discord.deb
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install discord
|
||||
elevated_execution "$PACKAGER" --non-interactive install discord
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm discord
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm discord
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y discord
|
||||
elevated_execution "$PACKAGER" install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
|
||||
elevated_execution "$PACKAGER" install -y discord
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -7,19 +7,19 @@ installJitsi() {
|
|||
printf "%b\n" "${YELLOW}Installing Jitsi meet...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl https://download.jitsi.org/jitsi-key.gpg.key | "$ESCALATION_TOOL" gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg
|
||||
printf "%b\n" 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | "$ESCALATION_TOOL" tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -y install jitsi-meet
|
||||
curl https://download.jitsi.org/jitsi-key.gpg.key | elevated_execution gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg
|
||||
printf "%b\n" 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | elevated_execution tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" -y install jitsi-meet
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install jitsi
|
||||
elevated_execution "$PACKAGER" --non-interactive install jitsi
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm jitsi-meet-bin
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y jitsi-meet
|
||||
elevated_execution "$PACKAGER" install -y jitsi-meet
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -8,20 +8,20 @@ installSignal() {
|
|||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -fsSL https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
|
||||
cat signal-desktop-keyring.gpg | "$ESCALATION_TOOL" tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
|
||||
printf "%b\n" 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | "$ESCALATION_TOOL" tee /etc/apt/sources.list.d/signal-xenial.list
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -y install signal-desktop
|
||||
cat signal-desktop-keyring.gpg | elevated_execution tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
|
||||
printf "%b\n" 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | elevated_execution tee /etc/apt/sources.list.d/signal-xenial.list
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" -y install signal-desktop
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install signal-desktop
|
||||
elevated_execution "$PACKAGER" --non-interactive install signal-desktop
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm signal-desktop
|
||||
elevated_execution "$PACKAGER" -S --noconfirm signal-desktop
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" copr enable luminoso/Signal-Desktop
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y signal-desktop
|
||||
elevated_execution "$PACKAGER" copr enable luminoso/Signal-Desktop
|
||||
elevated_execution "$PACKAGER" install -y signal-desktop
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -7,10 +7,10 @@ installTelegram() {
|
|||
printf "%b\n" "${YELLOW}Installing Telegram...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm telegram-desktop
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm telegram-desktop
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y telegram-desktop
|
||||
elevated_execution "$PACKAGER" install -y telegram-desktop
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -7,10 +7,10 @@ installThunderBird() {
|
|||
printf "%b\n" "${YELLOW}Installing Thunderbird...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm thunderbird
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm thunderbird
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y thunderbird
|
||||
elevated_execution "$PACKAGER" install -y thunderbird
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -27,14 +27,14 @@ install_docker() {
|
|||
curl -fsSL https://get.docker.com | sh
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install docker
|
||||
"$ESCALATION_TOOL" systemctl enable docker
|
||||
"$ESCALATION_TOOL" systemctl start docker
|
||||
elevated_execution "$PACKAGER" --non-interactive install docker
|
||||
elevated_execution systemctl enable docker
|
||||
elevated_execution systemctl start docker
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm docker
|
||||
"$ESCALATION_TOOL" systemctl enable docker
|
||||
"$ESCALATION_TOOL" systemctl start docker
|
||||
elevated_execution "$PACKAGER" -S --noconfirm docker
|
||||
elevated_execution systemctl enable docker
|
||||
elevated_execution systemctl start docker
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
@ -47,13 +47,13 @@ install_docker_compose() {
|
|||
printf "%b\n" "${YELLOW}Installing Docker Compose...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y docker-compose-plugin
|
||||
elevated_execution "$PACKAGER" install -y docker-compose-plugin
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install docker-compose
|
||||
elevated_execution "$PACKAGER" --non-interactive install docker-compose
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm docker-compose
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm docker-compose
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -6,14 +6,14 @@ setupDWM() {
|
|||
printf "%b\n" "${YELLOW}Installing DWM-Titus...${RC}"
|
||||
case "$PACKAGER" in # Install pre-Requisites
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm base-devel libx11 libxinerama libxft imlib2 libxcb git unzip flameshot lxappearance feh mate-polkit
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm base-devel libx11 libxinerama libxft imlib2 libxcb git unzip flameshot lxappearance feh mate-polkit
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y build-essential libx11-dev libxinerama-dev libxft-dev libimlib2-dev libx11-xcb-dev libfontconfig1 libx11-6 libxft2 libxinerama1 libxcb-res0-dev git unzip flameshot lxappearance feh mate-polkit
|
||||
elevated_execution "$PACKAGER" install -y build-essential libx11-dev libxinerama-dev libxft-dev libimlib2-dev libx11-xcb-dev libfontconfig1 libx11-6 libxft2 libxinerama1 libxcb-res0-dev git unzip flameshot lxappearance feh mate-polkit
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" groupinstall -y "Development Tools"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y libX11-devel libXinerama-devel libXft-devel imlib2-devel libxcb-devel unzip flameshot lxappearance feh mate-polkit # no need to include git here as it should be already installed via "Development Tools"
|
||||
elevated_execution "$PACKAGER" groupinstall -y "Development Tools"
|
||||
elevated_execution "$PACKAGER" install -y libX11-devel libXinerama-devel libXft-devel imlib2-devel libxcb-devel unzip flameshot lxappearance feh mate-polkit # no need to include git here as it should be already installed via "Development Tools"
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
@ -26,7 +26,7 @@ makeDWM() {
|
|||
cd "$HOME" && git clone https://github.com/ChrisTitusTech/dwm-titus.git # CD to Home directory to install dwm-titus
|
||||
# This path can be changed (e.g. to linux-toolbox directory)
|
||||
cd dwm-titus/ # Hardcoded path, maybe not the best.
|
||||
"$ESCALATION_TOOL" make clean install # Run make clean install
|
||||
elevated_execution make clean install # Run make clean install
|
||||
}
|
||||
|
||||
install_nerd_font() {
|
||||
|
@ -119,7 +119,7 @@ picom_animations() {
|
|||
fi
|
||||
|
||||
# Install the built binary
|
||||
if ! "$ESCALATION_TOOL" ninja -C build install; then
|
||||
if ! elevated_execution ninja -C build install; then
|
||||
printf "%b\n" "${RED}Failed to install the built binary${RC}"
|
||||
return 1
|
||||
fi
|
||||
|
@ -183,13 +183,13 @@ setupDisplayManager() {
|
|||
printf "%b\n" "${YELLOW}Setting up Xorg${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm xorg-xinit xorg-server
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm xorg-xinit xorg-server
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y xorg xinit
|
||||
elevated_execution "$PACKAGER" install -y xorg xinit
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y xorg-x11-xinit xorg-x11-server-Xorg
|
||||
elevated_execution "$PACKAGER" install -y xorg-x11-xinit xorg-x11-server-Xorg
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: "$PACKAGER"${RC}"
|
||||
|
@ -217,13 +217,13 @@ setupDisplayManager() {
|
|||
read -r DM
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm "$DM"
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm "$DM"
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y "$DM"
|
||||
elevated_execution "$PACKAGER" install -y "$DM"
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y "$DM"
|
||||
elevated_execution "$PACKAGER" install -y "$DM"
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: "$PACKAGER"${RC}"
|
||||
|
@ -242,7 +242,7 @@ install_slstatus() {
|
|||
if [ "$response" = "y" ] || [ "$response" = "Y" ]; then
|
||||
printf "%b\n" "${YELLOW}Installing slstatus${RC}"
|
||||
cd "$HOME/dwm-titus/slstatus" || { printf "%b\n" "${RED}Failed to change directory to slstatus${RC}"; return 1; }
|
||||
if "$ESCALATION_TOOL" make clean install; then
|
||||
if elevated_execution make clean install; then
|
||||
printf "%b\n" "${GREEN}slstatus installed successfully${RC}"
|
||||
else
|
||||
printf "%b\n" "${RED}Failed to install slstatus${RC}"
|
||||
|
|
|
@ -7,15 +7,15 @@ installFastfetch() {
|
|||
printf "%b\n" "${YELLOW}Installing Fastfetch...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm fastfetch
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm fastfetch
|
||||
;;
|
||||
apt-get|nala)
|
||||
curl -sSLo /tmp/fastfetch.deb https://github.com/fastfetch-cli/fastfetch/releases/latest/download/fastfetch-linux-amd64.deb
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y /tmp/fastfetch.deb
|
||||
elevated_execution "$PACKAGER" install -y /tmp/fastfetch.deb
|
||||
rm /tmp/fastfetch.deb
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y fastfetch
|
||||
elevated_execution "$PACKAGER" install -y fastfetch
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -10,7 +10,7 @@ themeinstall(){
|
|||
fi
|
||||
git clone "https://github.com/ChrisTitusTech/Top-5-Bootloader-Themes"
|
||||
cd "Top-5-Bootloader-Themes"
|
||||
"$ESCALATION_TOOL" ./install.sh
|
||||
elevated_execution ./install.sh
|
||||
}
|
||||
|
||||
checkEnv
|
||||
|
|
|
@ -7,10 +7,10 @@ installKitty() {
|
|||
printf "%b\n" "${YELLOW}Installing Kitty...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm kitty
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm kitty
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y kitty
|
||||
elevated_execution "$PACKAGER" install -y kitty
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -35,13 +35,13 @@ installLinutil() {
|
|||
printf "%b\n" "${YELLOW}Installing rustup...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm curl rustup man-db
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm curl rustup man-db
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y curl rustup man-pages man-db man
|
||||
elevated_execution "$PACKAGER" install -y curl rustup man-pages man-db man
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -n curl gcc make
|
||||
elevated_execution "$PACKAGER" install -n curl gcc make
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||||
. $HOME/.cargo/env
|
||||
;;
|
||||
|
|
|
@ -12,15 +12,15 @@ updateLinutil() {
|
|||
printf "%b\n" "${YELLOW}Installing rustup...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm rustup
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm rustup
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -n curl gcc make
|
||||
elevated_execution "$PACKAGER" install -n curl gcc make
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
. $HOME/.cargo/env
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y rustup
|
||||
elevated_execution "$PACKAGER" install -y rustup
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
|
|
@ -9,10 +9,10 @@ installDepend() {
|
|||
printf "%b\n" "${YELLOW}Installing Bash...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm bash bash-completion tar bat tree unzip fontconfig git
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm bash bash-completion tar bat tree unzip fontconfig git
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y bash bash-completion tar bat tree unzip fontconfig git
|
||||
elevated_execution "$PACKAGER" install -y bash bash-completion tar bat tree unzip fontconfig git
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -62,7 +62,7 @@ installStarshipAndFzf() {
|
|||
printf "%b\n" "${GREEN}Fzf already installed${RC}"
|
||||
else
|
||||
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
|
||||
"$ESCALATION_TOOL" ~/.fzf/install
|
||||
elevated_execution ~/.fzf/install
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -8,19 +8,19 @@ installFreeOffice() {
|
|||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -O https://www.softmaker.net/down/softmaker-freeoffice-2024_1218-01_amd64.deb
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y ./softmaker-freeoffice-2024_1218-01_amd64.deb
|
||||
elevated_execution "$PACKAGER" install -y ./softmaker-freeoffice-2024_1218-01_amd64.deb
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" addrepo -f https://shop.softmaker.com/repo/rpm SoftMaker
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --gpg-auto-import-keys refresh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install softmaker-freeoffice-2024
|
||||
elevated_execution "$PACKAGER" addrepo -f https://shop.softmaker.com/repo/rpm SoftMaker
|
||||
elevated_execution "$PACKAGER" --gpg-auto-import-keys refresh
|
||||
elevated_execution "$PACKAGER" --non-interactive install softmaker-freeoffice-2024
|
||||
;;
|
||||
pacman)
|
||||
"$AUR_HELPER" -S --needed --noconfirm freeoffice
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" curl -O -qO /etc/yum.repos.d/softmaker.repo https://shop.softmaker.com/repo/softmaker.repo
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y softmaker-freeoffice-2024
|
||||
elevated_execution curl -O -qO /etc/yum.repos.d/softmaker.repo https://shop.softmaker.com/repo/softmaker.repo
|
||||
elevated_execution "$PACKAGER" install -y softmaker-freeoffice-2024
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -7,14 +7,14 @@ installLibreOffice() {
|
|||
printf "%b\n" "${YELLOW}Installing Libre Office...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y libreoffice-core
|
||||
elevated_execution "$PACKAGER" install -y libreoffice-core
|
||||
;;
|
||||
zypper|dnf)
|
||||
. ./setup-flatpak.sh
|
||||
flatpak install -y flathub org.libreoffice.LibreOffice
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm libreoffice-fresh
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm libreoffice-fresh
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -8,7 +8,7 @@ installOnlyOffice() {
|
|||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
curl -O https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_amd64.deb
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y ./onlyoffice-desktopeditors_amd64.deb
|
||||
elevated_execution "$PACKAGER" install -y ./onlyoffice-desktopeditors_amd64.deb
|
||||
;;
|
||||
zypper|dnf)
|
||||
. ./setup-flatpak.sh
|
||||
|
|
|
@ -7,10 +7,10 @@ installEvince() {
|
|||
printf "%b\n" "${YELLOW}Installing Evince...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm evince
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm evince
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y evince
|
||||
elevated_execution "$PACKAGER" install -y evince
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -7,10 +7,10 @@ installOkular() {
|
|||
printf "%b\n" "${YELLOW}Installing Okular...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm okular
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm okular
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y okular
|
||||
elevated_execution "$PACKAGER" install -y okular
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -6,7 +6,7 @@ installPdfstudio() {
|
|||
if ! command_exists pdfstudio2024; then
|
||||
printf "%b\n" "${YELLOW}Installing PDF Studio...${RC}"
|
||||
curl -O https://download.qoppa.com/pdfstudio/PDFStudio_linux64.sh
|
||||
"$ESCALATION_TOOL" chmod +x PDFStudio_linux64.sh
|
||||
elevated_execution chmod +x PDFStudio_linux64.sh
|
||||
if sh PDFStudio_linux64.sh; then
|
||||
printf "%b\n" "${GREEN}PDF Studio installed successfully!${RC}"
|
||||
else
|
||||
|
|
|
@ -6,7 +6,7 @@ installPdfstudioviewer() {
|
|||
if ! command_exists pdfstudioviewer2024; then
|
||||
printf "%b\n" "${YELLOW}Installing PDF Studio Viewer...${RC}"
|
||||
curl -O https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.sh
|
||||
"$ESCALATION_TOOL" chmod +x PDFStudioViewer_linux64.sh
|
||||
elevated_execution chmod +x PDFStudioViewer_linux64.sh
|
||||
if sh PDFStudioViewer_linux64.sh; then
|
||||
printf "%b\n" "${GREEN}PDF Studio Viewer installed successfully!${RC}"
|
||||
else
|
||||
|
|
|
@ -7,10 +7,10 @@ installRofi() {
|
|||
printf "%b\n" "${YELLOW}Installing Rofi...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm rofi
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm rofi
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y rofi
|
||||
elevated_execution "$PACKAGER" install -y rofi
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -23,14 +23,14 @@ setup_flatpak() {
|
|||
printf "%b\n" "${YELLOW}Installing Flatpak...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm flatpak
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm flatpak
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y flatpak
|
||||
elevated_execution "$PACKAGER" install -y flatpak
|
||||
;;
|
||||
esac
|
||||
printf "%b\n" "Adding Flathub remote..."
|
||||
"$ESCALATION_TOOL" flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
elevated_execution flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
else
|
||||
if command_exists flatpak; then
|
||||
if ! flatpak remotes | grep -q "flathub"; then
|
||||
|
@ -39,7 +39,7 @@ setup_flatpak() {
|
|||
case "$add_remote" in
|
||||
[Yy]*)
|
||||
printf "%b\n" "Adding Flathub remote..."
|
||||
"$ESCALATION_TOOL" flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
elevated_execution flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -57,14 +57,14 @@ setup_flatpak() {
|
|||
printf "%b" "${YELLOW}Detected GNOME desktop environment. Would you like to install GNOME Software plugin for Flatpak? (y/N): ${RC}"
|
||||
read -r install_gnome
|
||||
if [ "$install_gnome" = "y" ] || [ "$install_gnome" = "Y" ]; then
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y gnome-software-plugin-flatpak
|
||||
elevated_execution "$PACKAGER" install -y gnome-software-plugin-flatpak
|
||||
fi
|
||||
# Useful for Debian KDE spin as well
|
||||
elif [ "$DE" = "KDE" ]; then
|
||||
printf "%b" "${YELLOW}Detected KDE desktop environment. Would you like to install KDE Plasma Discover backend for Flatpak? (y/N): ${RC}"
|
||||
read -r install_kde
|
||||
if [ "$install_kde" = "y" ] || [ "$install_kde" = "Y" ]; then
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y plasma-discover-backend-flatpak
|
||||
elevated_execution "$PACKAGER" install -y plasma-discover-backend-flatpak
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -17,38 +17,38 @@ installWaydroid() {
|
|||
"$AUR_HELPER" -S --needed --noconfirm waydroid
|
||||
if command_exists dkms; then
|
||||
"$AUR_HELPER" -S --needed --noconfirm binder_linux-dkms
|
||||
"$ESCALATION_TOOL" modprobe binder-linux device=binder,hwbinder,vndbinder
|
||||
elevated_execution modprobe binder-linux device=binder,hwbinder,vndbinder
|
||||
fi
|
||||
;;
|
||||
apt-get|nala)
|
||||
curl https://repo.waydro.id | "$ESCALATION_TOOL" sh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y waydroid
|
||||
curl https://repo.waydro.id | elevated_execution sh
|
||||
elevated_execution "$PACKAGER" install -y waydroid
|
||||
if command_exists dkms; then
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y git
|
||||
elevated_execution "$PACKAGER" install -y git
|
||||
mkdir -p "$HOME/.local/share/" # only create it if it doesnt exist
|
||||
git clone https://github.com/choff/anbox-modules.git "$HOME/.local/share/anbox-modules"
|
||||
cd "$HOME/.local/share/anbox-modules"
|
||||
"$ESCALATION_TOOL" cp anbox.conf /etc/modules-load.d/
|
||||
"$ESCALATION_TOOL" cp 99-anbox.rules /lib/udev/rules.d/
|
||||
"$ESCALATION_TOOL" cp -rT ashmem /usr/src/anbox-ashmem-1
|
||||
"$ESCALATION_TOOL" cp -rT binder /usr/src/anbox-binder-1
|
||||
"$ESCALATION_TOOL" dkms install anbox-ashmem/1
|
||||
"$ESCALATION_TOOL" dkms install anbox-binder/1
|
||||
elevated_execution cp anbox.conf /etc/modules-load.d/
|
||||
elevated_execution cp 99-anbox.rules /lib/udev/rules.d/
|
||||
elevated_execution cp -rT ashmem /usr/src/anbox-ashmem-1
|
||||
elevated_execution cp -rT binder /usr/src/anbox-binder-1
|
||||
elevated_execution dkms install anbox-ashmem/1
|
||||
elevated_execution dkms install anbox-binder/1
|
||||
fi
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y waydroid
|
||||
elevated_execution "$PACKAGER" install -y waydroid
|
||||
if command_exists dkms; then
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y git
|
||||
elevated_execution "$PACKAGER" install -y git
|
||||
mkdir -p "$HOME/.local/share/" # only create it if it doesnt exist
|
||||
git clone https://github.com/choff/anbox-modules.git "$HOME/.local/share/anbox-modules"
|
||||
cd "$HOME/.local/share/anbox-modules"
|
||||
"$ESCALATION_TOOL" cp anbox.conf /etc/modules-load.d/
|
||||
"$ESCALATION_TOOL" cp 99-anbox.rules /lib/udev/rules.d/
|
||||
"$ESCALATION_TOOL" cp -rT ashmem /usr/src/anbox-ashmem-1
|
||||
"$ESCALATION_TOOL" cp -rT binder /usr/src/anbox-binder-1
|
||||
"$ESCALATION_TOOL" dkms install anbox-ashmem/1
|
||||
"$ESCALATION_TOOL" dkms install anbox-binder/1
|
||||
elevated_execution cp anbox.conf /etc/modules-load.d/
|
||||
elevated_execution cp 99-anbox.rules /lib/udev/rules.d/
|
||||
elevated_execution cp -rT ashmem /usr/src/anbox-ashmem-1
|
||||
elevated_execution cp -rT binder /usr/src/anbox-binder-1
|
||||
elevated_execution dkms install anbox-ashmem/1
|
||||
elevated_execution dkms install anbox-binder/1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
|
@ -63,8 +63,8 @@ installWaydroid() {
|
|||
|
||||
setupWaydroid() {
|
||||
printf "%b\n" "${YELLOW}Setting up Waydroid...${RC}"
|
||||
"$ESCALATION_TOOL" systemctl enable --now waydroid-container
|
||||
"$ESCALATION_TOOL" waydroid init
|
||||
elevated_execution systemctl enable --now waydroid-container
|
||||
elevated_execution waydroid init
|
||||
printf "%b\n" "${GREEN}Waydroid setup complete.${RC}"
|
||||
}
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ installZsh() {
|
|||
printf "%b\n" "${YELLOW}Installing Zsh...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm zsh
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm zsh
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y zsh
|
||||
elevated_execution "$PACKAGER" install -y zsh
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -44,8 +44,8 @@ RPROMPT='%F{15}(%F{166}%D{%H:%M}%F{15})%f'
|
|||
EOL
|
||||
|
||||
# Ensure /etc/zsh/zshenv sets ZDOTDIR to the user's config directory
|
||||
[ ! -f /etc/zsh/zshenv ] && "$ESCALATION_TOOL" mkdir -p /etc/zsh && "$ESCALATION_TOOL" touch /etc/zsh/zshenv
|
||||
echo "export ZDOTDIR=\"$HOME/.config/zsh\"" | "$ESCALATION_TOOL" tee -a /etc/zsh/zshenv
|
||||
[ ! -f /etc/zsh/zshenv ] && elevated_execution mkdir -p /etc/zsh && elevated_execution touch /etc/zsh/zshenv
|
||||
echo "export ZDOTDIR=\"$HOME/.config/zsh\"" | elevated_execution tee -a /etc/zsh/zshenv
|
||||
}
|
||||
|
||||
checkEnv
|
||||
|
|
|
@ -12,6 +12,14 @@ command_exists() {
|
|||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
elevated_execution() {
|
||||
if [ -z "$ESCALATION_TOOL" ]; then
|
||||
"$@"
|
||||
else
|
||||
"$ESCALATION_TOOL" "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
checkAURHelper() {
|
||||
## Check & Install AUR helper
|
||||
if [ "$PACKAGER" = "pacman" ]; then
|
||||
|
@ -43,7 +51,12 @@ checkAURHelper() {
|
|||
}
|
||||
|
||||
checkEscalationTool() {
|
||||
## Check for escalation tools.
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
printf "%b\n" "${CYAN}Running as root. Skipping escalation tool check.${RC}"
|
||||
ESCALATION_TOOL_CHECKED=true
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ -z "$ESCALATION_TOOL_CHECKED" ]; then
|
||||
ESCALATION_TOOLS='sudo doas'
|
||||
for tool in ${ESCALATION_TOOLS}; do
|
||||
|
|
|
@ -7,10 +7,10 @@ installPkg() {
|
|||
printf "%b\n" "${YELLOW}Installing UFW...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm ufw
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm ufw
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y ufw
|
||||
elevated_execution "$PACKAGER" install -y ufw
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -22,24 +22,24 @@ configureUFW() {
|
|||
printf "%b\n" "${YELLOW}Using Chris Titus Recommended Firewall Rules${RC}"
|
||||
|
||||
printf "%b\n" "${YELLOW}Disabling UFW${RC}"
|
||||
"$ESCALATION_TOOL" ufw disable
|
||||
elevated_execution ufw disable
|
||||
|
||||
printf "%b\n" "${YELLOW}Limiting port 22/tcp (UFW)${RC}"
|
||||
"$ESCALATION_TOOL" ufw limit 22/tcp
|
||||
elevated_execution ufw limit 22/tcp
|
||||
|
||||
printf "%b\n" "${YELLOW}Allowing port 80/tcp (UFW)${RC}"
|
||||
"$ESCALATION_TOOL" ufw allow 80/tcp
|
||||
elevated_execution ufw allow 80/tcp
|
||||
|
||||
printf "%b\n" "${YELLOW}Allowing port 443/tcp (UFW)${RC}"
|
||||
"$ESCALATION_TOOL" ufw allow 443/tcp
|
||||
elevated_execution ufw allow 443/tcp
|
||||
|
||||
printf "%b\n" "${YELLOW}Denying Incoming Packets by Default(UFW)${RC}"
|
||||
"$ESCALATION_TOOL" ufw default deny incoming
|
||||
elevated_execution ufw default deny incoming
|
||||
|
||||
printf "%b\n" "${YELLOW}Allowing Outcoming Packets by Default(UFW)${RC}"
|
||||
"$ESCALATION_TOOL" ufw default allow outgoing
|
||||
elevated_execution ufw default allow outgoing
|
||||
|
||||
"$ESCALATION_TOOL" ufw enable
|
||||
elevated_execution ufw enable
|
||||
printf "%b\n" "${GREEN}Enabled Firewall with Baselines!${RC}"
|
||||
}
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ installDepend() {
|
|||
pacman)
|
||||
if ! command_exists paru; then
|
||||
printf "%b\n" "${YELLOW}Installing paru as AUR helper...${RC}"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm base-devel git
|
||||
cd /opt && "$ESCALATION_TOOL" git clone https://aur.archlinux.org/paru.git && "$ESCALATION_TOOL" chown -R "$USER": ./paru
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm base-devel git
|
||||
cd /opt && elevated_execution git clone https://aur.archlinux.org/paru.git && elevated_execution chown -R "$USER": ./paru
|
||||
cd paru && makepkg --noconfirm -si
|
||||
printf "%b\n" "${GREEN}Paru installed${RC}"
|
||||
else
|
||||
|
|
|
@ -7,8 +7,8 @@ installDepend() {
|
|||
pacman)
|
||||
if ! command_exists yay; then
|
||||
printf "%b\n" "${YELLOW}Installing yay as AUR helper...${RC}"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm base-devel git
|
||||
cd /opt && "$ESCALATION_TOOL" git clone https://aur.archlinux.org/yay-bin.git && "$ESCALATION_TOOL" chown -R "$USER": ./yay-bin
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm base-devel git
|
||||
cd /opt && elevated_execution git clone https://aur.archlinux.org/yay-bin.git && elevated_execution chown -R "$USER": ./yay-bin
|
||||
cd yay-bin && makepkg --noconfirm -si
|
||||
printf "%b\n" "${GREEN}Yay installed${RC}"
|
||||
else
|
||||
|
|
|
@ -9,9 +9,9 @@ installDepend() {
|
|||
case "$PACKAGER" in
|
||||
pacman)
|
||||
if ! grep -q "^\s*\[multilib\]" /etc/pacman.conf; then
|
||||
echo "[multilib]" | "$ESCALATION_TOOL" tee -a /etc/pacman.conf
|
||||
echo "Include = /etc/pacman.d/mirrorlist" | "$ESCALATION_TOOL" tee -a /etc/pacman.conf
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -Syu
|
||||
echo "[multilib]" | elevated_execution tee -a /etc/pacman.conf
|
||||
echo "Include = /etc/pacman.d/mirrorlist" | elevated_execution tee -a /etc/pacman.conf
|
||||
elevated_execution "$PACKAGER" -Syu
|
||||
else
|
||||
printf "%b\n" "${GREEN}Multilib is already enabled.${RC}"
|
||||
fi
|
||||
|
@ -19,26 +19,26 @@ installDepend() {
|
|||
;;
|
||||
apt-get|nala)
|
||||
COMPILEDEPS='build-essential'
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" dpkg --add-architecture i386
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES $COMPILEDEPS
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution dpkg --add-architecture i386
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y $DEPENDENCIES $COMPILEDEPS
|
||||
;;
|
||||
dnf)
|
||||
COMPILEDEPS='@development-tools'
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" config-manager --set-enabled powertools
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES $COMPILEDEPS
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y glibc-devel.i686 libgcc.i686
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" config-manager --set-enabled powertools
|
||||
elevated_execution "$PACKAGER" install -y $DEPENDENCIES $COMPILEDEPS
|
||||
elevated_execution "$PACKAGER" install -y glibc-devel.i686 libgcc.i686
|
||||
;;
|
||||
zypper)
|
||||
COMPILEDEPS='patterns-devel-base-devel_basis'
|
||||
"$ESCALATION_TOOL" "$PACKAGER" refresh
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install $DEPENDENCIES $COMPILEDEPS
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install libgcc_s1-gcc7-32bit glibc-devel-32bit
|
||||
elevated_execution "$PACKAGER" refresh
|
||||
elevated_execution "$PACKAGER" --non-interactive install $DEPENDENCIES $COMPILEDEPS
|
||||
elevated_execution "$PACKAGER" --non-interactive install libgcc_s1-gcc7-32bit glibc-devel-32bit
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES
|
||||
elevated_execution "$PACKAGER" install -y $DEPENDENCIES
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
|
|
@ -6,10 +6,10 @@ configureDNF() {
|
|||
case "$PACKAGER" in
|
||||
dnf)
|
||||
printf "%b\n" "${YELLOW}Configuring DNF...${RC}"
|
||||
"$ESCALATION_TOOL" sed -i '/^max_parallel_downloads=/c\max_parallel_downloads=10' /etc/dnf/dnf.conf || echo 'max_parallel_downloads=10' >> /etc/dnf/dnf.conf
|
||||
echo "fastestmirror=True" | "$ESCALATION_TOOL" tee -a /etc/dnf/dnf.conf > /dev/null
|
||||
echo "defaultyes=True" | "$ESCALATION_TOOL" tee -a /etc/dnf/dnf.conf > /dev/null
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -y install dnf-plugins-core
|
||||
elevated_execution sed -i '/^max_parallel_downloads=/c\max_parallel_downloads=10' /etc/dnf/dnf.conf || echo 'max_parallel_downloads=10' >> /etc/dnf/dnf.conf
|
||||
echo "fastestmirror=True" | elevated_execution tee -a /etc/dnf/dnf.conf > /dev/null
|
||||
echo "defaultyes=True" | elevated_execution tee -a /etc/dnf/dnf.conf > /dev/null
|
||||
elevated_execution "$PACKAGER" -y install dnf-plugins-core
|
||||
printf "%b\n" "${GREEN}DNF Configured Successfully.${RC}"
|
||||
;;
|
||||
*)
|
||||
|
|
|
@ -7,9 +7,9 @@ multimedia() {
|
|||
dnf)
|
||||
if [ -e /etc/yum.repos.d/rpmfusion-free.repo ] && [ -e /etc/yum.repos.d/rpmfusion-nonfree.repo ]; then
|
||||
printf "%b\n" "${YELLOW}Installing Multimedia Codecs...${RC}"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" swap ffmpeg-free ffmpeg --allowerasing -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update @sound-and-video -y
|
||||
elevated_execution "$PACKAGER" swap ffmpeg-free ffmpeg --allowerasing -y
|
||||
elevated_execution "$PACKAGER" update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin -y
|
||||
elevated_execution "$PACKAGER" update @sound-and-video -y
|
||||
printf "%b\n" "${GREEN}Multimedia Codecs Installed...${RC}"
|
||||
else
|
||||
printf "%b\n" "${RED}RPM Fusion repositories not found. Please set up RPM Fusion first!${RC}"
|
||||
|
|
|
@ -18,10 +18,10 @@ checkRepo() {
|
|||
printf "%b\n" "${YELLOW}Nvidia non-free repository is not enabled. Enabling now...${RC}"
|
||||
|
||||
# Enable the repository
|
||||
"$ESCALATION_TOOL" dnf config-manager --set-enabled "$REPO_ID"
|
||||
elevated_execution dnf config-manager --set-enabled "$REPO_ID"
|
||||
|
||||
# Refreshing repository list
|
||||
"$ESCALATION_TOOL" dnf makecache
|
||||
elevated_execution dnf makecache
|
||||
|
||||
# Verify if the repository is enabled
|
||||
if [ "$(dnf repolist enabled 2>/dev/null | grep -c "$REPO_ID")" -gt 0 ]; then
|
||||
|
@ -49,7 +49,7 @@ installDriver() {
|
|||
fi
|
||||
|
||||
# NOTE:: Installing graphics driver.
|
||||
"$ESCALATION_TOOL" dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda -y
|
||||
elevated_execution 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
|
||||
|
|
|
@ -9,10 +9,10 @@ installRPMFusion() {
|
|||
dnf)
|
||||
if [ ! -e /etc/yum.repos.d/rpmfusion-free.repo ] || [ ! -e /etc/yum.repos.d/rpmfusion-nonfree.repo ]; then
|
||||
printf "%b\n" "${YELLOW}Installing RPM Fusion...${RC}"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install "https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora)".noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-"$(rpm -E %fedora)".noarch.rpm
|
||||
"$ESCALATION_TOOL" "$PACKAGER" config-manager --enable fedora-cisco-openh264
|
||||
"$ESCALATION_TOOL" "$PACKAGER" config-manager --set-enabled rpmfusion-nonfree-updates
|
||||
"$ESCALATION_TOOL" "$PACKAGER" config-manager --set-enabled rpmfusion-free-updates
|
||||
elevated_execution "$PACKAGER" install "https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora)".noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-"$(rpm -E %fedora)".noarch.rpm
|
||||
elevated_execution "$PACKAGER" config-manager --enable fedora-cisco-openh264
|
||||
elevated_execution "$PACKAGER" config-manager --set-enabled rpmfusion-nonfree-updates
|
||||
elevated_execution "$PACKAGER" config-manager --set-enabled rpmfusion-free-updates
|
||||
printf "%b\n" "${GREEN}RPM Fusion installed and enabled${RC}"
|
||||
else
|
||||
printf "%b\n" "${GREEN}RPM Fusion already installed${RC}"
|
||||
|
|
|
@ -7,7 +7,7 @@ configureVirtualization() {
|
|||
case "$PACKAGER" in
|
||||
dnf)
|
||||
printf "%b\n" "${YELLOW}Installing virtualization tools...${RC}"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y @virtualization
|
||||
elevated_execution "$PACKAGER" install -y @virtualization
|
||||
printf "%b\n" "${GREEN}Installed virtualization tools...${RC}"
|
||||
;;
|
||||
*)
|
||||
|
|
|
@ -10,9 +10,9 @@ installDepend() {
|
|||
pacman)
|
||||
#Check for multilib
|
||||
if ! grep -q "^\s*\[multilib\]" /etc/pacman.conf; then
|
||||
echo "[multilib]" | "$ESCALATION_TOOL" tee -a /etc/pacman.conf
|
||||
echo "Include = /etc/pacman.d/mirrorlist" | "$ESCALATION_TOOL" tee -a /etc/pacman.conf
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -Syu
|
||||
echo "[multilib]" | elevated_execution tee -a /etc/pacman.conf
|
||||
echo "Include = /etc/pacman.d/mirrorlist" | elevated_execution tee -a /etc/pacman.conf
|
||||
elevated_execution "$PACKAGER" -Syu
|
||||
else
|
||||
printf "%b\n" "${GREEN}Multilib is already enabled.${RC}"
|
||||
fi
|
||||
|
@ -28,29 +28,29 @@ installDepend() {
|
|||
apt-get|nala)
|
||||
DISTRO_DEPS="libasound2 libsdl2 wine64 wine32"
|
||||
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" dpkg --add-architecture i386
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y software-properties-common
|
||||
"$ESCALATION_TOOL" apt-add-repository contrib -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES $DISTRO_DEPS
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution dpkg --add-architecture i386
|
||||
elevated_execution "$PACKAGER" install -y software-properties-common
|
||||
elevated_execution apt-add-repository contrib -y
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" install -y $DEPENDENCIES $DISTRO_DEPS
|
||||
;;
|
||||
dnf)
|
||||
if [ "$(rpm -E %fedora)" -le 41 ]; then
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install ffmpeg ffmpeg-libs -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES
|
||||
elevated_execution "$PACKAGER" install ffmpeg ffmpeg-libs -y
|
||||
elevated_execution "$PACKAGER" install -y $DEPENDENCIES
|
||||
else
|
||||
printf "%b\n" "${CYAN}Fedora < 41 detected. Installing rpmfusion repos.${RC}"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-"$(rpm -E %fedora)".noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-"$(rpm -E %fedora)".noarch.rpm -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" config-manager --enable fedora-cisco-openh264 -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES
|
||||
elevated_execution "$PACKAGER" install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-"$(rpm -E %fedora)".noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-"$(rpm -E %fedora)".noarch.rpm -y
|
||||
elevated_execution "$PACKAGER" config-manager --enable fedora-cisco-openh264 -y
|
||||
elevated_execution "$PACKAGER" install -y $DEPENDENCIES
|
||||
fi
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -n install $DEPENDENCIES
|
||||
elevated_execution "$PACKAGER" -n install $DEPENDENCIES
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES
|
||||
elevated_execution "$PACKAGER" install -y $DEPENDENCIES
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ installAdditionalDepend() {
|
|||
case "$PACKAGER" in
|
||||
pacman)
|
||||
DISTRO_DEPS='steam lutris goverlay'
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm $DISTRO_DEPS
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm $DISTRO_DEPS
|
||||
;;
|
||||
apt-get|nala)
|
||||
version=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' https://github.com/lutris/lutris |
|
||||
|
@ -71,7 +71,7 @@ installAdditionalDepend() {
|
|||
curl -sSLo "lutris_${version_no_v}_all.deb" "https://github.com/lutris/lutris/releases/download/${version}/lutris_${version_no_v}_all.deb"
|
||||
|
||||
printf "%b\n" "${YELLOW}Installing Lutris...${RC}"
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install ./lutris_"${version_no_v}"_all.deb
|
||||
elevated_execution "$PACKAGER" install ./lutris_"${version_no_v}"_all.deb
|
||||
|
||||
rm lutris_"${version_no_v}"_all.deb
|
||||
|
||||
|
@ -79,20 +79,20 @@ installAdditionalDepend() {
|
|||
printf "%b\n" "${YELLOW}Installing steam...${RC}"
|
||||
|
||||
if lsb_release -i | grep -qi Debian; then
|
||||
"$ESCALATION_TOOL" apt-add-repository non-free -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install steam-installer -y
|
||||
elevated_execution apt-add-repository non-free -y
|
||||
elevated_execution "$PACKAGER" install steam-installer -y
|
||||
else
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y steam
|
||||
elevated_execution "$PACKAGER" install -y steam
|
||||
fi
|
||||
;;
|
||||
dnf)
|
||||
DISTRO_DEPS='steam lutris'
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DISTRO_DEPS
|
||||
elevated_execution "$PACKAGER" install -y $DISTRO_DEPS
|
||||
;;
|
||||
zypper)
|
||||
# Flatpak
|
||||
DISTRO_DEPS='lutris'
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -n install $DISTRO_DEPS
|
||||
elevated_execution "$PACKAGER" -n install $DISTRO_DEPS
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
|
|
|
@ -6,16 +6,16 @@ install_theme_tools() {
|
|||
printf "%b\n" "${YELLOW}Installing theme tools (qt6ct and kvantum)...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y qt6ct kvantum
|
||||
elevated_execution "$PACKAGER" install -y qt6ct kvantum
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install qt6ct kvantum
|
||||
elevated_execution "$PACKAGER" --non-interactive install qt6ct kvantum
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y qt6ct kvantum
|
||||
elevated_execution "$PACKAGER" install -y qt6ct kvantum
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm qt6ct kvantum
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm qt6ct kvantum
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
@ -58,7 +58,7 @@ EOF
|
|||
# Add QT_QPA_PLATFORMTHEME to /etc/environment
|
||||
if ! grep -q "QT_QPA_PLATFORMTHEME=qt6ct" /etc/environment; then
|
||||
printf "%b\n" "${YELLOW}Adding QT_QPA_PLATFORMTHEME to /etc/environment...${RC}"
|
||||
echo "QT_QPA_PLATFORMTHEME=qt6ct" | "$ESCALATION_TOOL" tee -a /etc/environment > /dev/null
|
||||
echo "QT_QPA_PLATFORMTHEME=qt6ct" | elevated_execution tee -a /etc/environment > /dev/null
|
||||
printf "%b\n" "${GREEN}QT_QPA_PLATFORMTHEME added to /etc/environment.${RC}"
|
||||
else
|
||||
printf "%b\n" "${GREEN}QT_QPA_PLATFORMTHEME already set in /etc/environment.${RC}"
|
||||
|
|
|
@ -6,16 +6,16 @@ removeSnaps() {
|
|||
if command_exists snap; then
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -Rns snapd
|
||||
elevated_execution "$PACKAGER" -Rns snapd
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" autoremove --purge snapd
|
||||
elevated_execution "$PACKAGER" autoremove --purge snapd
|
||||
if [ "$ID" = ubuntu ]; then
|
||||
"$ESCALATION_TOOL" apt-mark hold snapd
|
||||
elevated_execution apt-mark hold snapd
|
||||
fi
|
||||
;;
|
||||
dnf|zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" remove snapd
|
||||
elevated_execution "$PACKAGER" remove snapd
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -6,24 +6,24 @@ cleanup_system() {
|
|||
printf "%b\n" "${YELLOW}Performing system cleanup...${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" clean
|
||||
"$ESCALATION_TOOL" "$PACKAGER" autoremove -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" autoclean
|
||||
"$ESCALATION_TOOL" du -h /var/cache/apt
|
||||
"$ESCALATION_TOOL" "$PACKAGER" clean
|
||||
elevated_execution "$PACKAGER" clean
|
||||
elevated_execution "$PACKAGER" autoremove -y
|
||||
elevated_execution "$PACKAGER" autoclean
|
||||
elevated_execution du -h /var/cache/apt
|
||||
elevated_execution "$PACKAGER" clean
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" clean -a
|
||||
"$ESCALATION_TOOL" "$PACKAGER" tidy
|
||||
"$ESCALATION_TOOL" "$PACKAGER" cc -a
|
||||
elevated_execution "$PACKAGER" clean -a
|
||||
elevated_execution "$PACKAGER" tidy
|
||||
elevated_execution "$PACKAGER" cc -a
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" clean all
|
||||
"$ESCALATION_TOOL" "$PACKAGER" autoremove -y
|
||||
elevated_execution "$PACKAGER" clean all
|
||||
elevated_execution "$PACKAGER" autoremove -y
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -Sc --noconfirm
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -Rns $(pacman -Qtdq) --noconfirm > /dev/null 2>&1
|
||||
elevated_execution "$PACKAGER" -Sc --noconfirm
|
||||
elevated_execution "$PACKAGER" -Rns $(pacman -Qtdq) --noconfirm > /dev/null 2>&1
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ${PACKAGER}. Skipping.${RC}"
|
||||
|
@ -33,15 +33,15 @@ cleanup_system() {
|
|||
|
||||
common_cleanup() {
|
||||
if [ -d /var/tmp ]; then
|
||||
"$ESCALATION_TOOL" find /var/tmp -type f -atime +5 -delete
|
||||
elevated_execution find /var/tmp -type f -atime +5 -delete
|
||||
fi
|
||||
if [ -d /tmp ]; then
|
||||
"$ESCALATION_TOOL" find /tmp -type f -atime +5 -delete
|
||||
elevated_execution find /tmp -type f -atime +5 -delete
|
||||
fi
|
||||
if [ -d /var/log ]; then
|
||||
"$ESCALATION_TOOL" find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
|
||||
elevated_execution find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
|
||||
fi
|
||||
"$ESCALATION_TOOL" journalctl --vacuum-time=3d
|
||||
elevated_execution journalctl --vacuum-time=3d
|
||||
}
|
||||
|
||||
clean_data() {
|
||||
|
|
|
@ -11,7 +11,7 @@ fastUpdate() {
|
|||
printf "%b\n" "${YELLOW}Generating a new list of mirrors using rate-mirrors. This process may take a few seconds...${RC}"
|
||||
|
||||
if [ -s /etc/pacman.d/mirrorlist ]; then
|
||||
"$ESCALATION_TOOL" cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
|
||||
elevated_execution cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
|
||||
fi
|
||||
|
||||
# If for some reason DTYPE is still unknown use always arch so the rate-mirrors does not fail
|
||||
|
@ -20,33 +20,33 @@ fastUpdate() {
|
|||
dtype_local="arch"
|
||||
fi
|
||||
|
||||
"$ESCALATION_TOOL" rate-mirrors --top-mirrors-number-to-retest=5 --disable-comments --save /etc/pacman.d/mirrorlist --allow-root ${dtype_local}
|
||||
elevated_execution rate-mirrors --top-mirrors-number-to-retest=5 --disable-comments --save /etc/pacman.d/mirrorlist --allow-root ${dtype_local}
|
||||
if [ $? -ne 0 ] || [ ! -s /etc/pacman.d/mirrorlist ]; then
|
||||
printf "%b\n" "${RED}Rate-mirrors failed, restoring backup.${RC}"
|
||||
"$ESCALATION_TOOL" cp /etc/pacman.d/mirrorlist.bak /etc/pacman.d/mirrorlist
|
||||
elevated_execution cp /etc/pacman.d/mirrorlist.bak /etc/pacman.d/mirrorlist
|
||||
fi
|
||||
;;
|
||||
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" apt-get update
|
||||
elevated_execution apt-get update
|
||||
if ! command_exists nala; then
|
||||
"$ESCALATION_TOOL" apt-get install -y nala || { printf "%b\n" "${YELLOW}Falling back to apt-get${RC}"; PACKAGER="apt-get"; }
|
||||
elevated_execution apt-get install -y nala || { printf "%b\n" "${YELLOW}Falling back to apt-get${RC}"; PACKAGER="apt-get"; }
|
||||
fi
|
||||
|
||||
if [ "$PACKAGER" = "nala" ]; then
|
||||
"$ESCALATION_TOOL" cp /etc/apt/sources.list /etc/apt/sources.list.bak
|
||||
"$ESCALATION_TOOL" nala update
|
||||
elevated_execution cp /etc/apt/sources.list /etc/apt/sources.list.bak
|
||||
elevated_execution nala update
|
||||
PACKAGER="nala"
|
||||
fi
|
||||
|
||||
"$ESCALATION_TOOL" "$PACKAGER" upgrade -y
|
||||
elevated_execution "$PACKAGER" upgrade -y
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update -y
|
||||
elevated_execution "$PACKAGER" update -y
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" ref
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive dup
|
||||
elevated_execution "$PACKAGER" ref
|
||||
elevated_execution "$PACKAGER" --non-interactive dup
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: "$PACKAGER"${RC}"
|
||||
|
@ -59,20 +59,20 @@ updateSystem() {
|
|||
printf "%b\n" "${GREEN}Updating system${RC}"
|
||||
case "$PACKAGER" in
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||
"$ESCALATION_TOOL" "$PACKAGER" upgrade -y
|
||||
elevated_execution "$PACKAGER" update
|
||||
elevated_execution "$PACKAGER" upgrade -y
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" update -y
|
||||
"$ESCALATION_TOOL" "$PACKAGER" upgrade -y
|
||||
elevated_execution "$PACKAGER" update -y
|
||||
elevated_execution "$PACKAGER" upgrade -y
|
||||
;;
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -Sy --noconfirm --needed archlinux-keyring
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -Su --noconfirm
|
||||
elevated_execution "$PACKAGER" -Sy --noconfirm --needed archlinux-keyring
|
||||
elevated_execution "$PACKAGER" -Su --noconfirm
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" ref
|
||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive dup
|
||||
elevated_execution "$PACKAGER" ref
|
||||
elevated_execution "$PACKAGER" --non-interactive dup
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: "$PACKAGER"${RC}"
|
||||
|
|
|
@ -8,13 +8,13 @@ InstallTermiusFonts() {
|
|||
printf "%b\n" "${YELLOW}Installing Terminus Fonts...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm terminus-font
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm terminus-font
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y fonts-terminus
|
||||
elevated_execution "$PACKAGER" install -y fonts-terminus
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y terminus-fonts-console
|
||||
elevated_execution "$PACKAGER" install -y terminus-fonts-console
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
@ -30,31 +30,31 @@ SetTermiusFonts() {
|
|||
case "$DTYPE" in
|
||||
arch)
|
||||
printf "%b\n" "${YELLOW}Updating FONT= line in /etc/vconsole.conf...${RC}"
|
||||
"$ESCALATION_TOOL" sed -i 's/^FONT=.*/FONT=ter-v32b/' /etc/vconsole.conf
|
||||
elevated_execution sed -i 's/^FONT=.*/FONT=ter-v32b/' /etc/vconsole.conf
|
||||
if [ -z "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ]; then
|
||||
"$ESCALATION_TOOL" setfont -C /dev/tty1 ter-v32b
|
||||
elevated_execution setfont -C /dev/tty1 ter-v32b
|
||||
fi
|
||||
printf "%b\n" "${GREEN}Terminus font set for TTY.${RC}"
|
||||
;;
|
||||
debian)
|
||||
|
||||
printf "%b\n" "${YELLOW}Updating console-setup configuration...${RC}"
|
||||
"$ESCALATION_TOOL" sed -i 's/^CODESET=.*/CODESET="guess"/' /etc/default/console-setup
|
||||
"$ESCALATION_TOOL" sed -i 's/^FONTFACE=.*/FONTFACE="TerminusBold"/' /etc/default/console-setup
|
||||
"$ESCALATION_TOOL" sed -i 's/^FONTSIZE=.*/FONTSIZE="16x32"/' /etc/default/console-setup
|
||||
elevated_execution sed -i 's/^CODESET=.*/CODESET="guess"/' /etc/default/console-setup
|
||||
elevated_execution sed -i 's/^FONTFACE=.*/FONTFACE="TerminusBold"/' /etc/default/console-setup
|
||||
elevated_execution sed -i 's/^FONTSIZE=.*/FONTSIZE="16x32"/' /etc/default/console-setup
|
||||
printf "%b\n" "${GREEN}Console-setup configuration updated for Terminus font.${RC}"
|
||||
# Editing console-setup requires initramfs to be regenerated
|
||||
"$ESCALATION_TOOL" update-initramfs -u
|
||||
elevated_execution update-initramfs -u
|
||||
if [ -z "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ]; then
|
||||
"$ESCALATION_TOOL" setfont -C /dev/tty1 /usr/share/consolefonts/Uni3-TerminusBold32x16.psf.gz
|
||||
elevated_execution setfont -C /dev/tty1 /usr/share/consolefonts/Uni3-TerminusBold32x16.psf.gz
|
||||
fi
|
||||
printf "%b\n" "${GREEN}Terminus font has been set for TTY.${RC}"
|
||||
;;
|
||||
fedora)
|
||||
printf "%b\n" "${YELLOW}Updating FONT= line in /etc/vconsole.conf...${RC}"
|
||||
"$ESCALATION_TOOL" sed -i 's/^FONT=.*/FONT=ter-v32b/' /etc/vconsole.conf
|
||||
elevated_execution sed -i 's/^FONT=.*/FONT=ter-v32b/' /etc/vconsole.conf
|
||||
if [ -z "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ]; then
|
||||
"$ESCALATION_TOOL" setfont -C /dev/tty1 ter-v32b
|
||||
elevated_execution setfont -C /dev/tty1 ter-v32b
|
||||
fi
|
||||
printf "%b\n" "${GREEN}Terminus font has been set for TTY.${RC}"
|
||||
;;
|
||||
|
|
|
@ -43,9 +43,9 @@ configure_lightdm() {
|
|||
printf "%b" "Enter username for LightDM autologin: "
|
||||
read -r user
|
||||
|
||||
printf "%b\n" '[Seat:*]' | "$ESCALATION_TOOL" tee -a /etc/lightdm/lightdm.conf
|
||||
printf "%s\n" "autologin-user=$user" | "$ESCALATION_TOOL" tee -a /etc/lightdm/lightdm.conf
|
||||
printf "%b\n" 'autologin-user-timeout=0' | "$ESCALATION_TOOL" tee -a /etc/lightdm/lightdm.conf
|
||||
printf "%b\n" '[Seat:*]' | elevated_execution tee -a /etc/lightdm/lightdm.conf
|
||||
printf "%s\n" "autologin-user=$user" | elevated_execution tee -a /etc/lightdm/lightdm.conf
|
||||
printf "%b\n" 'autologin-user-timeout=0' | elevated_execution tee -a /etc/lightdm/lightdm.conf
|
||||
|
||||
printf "%b\n" "LightDM has been configured for autologin."
|
||||
}
|
||||
|
@ -53,8 +53,8 @@ configure_lightdm() {
|
|||
# Function to remove LightDM autologin
|
||||
remove_lightdm_autologin() {
|
||||
printf "%b\n" "Removing LightDM autologin configuration..."
|
||||
"$ESCALATION_TOOL" sed -i'' '/^\[Seat:\*]/d' /etc/lightdm/lightdm.conf
|
||||
"$ESCALATION_TOOL" sed -i'' '/^autologin-/d' /etc/lightdm/lightdm.conf
|
||||
elevated_execution sed -i'' '/^\[Seat:\*]/d' /etc/lightdm/lightdm.conf
|
||||
elevated_execution sed -i'' '/^autologin-/d' /etc/lightdm/lightdm.conf
|
||||
printf "%b\n" "LightDM autologin configuration has been removed."
|
||||
}
|
||||
|
||||
|
@ -64,9 +64,9 @@ configure_gdm() {
|
|||
printf "%b" "Enter username for GDM autologin: "
|
||||
read -r user
|
||||
|
||||
printf "%b\n" '[daemon]' | "$ESCALATION_TOOL" tee -a /etc/gdm/custom.conf
|
||||
printf "%b\n" 'AutomaticLoginEnable = true' | "$ESCALATION_TOOL" tee -a /etc/gdm/custom.conf
|
||||
printf "%s\n" "AutomaticLogin = $user" | "$ESCALATION_TOOL" tee -a /etc/gdm/custom.conf
|
||||
printf "%b\n" '[daemon]' | elevated_execution tee -a /etc/gdm/custom.conf
|
||||
printf "%b\n" 'AutomaticLoginEnable = true' | elevated_execution tee -a /etc/gdm/custom.conf
|
||||
printf "%s\n" "AutomaticLogin = $user" | elevated_execution tee -a /etc/gdm/custom.conf
|
||||
|
||||
printf "%b\n" "GDM has been configured for autologin."
|
||||
}
|
||||
|
@ -74,8 +74,8 @@ configure_gdm() {
|
|||
# Function to remove GDM autologin
|
||||
remove_gdm_autologin() {
|
||||
printf "%b\n" "Removing GDM autologin configuration..."
|
||||
"$ESCALATION_TOOL" sed -i'' '/AutomaticLoginEnable/d' /etc/gdm/custom.conf
|
||||
"$ESCALATION_TOOL" sed -i'' '/AutomaticLogin/d' /etc/gdm/custom.conf
|
||||
elevated_execution sed -i'' '/AutomaticLoginEnable/d' /etc/gdm/custom.conf
|
||||
elevated_execution sed -i'' '/AutomaticLogin/d' /etc/gdm/custom.conf
|
||||
printf "%b\n" "GDM autologin configuration has been removed."
|
||||
}
|
||||
|
||||
|
@ -86,9 +86,9 @@ configure_sddm() {
|
|||
read -r user
|
||||
list_sessions # Show session options
|
||||
|
||||
printf "%b\n" '[Autologin]' | "$ESCALATION_TOOL" tee -a /etc/sddm.conf
|
||||
printf "%s\n" "User=$user" | "$ESCALATION_TOOL" tee -a /etc/sddm.conf
|
||||
printf "%s\n" "Session=$session" | "$ESCALATION_TOOL" tee -a /etc/sddm.conf
|
||||
printf "%b\n" '[Autologin]' | elevated_execution tee -a /etc/sddm.conf
|
||||
printf "%s\n" "User=$user" | elevated_execution tee -a /etc/sddm.conf
|
||||
printf "%s\n" "Session=$session" | elevated_execution tee -a /etc/sddm.conf
|
||||
|
||||
printf "%b\n" "SDDM has been configured for autologin."
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ configure_sddm() {
|
|||
# Function to remove SDDM autologin
|
||||
remove_sddm_autologin() {
|
||||
printf "%b\n" "Removing SDDM autologin configuration..."
|
||||
"$ESCALATION_TOOL" sed -i'' '/\[Autologin\]/,+2d' /etc/sddm.conf
|
||||
elevated_execution sed -i'' '/\[Autologin\]/,+2d' /etc/sddm.conf
|
||||
printf "%b\n" "SDDM autologin configuration has been removed."
|
||||
}
|
||||
|
||||
|
@ -107,8 +107,8 @@ configure_lxdm() {
|
|||
read -r user
|
||||
list_sessions # Show session options
|
||||
|
||||
"$ESCALATION_TOOL" sed -i'' "s/^#.*autologin=.*$/autologin=${user}/" /etc/lxdm/lxdm.conf
|
||||
"$ESCALATION_TOOL" sed -i'' "s|^#.*session=.*$|session=/usr/bin/${session}|; s|^session=.*$|session=/usr/bin/${session}|" /etc/lxdm/lxdm.conf
|
||||
elevated_execution sed -i'' "s/^#.*autologin=.*$/autologin=${user}/" /etc/lxdm/lxdm.conf
|
||||
elevated_execution sed -i'' "s|^#.*session=.*$|session=/usr/bin/${session}|; s|^session=.*$|session=/usr/bin/${session}|" /etc/lxdm/lxdm.conf
|
||||
|
||||
printf "%b\n" "LXDM has been configured for autologin."
|
||||
}
|
||||
|
@ -116,8 +116,8 @@ configure_lxdm() {
|
|||
# Function to remove LXDM autologin
|
||||
remove_lxdm_autologin() {
|
||||
printf "%b\n" "Removing LXDM autologin configuration..."
|
||||
"$ESCALATION_TOOL" sed -i'' "s/^autologin=.*$/#autologin=/" /etc/lxdm/lxdm.conf
|
||||
"$ESCALATION_TOOL" sed -i'' "s/^session=.*$/#session=/" /etc/lxdm/lxdm.conf
|
||||
elevated_execution sed -i'' "s/^autologin=.*$/#autologin=/" /etc/lxdm/lxdm.conf
|
||||
elevated_execution sed -i'' "s/^session=.*$/#session=/" /etc/lxdm/lxdm.conf
|
||||
printf "%b\n" "LXDM autologin configuration has been removed."
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ select_drive() {
|
|||
|
||||
# Function to get UUID and FSTYPE of the selected drive
|
||||
get_uuid_fstype() {
|
||||
UUID=$("$ESCALATION_TOOL" blkid -s UUID -o value "${partition}")
|
||||
UUID=$(elevated_execution blkid -s UUID -o value "${partition}")
|
||||
FSTYPE=$(lsblk -no FSTYPE "${partition}")
|
||||
NAME=$(lsblk -no NAME "${partition}")
|
||||
|
||||
|
@ -42,7 +42,7 @@ create_mount_point() {
|
|||
read -r mount_point
|
||||
if [ ! -d "$mount_point" ]; then
|
||||
printf "%b\n" "${YELLOW}Mount point doesn't exist. Creating it..${RC}."
|
||||
"$ESCALATION_TOOL" mkdir -p "$mount_point"
|
||||
elevated_execution mkdir -p "$mount_point"
|
||||
else
|
||||
printf "%b\n" "${RED}Mount point already exists.${RC}"
|
||||
fi
|
||||
|
@ -51,16 +51,16 @@ create_mount_point() {
|
|||
# Function to update /etc/fstab with a comment on the first line and the actual entry on the second line
|
||||
update_fstab() {
|
||||
printf "%b\n" "${YELLOW}Adding entry to /etc/fstab...${RC}"
|
||||
"$ESCALATION_TOOL" cp /etc/fstab /etc/fstab.bak # Backup fstab
|
||||
elevated_execution cp /etc/fstab /etc/fstab.bak # Backup fstab
|
||||
|
||||
# Prepare the comment and the fstab entry
|
||||
comment="# Mount for /dev/$NAME"
|
||||
fstab_entry="UUID=$UUID $mount_point $FSTYPE defaults 0 2"
|
||||
|
||||
# Append the comment and the entry to /etc/fstab
|
||||
printf "%b\n" "$comment" | "$ESCALATION_TOOL" tee -a /etc/fstab > /dev/null
|
||||
printf "%b\n" "$fstab_entry" | "$ESCALATION_TOOL" tee -a /etc/fstab > /dev/null
|
||||
printf "%b\n" "" | "$ESCALATION_TOOL" tee -a /etc/fstab > /dev/null
|
||||
printf "%b\n" "$comment" | elevated_execution tee -a /etc/fstab > /dev/null
|
||||
printf "%b\n" "$fstab_entry" | elevated_execution tee -a /etc/fstab > /dev/null
|
||||
printf "%b\n" "" | elevated_execution tee -a /etc/fstab > /dev/null
|
||||
|
||||
printf "%b\n" "Entry added to /etc/fstab:"
|
||||
printf "%b\n" "$comment"
|
||||
|
@ -71,7 +71,7 @@ update_fstab() {
|
|||
# Function to mount the drive
|
||||
mount_drive() {
|
||||
printf "%b\n" "Mounting the drive..."
|
||||
"$ESCALATION_TOOL" mount -a
|
||||
elevated_execution mount -a
|
||||
if mount | grep "$mount_point" > /dev/null; then
|
||||
printf "%b\n" "${GREEN}Drive mounted successfully at $mount_point${RC}."
|
||||
else
|
||||
|
|
|
@ -8,10 +8,10 @@ setupBluetooth() {
|
|||
if ! command_exists bluetoothctl; then
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm bluez-utils
|
||||
elevated_execution "$PACKAGER" -S --noconfirm bluez-utils
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y bluez
|
||||
elevated_execution "$PACKAGER" install -y bluez
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -21,7 +21,7 @@ setupBluetooth() {
|
|||
# Check if bluetooth service is running
|
||||
if ! systemctl is-active --quiet bluetooth; then
|
||||
printf "%b\n" "${YELLOW}Bluetooth service is not running. Starting it now...${RC}"
|
||||
"$ESCALATION_TOOL" systemctl start bluetooth
|
||||
elevated_execution systemctl start bluetooth
|
||||
|
||||
if systemctl is-active --quiet bluetooth; then
|
||||
printf "%b\n" "${GREEN}Bluetooth service started successfully.${RC}"
|
||||
|
|
|
@ -13,7 +13,7 @@ usage() {
|
|||
list_devices() {
|
||||
printf "%b\n" "${YELLOW} Available devices and partitions: ${RC}"
|
||||
printf "\n"
|
||||
"$ESCALATION_TOOL" lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
|
||||
elevated_execution lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
|
||||
printf "\n"
|
||||
}
|
||||
|
||||
|
@ -164,13 +164,13 @@ write_iso(){
|
|||
|
||||
# Display progress and create the bootable USB drive
|
||||
printf "%b\n" "${YELLOW}Creating bootable USB drive...${RC}"
|
||||
if ! "$ESCALATION_TOOL" dd if="$ISO_PATH" of="$USB_DEVICE" bs=4M status=progress oflag=sync; then
|
||||
if ! elevated_execution dd if="$ISO_PATH" of="$USB_DEVICE" bs=4M status=progress oflag=sync; then
|
||||
printf "%b\n" "${RED}Failed to create bootable USB drive${RC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Sync to ensure all data is written
|
||||
if ! "$ESCALATION_TOOL" sync; then
|
||||
if ! elevated_execution sync; then
|
||||
printf "%b\n" "${RED}Failed to sync data${RC}"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -179,10 +179,10 @@ write_iso(){
|
|||
|
||||
# Eject the USB device
|
||||
printf "%b\n" "${YELLOW}Ejecting ${USB_DEVICE}...${RC}"
|
||||
if ! "$ESCALATION_TOOL" umount "${USB_DEVICE}"* 2>/dev/null; then
|
||||
if ! elevated_execution umount "${USB_DEVICE}"* 2>/dev/null; then
|
||||
printf "%b\n" "${RED}Failed to unmount ${USB_DEVICE}${RC}"
|
||||
fi
|
||||
if ! "$ESCALATION_TOOL" eject "$USB_DEVICE"; then
|
||||
if ! elevated_execution eject "$USB_DEVICE"; then
|
||||
printf "%b\n" "${RED}Failed to eject ${USB_DEVICE}${RC}"
|
||||
fi
|
||||
|
||||
|
|
|
@ -8,16 +8,16 @@ printf "%b\n" "${YELLOW}Ensuring OpenSSL is installed...${RC}"
|
|||
if ! command_exists openssl; then
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -Syu --noconfirm openssl
|
||||
elevated_execution "$PACKAGER" -Syu --noconfirm openssl
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y openssl
|
||||
elevated_execution "$PACKAGER" install -y openssl
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y openssl
|
||||
elevated_execution "$PACKAGER" install -y openssl
|
||||
;;
|
||||
zypper)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install openssl
|
||||
elevated_execution "$PACKAGER" install openssl
|
||||
;;
|
||||
*)
|
||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
create_file() {
|
||||
printf "%b\n" "Creating script..."
|
||||
"$ESCALATION_TOOL" tee "/usr/local/bin/numlock" >/dev/null <<'EOF'
|
||||
elevated_execution tee "/usr/local/bin/numlock" >/dev/null <<'EOF'
|
||||
#!/bin/bash
|
||||
|
||||
for tty in /dev/tty{1..6}
|
||||
|
@ -18,13 +18,13 @@ do
|
|||
done
|
||||
EOF
|
||||
|
||||
"$ESCALATION_TOOL" chmod +x /usr/local/bin/numlock
|
||||
elevated_execution chmod +x /usr/local/bin/numlock
|
||||
}
|
||||
|
||||
# Create a systemd service to run the script on boot
|
||||
create_service() {
|
||||
printf "%b\n" "Creating service..."
|
||||
"$ESCALATION_TOOL" tee "/etc/systemd/system/numlock.service" >/dev/null <<'EOF'
|
||||
elevated_execution tee "/etc/systemd/system/numlock.service" >/dev/null <<'EOF'
|
||||
[Unit]
|
||||
Description=numlock
|
||||
|
||||
|
@ -51,10 +51,10 @@ numlockSetup() {
|
|||
printf "%b" "Do you want to enable Numlock on boot? (y/N): "
|
||||
read -r confirm
|
||||
if [ "$confirm" = "y" ] || [ "$confirm" = "Y" ]; then
|
||||
"$ESCALATION_TOOL" systemctl enable numlock.service --quiet
|
||||
elevated_execution systemctl enable numlock.service --quiet
|
||||
printf "%b\n" "Numlock will be enabled on boot"
|
||||
else
|
||||
"$ESCALATION_TOOL" systemctl disable numlock.service --quiet
|
||||
elevated_execution systemctl disable numlock.service --quiet
|
||||
printf "%b\n" "Numlock will not be enabled on boot"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ installollama() {
|
|||
else
|
||||
printf "%b\n" "${YELLOW}Installing ollama...${RC}"
|
||||
curl -fsSL https://ollama.com/install.sh | sh
|
||||
"$ESCALATION_TOOL" systemctl start ollama
|
||||
elevated_execution systemctl start ollama
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -17,10 +17,10 @@ installAutoCpufreq() {
|
|||
printf "%b\n" "${YELLOW}git not found. Installing git...${RC}"
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm git
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm git
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y git
|
||||
elevated_execution "$PACKAGER" install -y git
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -33,8 +33,8 @@ installAutoCpufreq() {
|
|||
|
||||
cd auto-cpufreq
|
||||
printf "%b\n" "${YELLOW}Running auto-cpufreq installer...${RC}"
|
||||
"$ESCALATION_TOOL" ./auto-cpufreq-installer
|
||||
"$ESCALATION_TOOL" auto-cpufreq --install
|
||||
elevated_execution ./auto-cpufreq-installer
|
||||
elevated_execution auto-cpufreq --install
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
@ -47,10 +47,10 @@ configureAutoCpufreq() {
|
|||
# Check if the system has a battery to determine if it's a laptop
|
||||
if [ -d /sys/class/power_supply/BAT0 ]; then
|
||||
printf "%b\n" "${GREEN}System detected as laptop. Updating auto-cpufreq for laptop...${RC}"
|
||||
"$ESCALATION_TOOL" auto-cpufreq --force powersave
|
||||
elevated_execution auto-cpufreq --force powersave
|
||||
else
|
||||
printf "%b\n" "${GREEN}System detected as desktop. Updating auto-cpufreq for desktop...${RC}"
|
||||
"$ESCALATION_TOOL" auto-cpufreq --force performance
|
||||
elevated_execution auto-cpufreq --force performance
|
||||
fi
|
||||
else
|
||||
printf "%b\n" "${RED}auto-cpufreq is not installed, skipping configuration.${RC}"
|
||||
|
@ -62,7 +62,7 @@ removeAutoCpufreqTweak() {
|
|||
|
||||
if command_exists auto-cpufreq; then
|
||||
printf "%b\n" "${YELLOW}Resetting auto-cpufreq configuration...${RC}"
|
||||
"$ESCALATION_TOOL" auto-cpufreq --force reset
|
||||
elevated_execution auto-cpufreq --force reset
|
||||
else
|
||||
printf "%b\n" "${RED}auto-cpufreq is not installed, skipping removal.${RC}"
|
||||
fi
|
||||
|
|
|
@ -9,10 +9,10 @@ install_package() {
|
|||
if ! command_exists "$PACKAGE"; then
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm "$PACKAGE"
|
||||
elevated_execution "$PACKAGER" -S --needed --noconfirm "$PACKAGE"
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y "$PACKAGE"
|
||||
elevated_execution "$PACKAGER" install -y "$PACKAGE"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -41,8 +41,8 @@ setup_ssh() {
|
|||
esac
|
||||
|
||||
# Enable and start the appropriate SSH service
|
||||
"$ESCALATION_TOOL" systemctl enable "$SSH_SERVICE"
|
||||
"$ESCALATION_TOOL" systemctl start "$SSH_SERVICE"
|
||||
elevated_execution systemctl enable "$SSH_SERVICE"
|
||||
elevated_execution systemctl start "$SSH_SERVICE"
|
||||
|
||||
# Get the local IP address
|
||||
LOCAL_IP=$(ip -4 addr show | awk '/inet / {print $2}' | tail -n 1)
|
||||
|
@ -71,7 +71,7 @@ setup_samba() {
|
|||
printf "%b" "Do you want to modify the existing Samba configuration? (Y/n): "
|
||||
read -r MODIFY_SAMBA
|
||||
if [ "$MODIFY_SAMBA" = "Y" ] || [ "$MODIFY_SAMBA" = "y" ]; then
|
||||
"$ESCALATION_TOOL" "$EDITOR" "$SAMBA_CONFIG"
|
||||
elevated_execution "$EDITOR" "$SAMBA_CONFIG"
|
||||
fi
|
||||
else
|
||||
printf "%b\n" "${YELLOW}No existing Samba configuration found. Setting up a new one...${RC}"
|
||||
|
@ -82,8 +82,8 @@ setup_samba() {
|
|||
SHARED_DIR=${SHARED_DIR:-/srv/samba/share}
|
||||
|
||||
# Create the shared directory if it doesn't exist
|
||||
"$ESCALATION_TOOL" mkdir -p "$SHARED_DIR"
|
||||
"$ESCALATION_TOOL" chmod -R 0777 "$SHARED_DIR"
|
||||
elevated_execution mkdir -p "$SHARED_DIR"
|
||||
elevated_execution chmod -R 0777 "$SHARED_DIR"
|
||||
|
||||
# Add a new Samba user
|
||||
printf "%b" "Enter Samba username: "
|
||||
|
@ -109,10 +109,10 @@ setup_samba() {
|
|||
done
|
||||
|
||||
# Add the user and set the password
|
||||
"$ESCALATION_TOOL" smbpasswd -a "$SAMBA_USER"
|
||||
elevated_execution smbpasswd -a "$SAMBA_USER"
|
||||
|
||||
# Configure Samba settings
|
||||
"$ESCALATION_TOOL" tee "$SAMBA_CONFIG" > /dev/null <<EOL
|
||||
elevated_execution tee "$SAMBA_CONFIG" > /dev/null <<EOL
|
||||
[global]
|
||||
workgroup = WORKGROUP
|
||||
server string = Samba Server
|
||||
|
@ -131,8 +131,8 @@ EOL
|
|||
fi
|
||||
|
||||
# Enable and start Samba services
|
||||
"$ESCALATION_TOOL" systemctl enable smb nmb
|
||||
"$ESCALATION_TOOL" systemctl start smb nmb
|
||||
elevated_execution systemctl enable smb nmb
|
||||
elevated_execution systemctl start smb nmb
|
||||
|
||||
# Check if Samba is running
|
||||
if systemctl is-active --quiet smb && systemctl is-active --quiet nmb; then
|
||||
|
@ -148,9 +148,9 @@ configure_firewall() {
|
|||
printf "%b\n" "${BLUE}Configuring firewall...${RC}"
|
||||
|
||||
if command_exists ufw; then
|
||||
"$ESCALATION_TOOL" ufw allow OpenSSH
|
||||
"$ESCALATION_TOOL" ufw allow Samba
|
||||
"$ESCALATION_TOOL" ufw enable
|
||||
elevated_execution ufw allow OpenSSH
|
||||
elevated_execution ufw allow Samba
|
||||
elevated_execution ufw enable
|
||||
printf "%b\n" "${GREEN}Firewall configured for SSH and Samba.${RC}"
|
||||
else
|
||||
printf "%b\n" "${YELLOW}UFW is not installed. Skipping firewall configuration.${RC}"
|
||||
|
|
|
@ -29,25 +29,25 @@ show_menu() {
|
|||
# Function to view all services
|
||||
view_all_services() {
|
||||
printf "%b\n" "Listing all services..."
|
||||
"$ESCALATION_TOOL" systemctl list-units --type=service --all --no-legend | awk '{print $1}' | sed 's/\.service//' | more
|
||||
elevated_execution systemctl list-units --type=service --all --no-legend | awk '{print $1}' | sed 's/\.service//' | more
|
||||
}
|
||||
|
||||
# Function to view enabled services
|
||||
view_enabled_services() {
|
||||
printf "%b\n" "Listing enabled services..."
|
||||
"$ESCALATION_TOOL" systemctl list-unit-files --type=service --state=enabled --no-legend | awk '{print $1}' | sed 's/\.service//' | more
|
||||
elevated_execution systemctl list-unit-files --type=service --state=enabled --no-legend | awk '{print $1}' | sed 's/\.service//' | more
|
||||
}
|
||||
|
||||
# Function to view disabled services
|
||||
view_disabled_services() {
|
||||
printf "%b\n" "Listing disabled services..."
|
||||
"$ESCALATION_TOOL" systemctl list-unit-files --type=service --state=disabled --no-legend | awk '{print $1}' | sed 's/\.service//' | more
|
||||
elevated_execution systemctl list-unit-files --type=service --state=disabled --no-legend | awk '{print $1}' | sed 's/\.service//' | more
|
||||
}
|
||||
|
||||
# Function to view started services
|
||||
view_started_services() {
|
||||
printf "%b\n" "Listing started services: "
|
||||
"$ESCALATION_TOOL" systemctl list-units --type=service --state=running --no-pager | head -n -6 | awk 'NR>1 {print $1}' | more
|
||||
elevated_execution systemctl list-units --type=service --state=running --no-pager | head -n -6 | awk 'NR>1 {print $1}' | more
|
||||
}
|
||||
|
||||
# Function to add a new service
|
||||
|
@ -55,7 +55,7 @@ add_service() {
|
|||
while [ -z "$SERVICE_NAME" ]; do
|
||||
printf "%b" "Enter the name of the new service (e.g., my_service): "
|
||||
read -r SERVICE_NAME
|
||||
if "$ESCALATION_TOOL" systemctl list-units --type=service --all --no-legend | grep -q "$SERVICE_NAME.service"; then
|
||||
if elevated_execution systemctl list-units --type=service --all --no-legend | grep -q "$SERVICE_NAME.service"; then
|
||||
printf "%b\n" "${GREEN}Service already exists.${RC}"
|
||||
SERVICE_NAME=""
|
||||
fi
|
||||
|
@ -92,11 +92,11 @@ add_service() {
|
|||
printf "\n"
|
||||
printf "%b\n" "[Install]"
|
||||
printf "%b\n" "WantedBy=multi-user.target"
|
||||
} | "$ESCALATION_TOOL" tee "$SERVICE_FILE" > /dev/null
|
||||
} | elevated_execution tee "$SERVICE_FILE" > /dev/null
|
||||
|
||||
# Set permissions and reload systemd
|
||||
"$ESCALATION_TOOL" chmod 644 "$SERVICE_FILE"
|
||||
"$ESCALATION_TOOL" systemctl daemon-reload
|
||||
elevated_execution chmod 644 "$SERVICE_FILE"
|
||||
elevated_execution systemctl daemon-reload
|
||||
printf "%b\n" "Service $SERVICE_NAME has been created and is ready to be started."
|
||||
|
||||
# Optionally, enable and start the service
|
||||
|
@ -104,8 +104,8 @@ add_service() {
|
|||
read -r START_ENABLE
|
||||
|
||||
if [ "$START_ENABLE" = "y" ] || [ "$START_ENABLE" = "Y" ]; then
|
||||
"$ESCALATION_TOOL" systemctl start "$SERVICE_NAME"
|
||||
"$ESCALATION_TOOL" systemctl enable "$SERVICE_NAME"
|
||||
elevated_execution systemctl start "$SERVICE_NAME"
|
||||
elevated_execution systemctl enable "$SERVICE_NAME"
|
||||
printf "%b\n" "Service $SERVICE_NAME has been started and enabled."
|
||||
else
|
||||
printf "%b\n" "Service $SERVICE_NAME has been created but not started."
|
||||
|
@ -121,12 +121,12 @@ remove_service() {
|
|||
|
||||
if [ -f "$SERVICE_FILE" ]; then
|
||||
printf "%b\n" "Stopping and disabling the service..."
|
||||
"$ESCALATION_TOOL" systemctl stop "$SERVICE_NAME"
|
||||
"$ESCALATION_TOOL" systemctl disable "$SERVICE_NAME"
|
||||
elevated_execution systemctl stop "$SERVICE_NAME"
|
||||
elevated_execution systemctl disable "$SERVICE_NAME"
|
||||
|
||||
printf "%b\n" "Removing the service file..."
|
||||
"$ESCALATION_TOOL" rm -f "$SERVICE_FILE"
|
||||
"$ESCALATION_TOOL" systemctl daemon-reload
|
||||
elevated_execution rm -f "$SERVICE_FILE"
|
||||
elevated_execution systemctl daemon-reload
|
||||
printf "%b\n" "Service $SERVICE_NAME has been removed."
|
||||
else
|
||||
printf "%b\n" "Service $SERVICE_NAME does not exist."
|
||||
|
@ -139,7 +139,7 @@ start_service() {
|
|||
printf "%b" "Enter the name of the service to start (e.g., my_service): "
|
||||
read -r SERVICE_NAME
|
||||
|
||||
if "$ESCALATION_TOOL" systemctl start "$SERVICE_NAME"; then
|
||||
if elevated_execution systemctl start "$SERVICE_NAME"; then
|
||||
printf "%b\n" "Service $SERVICE_NAME has been started."
|
||||
else
|
||||
printf "%b\n" "Failed to start service: $SERVICE_NAME."
|
||||
|
@ -152,7 +152,7 @@ stop_service() {
|
|||
printf "%b" "Enter the name of the service to stop (e.g., my_service): "
|
||||
read -r SERVICE_NAME
|
||||
|
||||
if "$ESCALATION_TOOL" systemctl stop "$SERVICE_NAME"; then
|
||||
if elevated_execution systemctl stop "$SERVICE_NAME"; then
|
||||
printf "%b\n" "Service $SERVICE_NAME has been stopped."
|
||||
else
|
||||
printf "%b\n" "Failed to stop service: $SERVICE_NAME."
|
||||
|
@ -165,7 +165,7 @@ enable_service() {
|
|||
printf "%b" "Enter the name of the service to enable (e.g., my_service): "
|
||||
read -r SERVICE_NAME
|
||||
|
||||
if "$ESCALATION_TOOL" systemctl enable "$SERVICE_NAME"; then
|
||||
if elevated_execution systemctl enable "$SERVICE_NAME"; then
|
||||
printf "%b\n" "Service $SERVICE_NAME has been enabled."
|
||||
else
|
||||
printf "%b\n" "Failed to enable service: $SERVICE_NAME."
|
||||
|
@ -178,7 +178,7 @@ disable_service() {
|
|||
printf "%b" "Enter the name of the service to disable (e.g., my_service): "
|
||||
read -r SERVICE_NAME
|
||||
|
||||
if "$ESCALATION_TOOL" systemctl disable "$SERVICE_NAME"; then
|
||||
if elevated_execution systemctl disable "$SERVICE_NAME"; then
|
||||
printf "%b\n" "Service $SERVICE_NAME has been enabled."
|
||||
else
|
||||
printf "%b\n" "Failed to enable service: $SERVICE_NAME."
|
||||
|
@ -225,11 +225,11 @@ create_service_from_external() {
|
|||
fi
|
||||
|
||||
# Copy the modified service file to /etc/systemd/system/
|
||||
"$ESCALATION_TOOL" cp "$SERVICE_FILE" "$SYSTEMD_SERVICE_FILE"
|
||||
elevated_execution cp "$SERVICE_FILE" "$SYSTEMD_SERVICE_FILE"
|
||||
|
||||
# Set permissions and reload systemd
|
||||
"$ESCALATION_TOOL" chmod 644 "$SYSTEMD_SERVICE_FILE"
|
||||
"$ESCALATION_TOOL" systemctl daemon-reload
|
||||
elevated_execution chmod 644 "$SYSTEMD_SERVICE_FILE"
|
||||
elevated_execution systemctl daemon-reload
|
||||
printf "%b\n" "Service $SERVICE_NAME has been created and is ready to be started."
|
||||
|
||||
# Optionally, enable and start the service
|
||||
|
@ -237,8 +237,8 @@ create_service_from_external() {
|
|||
read -r START_ENABLE
|
||||
|
||||
if [ "$START_ENABLE" = "y" ]; then
|
||||
"$ESCALATION_TOOL" systemctl start "$SERVICE_NAME"
|
||||
"$ESCALATION_TOOL" systemctl enable "$SERVICE_NAME"
|
||||
elevated_execution systemctl start "$SERVICE_NAME"
|
||||
elevated_execution systemctl enable "$SERVICE_NAME"
|
||||
printf "%b\n" "Service $SERVICE_NAME has been started and enabled."
|
||||
else
|
||||
printf "%b\n" "Service $SERVICE_NAME has been created but not started."
|
||||
|
|
|
@ -61,11 +61,11 @@ disable_password_auth() {
|
|||
read -r host_alias
|
||||
printf "\n"
|
||||
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
|
||||
elevated_execution -S sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config &&
|
||||
elevated_execution -S sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config &&
|
||||
elevated_execution -S sed -i 's/^#PubkeyAuthentication no/PubkeyAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
elevated_execution -S sed -i 's/^PubkeyAuthentication no/PubkeyAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
elevated_execution -S systemctl restart sshd
|
||||
"
|
||||
printf "%b\n" "PasswordAuthentication set to no and PubkeyAuthentication set to yes."
|
||||
}
|
||||
|
@ -76,11 +76,11 @@ enable_password_auth() {
|
|||
read -r host_alias
|
||||
printf "\n"
|
||||
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
|
||||
elevated_execution -S sed -i 's/^#PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
elevated_execution -S sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config &&
|
||||
elevated_execution -S sed -i 's/^#PubkeyAuthentication yes/PubkeyAuthentication no/' /etc/ssh/sshd_config &&
|
||||
elevated_execution -S sed -i 's/^PubkeyAuthentication yes/PubkeyAuthentication no/' /etc/ssh/sshd_config &&
|
||||
elevated_execution -S systemctl restart sshd
|
||||
"
|
||||
printf "%b\n" "PasswordAuthentication set to yes and PubkeyAuthentication set to no."
|
||||
}
|
||||
|
|
|
@ -10,10 +10,10 @@ install_timeshift() {
|
|||
if ! command_exists timeshift; then
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "${PACKAGER}" -S --noconfirm timeshift
|
||||
elevated_execution "${PACKAGER}" -S --noconfirm timeshift
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "${PACKAGER}" install -y timeshift
|
||||
elevated_execution "${PACKAGER}" install -y timeshift
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -37,13 +37,13 @@ display_menu() {
|
|||
# Function to list snapshots
|
||||
list_snapshots() {
|
||||
printf "%b\n" "${CYAN}Listing snapshots...${RC}"
|
||||
"$ESCALATION_TOOL" timeshift --list-snapshots
|
||||
elevated_execution timeshift --list-snapshots
|
||||
}
|
||||
|
||||
# Function to list devices
|
||||
list_devices() {
|
||||
printf "%b\n" "${CYAN}Listing available devices...${RC}"
|
||||
"$ESCALATION_TOOL" timeshift --list-devices
|
||||
elevated_execution timeshift --list-devices
|
||||
}
|
||||
|
||||
# Function to create a new snapshot
|
||||
|
@ -55,13 +55,13 @@ create_snapshot() {
|
|||
|
||||
if [ -z "$COMMENT" ] && [ -z "$TAG" ]; then
|
||||
printf "%b\n" "${CYAN}Creating snapshot with no comment or tag...${RC}"
|
||||
"$ESCALATION_TOOL" timeshift --create
|
||||
elevated_execution timeshift --create
|
||||
elif [ -z "$TAG" ]; then
|
||||
printf "%b\n" "${CYAN}Creating snapshot with no tag...${RC}"
|
||||
"$ESCALATION_TOOL" timeshift --create --comments "$COMMENT"
|
||||
elevated_execution timeshift --create --comments "$COMMENT"
|
||||
else
|
||||
printf "%b\n" "${CYAN}Creating snapshot with tag: $TAG...${RC}"
|
||||
"$ESCALATION_TOOL" timeshift --create --comments "$COMMENT" --tags "$TAG"
|
||||
elevated_execution timeshift --create --comments "$COMMENT" --tags "$TAG"
|
||||
fi
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
|
@ -83,11 +83,11 @@ restore_snapshot() {
|
|||
read -r SKIP_GRUB
|
||||
|
||||
if [ "$SKIP_GRUB" = "y" ] || [ "$SKIP_GRUB" = "Y" ]; then
|
||||
"$ESCALATION_TOOL" timeshift --restore --snapshot "$SNAPSHOT" --target-device "$TARGET_DEVICE" --skip-grub --yes
|
||||
elevated_execution timeshift --restore --snapshot "$SNAPSHOT" --target-device "$TARGET_DEVICE" --skip-grub --yes
|
||||
else
|
||||
printf "%b\n" "${CYAN}Enter GRUB device (e.g., /dev/sda): ${RC}"
|
||||
read -r GRUB_DEVICE
|
||||
"$ESCALATION_TOOL" timeshift --restore --snapshot "$SNAPSHOT" --target-device "$TARGET_DEVICE" --grub-device "$GRUB_DEVICE" --yes
|
||||
elevated_execution timeshift --restore --snapshot "$SNAPSHOT" --target-device "$TARGET_DEVICE" --grub-device "$GRUB_DEVICE" --yes
|
||||
fi
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
|
@ -105,7 +105,7 @@ delete_snapshot() {
|
|||
read -r SNAPSHOT
|
||||
|
||||
printf "%b\n" "${YELLOW}Deleting snapshot $SNAPSHOT...${RC}"
|
||||
"$ESCALATION_TOOL" timeshift --delete --snapshot "$SNAPSHOT" --yes
|
||||
elevated_execution timeshift --delete --snapshot "$SNAPSHOT" --yes
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
printf "%b\n" "${GREEN}Snapshot deleted successfully.${RC}"
|
||||
|
@ -122,7 +122,7 @@ delete_all_snapshots() {
|
|||
|
||||
if [ "$CONFIRMATION" = "y" ] || [ "$CONFIRMATION" = "Y" ]; then
|
||||
printf "%b\n" "${CYAN}Deleting all snapshots...${RC}"
|
||||
"$ESCALATION_TOOL" timeshift --delete-all --yes
|
||||
elevated_execution timeshift --delete-all --yes
|
||||
if [ $? -eq 0 ]; then
|
||||
printf "%b\n" "${GREEN}All snapshots deleted successfully.${RC}"
|
||||
else
|
||||
|
|
|
@ -36,7 +36,7 @@ addToGroup() {
|
|||
read -r confirm
|
||||
confirmAction || exit 1
|
||||
|
||||
"$ESCALATION_TOOL" usermod -aG "$groups_to_add" "$username"
|
||||
elevated_execution usermod -aG "$groups_to_add" "$username"
|
||||
|
||||
printf "%b\n" "${GREEN}User successfully added to the $groups_to_add${RC}"
|
||||
}
|
||||
|
|
|
@ -26,8 +26,8 @@ createUser() {
|
|||
exit 1
|
||||
fi
|
||||
|
||||
"$ESCALATION_TOOL" useradd -m "$username" -g users -s /bin/bash
|
||||
echo "$username:$password" | "$ESCALATION_TOOL" chpasswd
|
||||
elevated_execution useradd -m "$username" -g users -s /bin/bash
|
||||
echo "$username:$password" | elevated_execution chpasswd
|
||||
|
||||
printf "%b\n" "${GREEN}User $username created successfully${RC}"
|
||||
printf "%b\n" "${GREEN}To add additional groups use Add User To Groups${RC}"
|
||||
|
|
|
@ -20,7 +20,7 @@ changePassword() {
|
|||
read -r confirm
|
||||
confirmAction || exit 1
|
||||
|
||||
echo "$username:$password" | "$ESCALATION_TOOL" chpasswd
|
||||
echo "$username:$password" | elevated_execution chpasswd
|
||||
printf "%b\n" "${GREEN}Password changed successfully${RC}"
|
||||
else
|
||||
printf "%b\n" "${RED}User $username does not exist.${RC}"
|
||||
|
|
|
@ -8,13 +8,13 @@ setup_xrandr() {
|
|||
if ! command_exists xrandr; then
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm xorg-xrandr
|
||||
elevated_execution "$PACKAGER" -S --noconfirm xorg-xrandr
|
||||
;;
|
||||
apt-get|nala)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y x11-xserver-utils
|
||||
elevated_execution "$PACKAGER" install -y x11-xserver-utils
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y xorg-x11-server-utils
|
||||
elevated_execution "$PACKAGER" install -y xorg-x11-server-utils
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
|
|
@ -8,13 +8,13 @@ setupNetworkManager() {
|
|||
if ! command_exists nmcli; then
|
||||
case "$PACKAGER" in
|
||||
pacman)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm networkmanager
|
||||
elevated_execution "$PACKAGER" -S --noconfirm networkmanager
|
||||
;;
|
||||
dnf)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y NetworkManager-1
|
||||
elevated_execution "$PACKAGER" install -y NetworkManager-1
|
||||
;;
|
||||
*)
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y network-manager
|
||||
elevated_execution "$PACKAGER" install -y network-manager
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -24,7 +24,7 @@ setupNetworkManager() {
|
|||
# Check if NetworkManager service is running
|
||||
if ! systemctl is-active --quiet NetworkManager; then
|
||||
printf "%b\n" "${YELLOW}NetworkManager service is not running. Starting it now...${RC}"
|
||||
"$ESCALATION_TOOL" systemctl start NetworkManager
|
||||
elevated_execution systemctl start NetworkManager
|
||||
|
||||
if systemctl is-active --quiet NetworkManager; then
|
||||
printf "%b\n" "${GREEN}NetworkManager service started successfully.${RC}"
|
||||
|
|
|
@ -31,6 +31,7 @@ tree-sitter-bash = "0.23.1"
|
|||
anstyle = "1.0.8"
|
||||
ansi-to-tui = "6.0.0"
|
||||
zips = "0.1.7"
|
||||
nix = { version = "0.29.0", features = [ "user" ] }
|
||||
|
||||
[build-dependencies]
|
||||
chrono = "0.4.33"
|
||||
|
|
|
@ -3,6 +3,7 @@ mod filter;
|
|||
mod float;
|
||||
mod floating_text;
|
||||
mod hint;
|
||||
mod root;
|
||||
mod running_command;
|
||||
pub mod state;
|
||||
mod theme;
|
||||
|
@ -61,6 +62,10 @@ fn run(
|
|||
terminal: &mut Terminal<CrosstermBackend<io::Stdout>>,
|
||||
state: &mut AppState,
|
||||
) -> io::Result<()> {
|
||||
if !root::check_root(terminal)? {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
loop {
|
||||
terminal.draw(|frame| state.draw(frame)).unwrap();
|
||||
// Wait for an event
|
||||
|
|
57
tui/src/root.rs
Normal file
57
tui/src/root.rs
Normal file
|
@ -0,0 +1,57 @@
|
|||
use ratatui::{
|
||||
backend::CrosstermBackend,
|
||||
crossterm::event::{self, Event, KeyCode, KeyEvent},
|
||||
layout::{Alignment, Constraint, Layout},
|
||||
style::{Style, Stylize},
|
||||
widgets::{Paragraph, Wrap},
|
||||
Terminal,
|
||||
};
|
||||
use std::io;
|
||||
|
||||
const ROOT_WARNING: &str = r#"
|
||||
!!!!!!!!!!!!!! YOU ARE ABOUT TO RUN LINUTIL AS ROOT !!!!!!!!!!!!!!
|
||||
This utility prioritizes compatibility with non-root environments.
|
||||
Some scripts may work without any issues, some may not.
|
||||
You have been warned!
|
||||
!!!!!!!!!!!!!!!!!!!!!! PROCEED WITH CAUTION !!!!!!!!!!!!!!!!!!!!!!
|
||||
Press [y] to continue, [n] to abort
|
||||
"#;
|
||||
|
||||
pub fn check_root(terminal: &mut Terminal<CrosstermBackend<io::Stdout>>) -> io::Result<bool> {
|
||||
if !nix::unistd::geteuid().is_root() {
|
||||
return Ok(true);
|
||||
}
|
||||
terminal.draw(|frame| {
|
||||
let root_warn = Paragraph::new(ROOT_WARNING)
|
||||
.white()
|
||||
.on_black()
|
||||
.alignment(Alignment::Center)
|
||||
.style(Style::default().bold())
|
||||
.wrap(Wrap { trim: true });
|
||||
|
||||
let rects = Layout::vertical([
|
||||
Constraint::Fill(1),
|
||||
Constraint::Length(10),
|
||||
Constraint::Fill(1),
|
||||
])
|
||||
.split(frame.area());
|
||||
|
||||
let centered = rects[1];
|
||||
|
||||
frame.render_widget(root_warn, centered);
|
||||
})?;
|
||||
|
||||
loop {
|
||||
if let Event::Key(KeyEvent {
|
||||
code: KeyCode::Char(ch),
|
||||
..
|
||||
}) = event::read()?
|
||||
{
|
||||
match ch.to_ascii_lowercase() {
|
||||
'y' => return Ok(true),
|
||||
'n' => return Ok(false),
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user