New icons, and major improvements to p

This commit is contained in:
2024-01-07 21:15:54 +00:00
parent 9d79113173
commit b20a0d1fde
5 changed files with 92 additions and 39 deletions

View File

@@ -1,7 +1,7 @@
#! /bin/bash
source ./p.sh
if [[ $(p c ollama) == 0 ]]; then
if p c ollama &>/dev/null; then
kgx -e "ollama serve"
sleep 1
kgx -e "ollama run codellama"

0
scripts/debian-maintenance.sh Normal file → Executable file
View File

2
scripts/generalAI-jan.sh Normal file → Executable file
View File

@@ -1,5 +1,5 @@
source ./p.sh
if [[ $(p c jan) == 0 ]]; then
if p c jan &>/dev/null; then
echo "Jan is installed. Launch it from the app menu."
else
p i jan

View File

@@ -1,12 +1,5 @@
#! /bin/bash
# Cross-distro package manager
# p -> update os
# p i package -> install package
# p r package -> remove package
# p c package -> check if package is installed (0 -> installed; 1 -> not installed; 2 -> ERROR)
# d -> returns 1 -> Debian; 2 -> Arch; 0 -> Error
# m -> maintenance script
# Cross-distro package manager wrapper
d() {
if [ "$(grep -Ei 'debian|buntu|mint' /etc/*release)" ]; then
@@ -39,62 +32,126 @@ p() {
remove="sudo apt remove"
elif [ "$(grep -Ei 'arch|manjaro|artix' /etc/*release)" ]; then
if pacman -Qs paru >/dev/null; then
distro="ARCH"
update="paru -Syu"
install="paru -S"
remove="paru -R"
else
distro="ARCH"
update="sudo pacman -Syu"
install="sudo pacman -S"
remove="sudo pacman -R"
fi
distro="ARCH"
else
echo "DISTRO NOT SUPPORTED"
echo "[E] Distro not supported."
return 1
fi
# Detect if flatpak is installed.
if flatpak --version &>/dev/null; then
flatpak=true
else
flatpak=false
fi
# If no parameter
if [ -z $1 ]; then
if [ -z $1 ] || [ $1 == "u" ]; then
echo "[+] Updating distro packages..."
$update
if $flatpak; then
echo
echo "[+] Updating flatpaks..."
flatpak upgrade
fi
echo "[I] done."
return 0
fi
# If first parameter is i (install)
if [ $1 == "i" ]; then
$install $2
elif [ $1 == "i" ]; then # If first parameter is i (install)
echo "[+] Searching for $2 on the distro repos..."
$install $2 2>/dev/null
if [ $? == 0 ]; then
echo "[I] $2 was installed."
return 0
else
if $flatpak; then
echo
echo "[E] $2 not found."
echo "[+] Searching for $2 as a flatpak..."
echo
flatpak install $2 2>/dev/null
if [ $? == 0 ]; then
echo "[I] $2 was installed."
return 0
fi
fi
echo "[E] $2 not found or already installed."
return 2
fi
fi
# If first parameter is r (remove)
if [ $1 == "r" ]; then
$remove $2
elif [ $1 == "r" ]; then # If first parameter is r (remove)
echo "[+] Removing $2..."
$remove $2 2>/dev/null
if [ $? == 0 ]; then
echo "[I] $2 was removed."
return 0
else
if $flatpak; then
echo
echo "[E] $2 not found."
echo "[+] Searching for $2 as a flatpak..."
echo
flatpak remove $2 2>/dev/null
if [ $? == 0 ]; then
echo "[I] $2 was removed."
return 0
fi
fi
echo "[E] $2 not found."
return 2
fi
fi
if [ $1 == "c" ]; then
elif [ $1 == "c" ]; then # If first parameter is c (check)
if [ "$distro" == "DEB" ]; then
if dpkg-query -W -f='${Status}' $2 2>/dev/null | grep -q "install ok installed"; then
echo 0
echo true
return 0
else
echo 1
if $flatpak; then
flatpak list | grep $2 &>/dev/null
if [ $? == 0 ]; then
echo true
return 0
fi
fi
echo false
return 1
fi
elif [ "$distro" == "ARCH" ]; then
if pacman -Qs $2 >/dev/null; then
echo 0
echo true
return 0
else
echo 1
if $flatpak; then
flatpak list | grep -i $2 &>/dev/null
if [ $? == 0 ]; then
echo true
return 0
fi
fi
echo false
return 1
fi
else
echo 2
fi
else
echo "[I] Usage:"
echo "p (u) -> update os"
echo "p i package -> install package"
echo "p r package -> remove package"
echo "p c package -> check if package is installed (true/false; 2 -> ERROR)"
echo "d -> returns 1 -> Debian; 2 -> Arch; 0 -> Error"
echo "m -> maintenance script"
echo
echo "[I] Order of operations:"
echo "1 - Check distro repos"
echo "2 - Check AUR if on Arch"
echo "3 - Check flatpaks (only if flatpak support is enabled)"
fi
}