Compare commits

...

7 Commits

Author SHA1 Message Date
Adam Perkowski
1777606d9a
Merge 1d9471a3ce into e3688e9b3d 2024-10-25 14:09:48 +02:00
Adam Perkowski
e3688e9b3d
fix+refact(system-cleanup) (#856)
* fix(system-cleanup): some issues

* new packager quotes
2024-10-24 14:59:23 -05:00
Adam Perkowski
51631a16cb
feat: desktop entry & manpage installation through linutil-installer.sh (#802) 2024-10-24 14:55:56 -05:00
Adam Perkowski
1d9471a3ce
i hate sed 2024-10-05 13:46:53 +02:00
Adam Perkowski
4d478a1047
better sed expressions
i hate sed
2024-10-05 13:45:20 +02:00
Adam Perkowski
1dea0c2391
nix configuration (??)
i know that's not perfect. the best i can come up with right now.
2024-10-05 13:29:31 +02:00
Adam Perkowski
c9e1cc6b99
❄️ no flakes yet 2024-10-05 12:48:53 +02:00
8 changed files with 62 additions and 12 deletions

View File

@ -9,6 +9,9 @@ installAlacritty() {
pacman) pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm alacritty "$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm alacritty
;; ;;
nix-env)
"$PACKAGER" -iA nixpkgs.alacritty
;;
*) *)
"$ESCALATION_TOOL" "$PACKAGER" install -y alacritty "$ESCALATION_TOOL" "$PACKAGER" install -y alacritty
;; ;;

View File

@ -15,6 +15,9 @@ install_adb() {
dnf|zypper) dnf|zypper)
"$ESCALATION_TOOL" "$PACKAGER" install -y android-tools "$ESCALATION_TOOL" "$PACKAGER" install -y android-tools
;; ;;
nix-env)
"$PACKAGER" -iA nixpkgs.android-tools
;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: "$PACKAGER"${RC}" printf "%b\n" "${RED}Unsupported package manager: "$PACKAGER"${RC}"
exit 1 exit 1

View File

@ -4,7 +4,6 @@
# Function to prompt the user for installation choice # Function to prompt the user for installation choice
choose_installation() { choose_installation() {
clear
printf "%b\n" "${YELLOW}Choose what to install:${RC}" printf "%b\n" "${YELLOW}Choose what to install:${RC}"
printf "%b\n" "1. ${YELLOW}Docker${RC}" printf "%b\n" "1. ${YELLOW}Docker${RC}"
printf "%b\n" "2. ${YELLOW}Docker Compose${RC}" printf "%b\n" "2. ${YELLOW}Docker Compose${RC}"
@ -36,6 +35,11 @@ install_docker() {
"$ESCALATION_TOOL" systemctl enable docker "$ESCALATION_TOOL" systemctl enable docker
"$ESCALATION_TOOL" systemctl start docker "$ESCALATION_TOOL" systemctl start docker
;; ;;
nix-env)
"$PACKAGER" -iA nixpkgs.docker
"$ESCALATION_TOOL" sed -i'' -E '/^[[:space:]]*virtualisation\.docker\.enable/!b; s/^([[:space:]]*)virtualisation\.docker\.enable.*/\1virtualisation.docker.enable = true;/' "$NIXOS_CONFIG" || echo 'virtualisation.docker.enable = true;' | "$ESCALATION_TOOL" tee -a "$NIXOS_CONFIG"
"$ESCALATION_TOOL" nixos-rebuild switch
;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}" printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
exit 1 exit 1
@ -55,6 +59,9 @@ install_docker_compose() {
pacman) pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm docker-compose "$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm docker-compose
;; ;;
nix-env)
"$PACKAGER" -iA nixpkgs.docker-compose
;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}" printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
exit 1 exit 1

View File

@ -15,6 +15,8 @@ setupDWM() {
"$ESCALATION_TOOL" "$PACKAGER" groupinstall -y "Development Tools" "$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" "$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"
;; ;;
nix-env)
;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}" printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
exit 1 exit 1

View File

@ -35,10 +35,10 @@ installLinutil() {
printf "%b\n" "${YELLOW}Installing rustup...${RC}" printf "%b\n" "${YELLOW}Installing rustup...${RC}"
case "$PACKAGER" in case "$PACKAGER" in
pacman) pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm rustup "$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm curl rustup man-db
;; ;;
dnf) dnf)
"$ESCALATION_TOOL" "$PACKAGER" install -y rustup "$ESCALATION_TOOL" "$PACKAGER" install -y curl rustup man-pages man-db man
;; ;;
zypper) zypper)
"$ESCALATION_TOOL" "$PACKAGER" install -n curl gcc make "$ESCALATION_TOOL" "$PACKAGER" install -n curl gcc make
@ -54,12 +54,23 @@ installLinutil() {
rustup default stable rustup default stable
cargo install --force linutil_tui cargo install --force linutil_tui
printf "%b\n" "${GREEN}Installed successfully.${RC}" printf "%b\n" "${GREEN}Installed successfully.${RC}"
installExtra
;; ;;
*) printf "%b\n" "${RED}Linutil not installed.${RC}" ;; *) printf "%b\n" "${RED}Linutil not installed.${RC}" ;;
esac esac
esac esac
} }
installExtra() {
printf "%b\n" "${YELLOW}Installing the manpage...${RC}"
"$ESCALATION_TOOL" mkdir -p /usr/share/man/man1
curl 'https://raw.githubusercontent.com/ChrisTitusTech/linutil/refs/heads/main/man/linutil.1' | "$ESCALATION_TOOL" tee '/usr/share/man/man1/linutil.1' > /dev/null
printf "%b\n" "${YELLOW}Creating a Desktop Entry...${RC}"
"$ESCALATION_TOOL" mkdir -p /usr/share/applications
curl 'https://raw.githubusercontent.com/ChrisTitusTech/linutil/refs/heads/main/linutil.desktop' | "$ESCALATION_TOOL" tee /usr/share/applications/linutil.desktop > /dev/null
printf "%b\n" "${GREEN}Done.${RC}"
}
checkEnv checkEnv
checkEscalationTool checkEscalationTool
checkAURHelper checkAURHelper

View File

@ -25,6 +25,11 @@ setup_flatpak() {
pacman) pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm flatpak "$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm flatpak
;; ;;
nix-env)
"$PACKAGER" -iA nixpkgs.flatpak
"$ESCALATION_TOOL" sed -i'' -E '/^[[:space:]]*services\.flatpak\.enable/!b; s/^([[:space:]]*)services\.flatpak\.enable.*/\1services.flatpak.enable = true;/' "$NIXOS_CONFIG" || echo 'services.flatpak.enable = true;' | "$ESCALATION_TOOL" tee -a "$NIXOS_CONFIG"
"$ESCALATION_TOOL" nixos-rebuild switch
;;
*) *)
"$ESCALATION_TOOL" "$PACKAGER" install -y flatpak "$ESCALATION_TOOL" "$PACKAGER" install -y flatpak
;; ;;

View File

@ -78,6 +78,16 @@ checkPackageManager() {
if command_exists "${pgm}"; then if command_exists "${pgm}"; then
PACKAGER=${pgm} PACKAGER=${pgm}
printf "%b\n" "${CYAN}Using ${pgm} as package manager${RC}" printf "%b\n" "${CYAN}Using ${pgm} as package manager${RC}"
if [ $PACKAGER = 'nix-env' ] && [ -z "$NIXOS_CONFIG" ]; then
NIXOS_CONFIG="/etc/nixos/configuration.nix"
while [ ! -f "$NIXOS_CONFIG" ]; do
printf "%b\n" "${RED}configuration.nix not found.${RC}"
printf "%b" "${YELLOW}Enter the path manually: ${RC}"
read -r NIXOS_CONFIG
done
fi
break break
fi fi
done done
@ -127,7 +137,7 @@ checkDistro() {
checkEnv() { checkEnv() {
checkEscalationTool checkEscalationTool
checkCommandRequirements "curl groups $ESCALATION_TOOL" checkCommandRequirements "curl groups $ESCALATION_TOOL"
checkPackageManager 'nala apt-get dnf pacman zypper' checkPackageManager 'nala apt-get dnf pacman zypper nix-env'
checkCurrentDirectoryWritable checkCurrentDirectoryWritable
checkSuperUser checkSuperUser
checkDistro checkDistro

23
core/tabs/system-setup/system-cleanup.sh Normal file → Executable file
View File

@ -26,16 +26,21 @@ cleanup_system() {
"$ESCALATION_TOOL" "$PACKAGER" -Rns $(pacman -Qtdq) --noconfirm > /dev/null 2>&1 "$ESCALATION_TOOL" "$PACKAGER" -Rns $(pacman -Qtdq) --noconfirm > /dev/null 2>&1
;; ;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}" printf "%b\n" "${RED}Unsupported package manager: ${PACKAGER}. Skipping.${RC}"
return 1
;; ;;
esac esac
} }
common_cleanup() { common_cleanup() {
"$ESCALATION_TOOL" find /var/tmp -type f -atime +5 -delete if [ -d /var/tmp ]; then
"$ESCALATION_TOOL" find /tmp -type f -atime +5 -delete "$ESCALATION_TOOL" find /var/tmp -type f -atime +5 -delete
"$ESCALATION_TOOL" find /var/log -type f -name "*.log" -exec truncate -s 0 {} \; fi
if [ -d /tmp ]; then
"$ESCALATION_TOOL" 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 {} \;
fi
"$ESCALATION_TOOL" journalctl --vacuum-time=3d "$ESCALATION_TOOL" journalctl --vacuum-time=3d
} }
@ -45,8 +50,12 @@ clean_data() {
case $clean_response in case $clean_response in
y|Y) y|Y)
printf "%b\n" "${YELLOW}Cleaning up old cache files and emptying trash...${RC}" printf "%b\n" "${YELLOW}Cleaning up old cache files and emptying trash...${RC}"
find "$HOME/.cache/" -type f -atime +5 -delete if [ -d "$HOME/.cache" ]; then
find "$HOME/.local/share/Trash" -mindepth 1 -delete find "$HOME/.cache/" -type f -atime +5 -delete
fi
if [ -d "$HOME/.local/share/Trash" ]; then
find "$HOME/.local/share/Trash" -mindepth 1 -delete
fi
printf "%b\n" "${GREEN}Cache and trash cleanup completed.${RC}" printf "%b\n" "${GREEN}Cache and trash cleanup completed.${RC}"
;; ;;
*) *)