Skip to content

Instantly share code, notes, and snippets.

@danilogco
Last active June 24, 2025 17:36
Show Gist options
  • Save danilogco/dd7c28c30bf08a6cfebc5ed21c58a147 to your computer and use it in GitHub Desktop.
Save danilogco/dd7c28c30bf08a6cfebc5ed21c58a147 to your computer and use it in GitHub Desktop.
zsh useful aliases
# Utils
alias upd='sudo apt update && sudo apt full-upgrade -y && flatpak upgrade -y'
alias cleanup='sudo apt autoremove -y && sudo apt autoclean -y && flatpak uninstall --unused -y'
alias please='sudo $(fc -ln -1)'
alias ip='ip -c a'
alias ports='sudo lsof -i -P -n | grep LISTEN'
# Zsh config helpers
alias zshconfig="nano ~/.zshrc"
alias zshaliases="nano ~/.zsh_aliases"
alias ohmyzsh="nano ~/.oh-my-zsh"
alias zsh_update='omz update && \
git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull && \
git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions pull && \
git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting pull'
pkg() {
local cmd="$1"
shift
case "$cmd" in
install)
local pm=""
local query=""
while [[ $# -gt 0 ]]; do
case "$1" in
--pm)
pm="$2"
shift 2
;;
*)
query="$1"
shift
;;
esac
done
if [[ -z "$query" ]]; then
echo "Usage: pkg install [--pm flatpak|apt] <app-name>"
return 1
fi
if [[ "$pm" == "flatpak" ]]; then
local app_id
app_id=$(flatpak search --columns=application,name "$query" | grep -i "$query" | awk 'NR==1 {print $1}')
if [[ -n "$app_id" ]]; then
echo "Installing $query as $app_id via Flatpak..."
flatpak install -y flathub "$app_id"
else
echo "Could not find '$query' in Flatpak."
return 1
fi
elif [[ "$pm" == "apt" ]]; then
echo "Installing $query via APT..."
sudo apt install -y "$query"
else
local app_id
app_id=$(flatpak search --columns=application,name "$query" | grep -i "$query" | awk 'NR==1 {print $1}')
if [[ -n "$app_id" ]]; then
echo "Installing $query as $app_id via Flatpak..."
flatpak install -y flathub "$app_id"
else
echo "Flatpak not found. Installing $query via APT..."
sudo apt install -y "$query"
fi
fi
;;
uninstall)
local query="$1"
if [[ -z "$query" ]]; then
echo "Usage: pkg uninstall <app-name>"
return 1
fi
local app_id
app_id=$(flatpak list --app --columns=application,name | grep -i "$query" | awk 'NR==1 {print $1}')
if [[ -n "$app_id" ]]; then
echo "Uninstalling $app_id via Flatpak..."
flatpak uninstall -y "$app_id"
else
echo "Flatpak app not found. Trying to remove $query via APT..."
sudo apt remove -y "$query"
fi
;;
update)
echo "Updating Flatpak packages..."
flatpak update -y
echo "Updating APT packages..."
sudo apt update
sudo apt upgrade -y
;;
clean)
echo "Running cleanup..."
sudo apt autoremove -y
sudo apt autoclean -y
flatpak uninstall --unused -y
;;
*)
echo "Usage:"
echo " pkg install [--pm flatpak|apt] <app-name>"
echo " pkg uninstall <app-name>"
echo " pkg update"
echo " pkg clean"
return 1
;;
esac
}
# Show user-installed apps
alias flatpak-user-apps='flatpak list --app --columns=application,name'
alias apt-user-apps="comm -23 <(apt-mark showmanual | sort) <(gzip -dc /var/log/installer/initial-status.gz 2>/dev/null | awk '/^Package: / {print \$2}' | sort)"
alias user-apps='echo "--- Flatpak ---"; flatpak-user-apps; echo "\n--- APT ---"; apt-user-apps'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment