mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-11-21 21:09:42 +00:00
Merge 8e8307f5e2
into 8639da3855
This commit is contained in:
commit
377110eaeb
111
core/tabs/applications-setup/auto-cpufreq.sh
Normal file
111
core/tabs/applications-setup/auto-cpufreq.sh
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
. ../common-script.sh
|
||||||
|
|
||||||
|
installAutoCpufreq() {
|
||||||
|
clear
|
||||||
|
|
||||||
|
AUTO_CPUFREQ_PATH="$HOME/.local/share/auto-cpufreq"
|
||||||
|
|
||||||
|
if ! command_exists auto-cpufreq; then
|
||||||
|
printf "%b\n" "${YELLOW}Installing auto-cpufreq.${RC}"
|
||||||
|
|
||||||
|
if ! command_exists git && [ "$PACKAGER" != "pacman" ]; then
|
||||||
|
printf "%b\n" "${YELLOW}Installing git.${RC}"
|
||||||
|
case "$PACKAGER" in
|
||||||
|
*)
|
||||||
|
"$ESCALATION_TOOL" "$PACKAGER" install -y git
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$PACKAGER" in
|
||||||
|
pacman)
|
||||||
|
if command_exists powerprofilesctl; then
|
||||||
|
printf "%b\n" "${YELLOW}Disabling powerprofilesctl service.${RC}"
|
||||||
|
"$ESCALATION_TOOL" systemctl disable --now power-profiles-daemon
|
||||||
|
fi
|
||||||
|
|
||||||
|
"$AUR_HELPER" -S --needed --noconfirm auto-cpufreq
|
||||||
|
"$ESCALATION_TOOL" systemctl enable --now auto-cpufreq
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
mkdir -p "$HOME/.local/share"
|
||||||
|
|
||||||
|
if [ -d "$AUTO_CPUFREQ_PATH" ]; then
|
||||||
|
rm -rf "$AUTO_CPUFREQ_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "%b\n" "${YELLOW}Cloning auto-cpufreq repository.${RC}"
|
||||||
|
git clone --depth=1 https://github.com/AdnanHodzic/auto-cpufreq.git "$AUTO_CPUFREQ_PATH"
|
||||||
|
|
||||||
|
cd "$AUTO_CPUFREQ_PATH"
|
||||||
|
printf "%b\n" "${YELLOW}Running auto-cpufreq installer.${RC}"
|
||||||
|
"$ESCALATION_TOOL" ./auto-cpufreq-installer
|
||||||
|
"$ESCALATION_TOOL" auto-cpufreq --install
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
printf "%b\n" "${GREEN}auto-cpufreq is already installed.${RC}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
applyTweak() {
|
||||||
|
printf "%b\n" "${YELLOW}Configuring auto-cpufreq.${RC}"
|
||||||
|
|
||||||
|
if command_exists auto-cpufreq; then
|
||||||
|
if ls /sys/class/power_supply/BAT* >/dev/null 2>&1; then
|
||||||
|
printf "%b\n" "${GREEN}System detected as laptop. Updating auto-cpufreq for laptop.${RC}"
|
||||||
|
"$ESCALATION_TOOL" 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
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
printf "%b\n" "${RED}auto-cpufreq is not installed.${RC}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
removeTweak() {
|
||||||
|
if command_exists auto-cpufreq; then
|
||||||
|
printf "%b\n" "${YELLOW}Removing auto-cpufreq tweak.${RC}"
|
||||||
|
"$ESCALATION_TOOL" auto-cpufreq --force reset
|
||||||
|
else
|
||||||
|
printf "%b\n" "${RED}auto-cpufreq is not installed.${RC}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
printf "%b\n" "${YELLOW}Do you want to apply the auto-cpufreq tweak or remove it?${RC}"
|
||||||
|
printf "%b\n" "${YELLOW}1) Apply tweak${RC}"
|
||||||
|
printf "%b\n" "${YELLOW}2) Remove tweak${RC}"
|
||||||
|
printf "%b\n" "${YELLOW}3) Exit${RC}"
|
||||||
|
printf "%b" "Enter your choice [1/3]: "
|
||||||
|
read -r choice
|
||||||
|
|
||||||
|
case "$choice" in
|
||||||
|
1)
|
||||||
|
applyTweak
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
removeTweak
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
printf "%b\n" "${GREEN}Exiting.${RC}"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
printf "%b\n" "${RED}Invalid choice. Exiting.${RC}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
printf "%b\n" "${GREEN}auto-cpufreq setup complete.${RC}"
|
||||||
|
}
|
||||||
|
|
||||||
|
checkEnv
|
||||||
|
checkEscalationTool
|
||||||
|
installAutoCpufreq
|
||||||
|
main
|
|
@ -227,6 +227,12 @@ description = "Universal Android Debloater (UAD) is a tool designed to help user
|
||||||
script = "android-debloat.sh"
|
script = "android-debloat.sh"
|
||||||
task_list = "I"
|
task_list = "I"
|
||||||
|
|
||||||
|
[[data]]
|
||||||
|
name = "Auto CPU Frequency"
|
||||||
|
description = "Automatic CPU speed & power optimizer.\nhttps://github.com/AdnanHodzic/auto-cpufreq"
|
||||||
|
script = "auto-cpufreq.sh"
|
||||||
|
task_list = "I SS"
|
||||||
|
|
||||||
[[data]]
|
[[data]]
|
||||||
name = "Bash Prompt"
|
name = "Bash Prompt"
|
||||||
description = "The .bashrc file is a script that runs every time a new terminal session is started in Unix-like operating systems. It is used to configure the shell session, set up aliases, define functions, and more, making the terminal easier to use and more powerful. This command configures the key sections and functionalities defined in the .bashrc file from CTT's mybash repository. https://github.com/ChrisTitusTech/mybash"
|
description = "The .bashrc file is a script that runs every time a new terminal session is started in Unix-like operating systems. It is used to configure the shell session, set up aliases, define functions, and more, making the terminal easier to use and more powerful. This command configures the key sections and functionalities defined in the .bashrc file from CTT's mybash repository. https://github.com/ChrisTitusTech/mybash"
|
||||||
|
|
|
@ -1,101 +0,0 @@
|
||||||
#!/bin/sh -e
|
|
||||||
|
|
||||||
. ../common-script.sh
|
|
||||||
|
|
||||||
installAutoCpufreq() {
|
|
||||||
clear
|
|
||||||
printf "%b\n" "${YELLOW}Checking if auto-cpufreq is already installed...${RC}"
|
|
||||||
|
|
||||||
# Check if auto-cpufreq is already installed
|
|
||||||
if command_exists auto-cpufreq; then
|
|
||||||
printf "%b\n" "${GREEN}auto-cpufreq is already installed.${RC}"
|
|
||||||
else
|
|
||||||
printf "%b\n" "${YELLOW}Installing auto-cpufreq...${RC}"
|
|
||||||
|
|
||||||
# Install git if not already installed
|
|
||||||
if ! command_exists git; then
|
|
||||||
printf "%b\n" "${YELLOW}git not found. Installing git...${RC}"
|
|
||||||
case "$PACKAGER" in
|
|
||||||
pacman)
|
|
||||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm git
|
|
||||||
;;
|
|
||||||
apk)
|
|
||||||
"$ESCALATION_TOOL" "$PACKAGER" add git
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
"$ESCALATION_TOOL" "$PACKAGER" install -y git
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Clone the auto-cpufreq repository and run the installer
|
|
||||||
if [ ! -d "auto-cpufreq" ]; then
|
|
||||||
printf "%b\n" "${YELLOW}Cloning auto-cpufreq repository...${RC}"
|
|
||||||
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd auto-cpufreq
|
|
||||||
printf "%b\n" "${YELLOW}Running auto-cpufreq installer...${RC}"
|
|
||||||
"$ESCALATION_TOOL" ./auto-cpufreq-installer
|
|
||||||
"$ESCALATION_TOOL" auto-cpufreq --install
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
configureAutoCpufreq() {
|
|
||||||
printf "%b\n" "${YELLOW}Configuring auto-cpufreq...${RC}"
|
|
||||||
|
|
||||||
if command_exists auto-cpufreq; then
|
|
||||||
# Check if the system has a battery to determine if it's a laptop
|
|
||||||
if ls /sys/class/power_supply/BAT* >/dev/null 2>&1; then
|
|
||||||
printf "%b\n" "${GREEN}System detected as laptop. Updating auto-cpufreq for laptop...${RC}"
|
|
||||||
"$ESCALATION_TOOL" 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
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
printf "%b\n" "${RED}auto-cpufreq is not installed, skipping configuration.${RC}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
removeAutoCpufreqTweak() {
|
|
||||||
printf "%b\n" "${YELLOW}Removing auto-cpufreq tweak...${RC}"
|
|
||||||
|
|
||||||
if command_exists auto-cpufreq; then
|
|
||||||
printf "%b\n" "${YELLOW}Resetting auto-cpufreq configuration...${RC}"
|
|
||||||
"$ESCALATION_TOOL" auto-cpufreq --force reset
|
|
||||||
else
|
|
||||||
printf "%b\n" "${RED}auto-cpufreq is not installed, skipping removal.${RC}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
apply_or_remove_auto_cpufreq() {
|
|
||||||
# Prompt user for action
|
|
||||||
printf "%b\n" "${YELLOW}Do you want to apply the auto-cpufreq tweak or remove it?${RC}"
|
|
||||||
printf "%b\n" "${YELLOW}1) Apply tweak${RC}"
|
|
||||||
printf "%b\n" "${YELLOW}2) Remove tweak${RC}"
|
|
||||||
printf "%b" "Enter your choice [1/2]: "
|
|
||||||
read -r choice
|
|
||||||
|
|
||||||
case $choice in
|
|
||||||
1)
|
|
||||||
configureAutoCpufreq
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
removeAutoCpufreqTweak
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
printf "%b\n" "${RED}Invalid choice. Exiting.${RC}"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
printf "%b\n" "${GREEN}auto-cpufreq setup complete.${RC}"
|
|
||||||
}
|
|
||||||
|
|
||||||
checkEnv
|
|
||||||
checkEscalationTool
|
|
||||||
installAutoCpufreq
|
|
||||||
apply_or_remove_auto_cpufreq
|
|
|
@ -127,11 +127,6 @@ name = "Auto Login"
|
||||||
script = "auto-login.sh"
|
script = "auto-login.sh"
|
||||||
task_list = "DE setup"
|
task_list = "DE setup"
|
||||||
|
|
||||||
[[data]]
|
|
||||||
name = "Auto Power Profiling"
|
|
||||||
script = "power-profile.sh"
|
|
||||||
task_list = "I"
|
|
||||||
|
|
||||||
[[data]]
|
[[data]]
|
||||||
name = "Bluetooth Manager"
|
name = "Bluetooth Manager"
|
||||||
description = "This utility is designed to manage bluetooth in your system"
|
description = "This utility is designed to manage bluetooth in your system"
|
||||||
|
|
|
@ -48,6 +48,8 @@ https://github.com/ChrisTitusTech/neovim
|
||||||
- **waterfox**: Waterfox is the privacy-focused web browser engineered to give you speed, control, and peace of mind on the internet.
|
- **waterfox**: Waterfox is the privacy-focused web browser engineered to give you speed, control, and peace of mind on the internet.
|
||||||
- **Alacritty**: Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows. This command installs and configures alacritty terminal emulator.
|
- **Alacritty**: Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows. This command installs and configures alacritty terminal emulator.
|
||||||
- **Android Debloater**: Universal Android Debloater (UAD) is a tool designed to help users remove bloatware and unnecessary pre-installed applications from Android devices, enhancing performance and user experience.
|
- **Android Debloater**: Universal Android Debloater (UAD) is a tool designed to help users remove bloatware and unnecessary pre-installed applications from Android devices, enhancing performance and user experience.
|
||||||
|
- **Auto CPU Frequency**: Automatic CPU speed & power optimizer.
|
||||||
|
https://github.com/AdnanHodzic/auto-cpufreq
|
||||||
- **Bash Prompt**: The .bashrc file is a script that runs every time a new terminal session is started in Unix-like operating systems. It is used to configure the shell session, set up aliases, define functions, and more, making the terminal easier to use and more powerful. This command configures the key sections and functionalities defined in the .bashrc file from CTT's mybash repository. https://github.com/ChrisTitusTech/mybash
|
- **Bash Prompt**: The .bashrc file is a script that runs every time a new terminal session is started in Unix-like operating systems. It is used to configure the shell session, set up aliases, define functions, and more, making the terminal easier to use and more powerful. This command configures the key sections and functionalities defined in the .bashrc file from CTT's mybash repository. https://github.com/ChrisTitusTech/mybash
|
||||||
- **Bottles**: Bottles allows Windows software, like applications and games, to run on Linux. Bottles also provides tools to categorize, organize and optimize your applications.
|
- **Bottles**: Bottles allows Windows software, like applications and games, to run on Linux. Bottles also provides tools to categorize, organize and optimize your applications.
|
||||||
- **Docker**: Docker is an open platform that uses OS-level virtualization to deliver software in packages called containers.
|
- **Docker**: Docker is an open platform that uses OS-level virtualization to deliver software in packages called containers.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user