add pipx apps and terrahour
This commit is contained in:
@@ -114,6 +114,9 @@ install_packages "${MEDIA[@]}"
|
|||||||
echo "Installing fonts..."
|
echo "Installing fonts..."
|
||||||
install_packages "${FONTS[@]}"
|
install_packages "${FONTS[@]}"
|
||||||
|
|
||||||
|
echo "Installing pipx applications..."
|
||||||
|
install_pipx_apps "${PIPX[@]}"
|
||||||
|
|
||||||
# Enable all systemd services listed in SERVICES array, then register the SSH
|
# Enable all systemd services listed in SERVICES array, then register the SSH
|
||||||
# Avahi service so the machine is discoverable over mDNS
|
# Avahi service so the machine is discoverable over mDNS
|
||||||
echo "Configuring services..."
|
echo "Configuring services..."
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ DEV_TOOLS=(
|
|||||||
python-myst-parser
|
python-myst-parser
|
||||||
python-pillow
|
python-pillow
|
||||||
python-pip
|
python-pip
|
||||||
|
python-pipx
|
||||||
python-pygments
|
python-pygments
|
||||||
rust
|
rust
|
||||||
starship
|
starship
|
||||||
@@ -134,6 +135,11 @@ FONTS=(
|
|||||||
ttf-nerd-fonts-symbols
|
ttf-nerd-fonts-symbols
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Python applications installed with pipx
|
||||||
|
PIPX=(
|
||||||
|
terrahour
|
||||||
|
)
|
||||||
|
|
||||||
# Services to enable
|
# Services to enable
|
||||||
SERVICES=(
|
SERVICES=(
|
||||||
avahi-daemon.service
|
avahi-daemon.service
|
||||||
|
|||||||
@@ -9,4 +9,8 @@ mise self-update -y
|
|||||||
echo "Updating Ruby and Rails..."
|
echo "Updating Ruby and Rails..."
|
||||||
mise upgrade --bump ruby
|
mise upgrade --bump ruby
|
||||||
mise reshim
|
mise reshim
|
||||||
|
# A new Ruby's bundled gems (e.g. minitest) come with executables RubyGems
|
||||||
|
# doesn't recognise as its own, so gem update stops to ask whether to overwrite
|
||||||
|
# them. Regenerating them first lets the update go through without asking.
|
||||||
|
gem pristine --all --only-executables > /dev/null
|
||||||
gem update
|
gem update
|
||||||
|
|||||||
+13
-1
@@ -1,5 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
COREDESKTOP="$HOME/.local/share/coredesktop"
|
||||||
|
|
||||||
|
source "$COREDESKTOP/utils.sh"
|
||||||
|
source "$COREDESKTOP/packages.conf"
|
||||||
|
|
||||||
|
STATUS=0
|
||||||
|
|
||||||
|
echo "Checking for new pipx applications..."
|
||||||
|
install_pipx_apps "${PIPX[@]}" || STATUS=1
|
||||||
|
|
||||||
# pipx venvs are tied to the Python they were built with, so a Python upgrade
|
# pipx venvs are tied to the Python they were built with, so a Python upgrade
|
||||||
# breaks them in a way `pipx upgrade-all` can't repair. Rebuild them when the
|
# breaks them in a way `pipx upgrade-all` can't repair. Rebuild them when the
|
||||||
# Python version changes, or when an upgrade fails.
|
# Python version changes, or when an upgrade fails.
|
||||||
@@ -15,4 +25,6 @@ else
|
|||||||
echo "pipx upgrade-all failed, reinstalling pipx applications..."
|
echo "pipx upgrade-all failed, reinstalling pipx applications..."
|
||||||
pipx reinstall-all
|
pipx reinstall-all
|
||||||
fi
|
fi
|
||||||
fi && mkdir -p "$(dirname "$STAMP")" && echo "$CURRENT_PYTHON" > "$STAMP"
|
fi && mkdir -p "$(dirname "$STAMP")" && echo "$CURRENT_PYTHON" > "$STAMP" || STATUS=1
|
||||||
|
|
||||||
|
exit $STATUS
|
||||||
|
|||||||
@@ -27,6 +27,20 @@ install_packages() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Function to install pipx applications if not already installed
|
||||||
|
install_pipx_apps() {
|
||||||
|
local installed app status=0
|
||||||
|
installed="$(pipx list --short 2> /dev/null | cut -d' ' -f1)"
|
||||||
|
|
||||||
|
for app in "$@"; do
|
||||||
|
if ! grep -qx "$app" <<< "$installed"; then
|
||||||
|
echo "Installing $app with pipx..."
|
||||||
|
pipx install "$app" || status=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return $status
|
||||||
|
}
|
||||||
|
|
||||||
# Function to remove pacman/AUR packages if installed
|
# Function to remove pacman/AUR packages if installed
|
||||||
remove_packages() {
|
remove_packages() {
|
||||||
local packages=("$@")
|
local packages=("$@")
|
||||||
|
|||||||
Reference in New Issue
Block a user