Update: Package manager aliases

- Well-structured
- Seperate: Package mgrs, Helpers, Lang pkg mgrs
- Add: Wider variety of package managers & distros
This commit is contained in:
Candifloss 2025-08-19 19:21:47 +05:30
parent c3361dd996
commit 1f4075cbdb
2 changed files with 257 additions and 43 deletions

View File

@ -1,43 +0,0 @@
# Manually set OS
set -gx OS "fedora"
# Auto-detect if OS is not already set
if not set -q OS
if test -f /etc/os-release
set -l distro (grep "^ID=" /etc/os-release | cut -d= -f2 | tr -d '"')
set -gx OS $distro
else if test (uname) = "FreeBSD"
set -gx OS "freebsd"
end
end
# Aliases based on OS
switch $OS
case debian
alias inst="sudo apt-get install -y"
alias updt="sudo apt-get update && sudo apt-get upgrade -y && rustup update"
case ubuntu
alias inst="sudo apt-get install -y"
alias updt="sudo apt-get update && sudo apt-get upgrade -y && sudo snap refresh && rustup update"
case arch manjaro
alias inst="sudo pacman -S"
alias updt="sudo pacman -Syuu --noconfirm && paru -Syu --noconfirm && rustup update"
case fedora
alias inst="sudo dnf install -y"
alias updt="sudo dnf upgrade -y && rustup update"
case rhel centos rocky almalinux
alias inst="sudo dnf install -y"
alias updt="sudo dnf upgrade -y && rustup update"
case opensuse tumbleweed
alias inst="sudo zypper install -y"
alias updt="sudo zypper refresh && sudo zypper update -y && rustup update"
case void
alias inst="sudo xbps-install -Sy"
alias updt="sudo xbps-install -Su && rustup update"
case alpine
alias inst="sudo apk add"
alias updt="sudo apk update && sudo apk upgrade && rustup update"
case freebsd
alias inst="sudo pkg install -y"
alias updt="sudo pkg update && sudo pkg upgrade -y && rustup update"
end

View File

@ -0,0 +1,257 @@
# Set manually
set -gx OS "fedora" # Choose OS
# set -gx HELPERS "snap flatpak" # Specify helper package managers, if any
set -gx LANG_HELPERS "cargo" # List of language package managers
# Auto-detect OS if not manually set
if not set -q OS
if test -f /etc/os-release
set -l distro (grep "^ID=" /etc/os-release | cut -d= -f2 | tr -d '"')
set -gx OS $distro
else if test (uname) = "FreeBSD"
set -gx OS "freebsd"
else if test (uname) = "OpenBSD"
set -gx OS "openbsd"
else if test (uname) = "NetBSD"
set -gx OS "netbsd"
else if test (uname) = "DragonFly"
set -gx OS "dragonfly"
else if test (uname) = "Redox"
set -gx OS "redox"
end
end
# Base OS package manager
switch $OS
case debian ubuntu linuxmint pop elementary neon zorin kali mx antix
alias inst="sudo apt-get install -y"
set updt "sudo apt-get update && sudo apt-get upgrade -y"
case arch manjaro endeavour arcolinux garuda parabola artix
alias inst="sudo pacman -S"
set updt "sudo pacman -Syuu --noconfirm"
case fedora rhel centos rocky almalinux oracle
alias inst="sudo dnf install -y"
set updt "sudo dnf upgrade -y"
case opensuse tumbleweed leap suse sles
alias inst="sudo zypper install -y"
set updt "sudo zypper refresh && sudo zypper update -y"
case void
alias inst="sudo xbps-install -Sy"
set updt "sudo xbps-install -Su"
case alpine
alias inst="sudo apk add"
set updt "sudo apk update && sudo apk upgrade"
case gentoo funtoo
alias inst="sudo emerge -av"
set updt "sudo emerge --sync && sudo emerge -avuDN @world"
case slackware
alias inst="sudo slackpkg install"
set updt "sudo slackpkg update && sudo slackpkg upgrade-all"
case nixos
alias inst="nix-env -iA"
set updt "sudo nix-channel --update && sudo nixos-rebuild switch"
case guix
alias inst="guix install"
set updt "guix pull && guix upgrade"
# BSD Family
case freebsd dragonfly
alias inst="sudo pkg install -y"
set updt "sudo pkg update && sudo pkg upgrade -y"
case openbsd
alias inst="doas pkg_add"
set updt "doas pkg_add -u"
case netbsd
alias inst="sudo pkgin install"
set updt "sudo pkgin update && sudo pkgin upgrade"
# Redox OS
case redox
alias inst="pkg install"
set updt "pkg upgrade"
# Unknown fallback
case '*'
alias inst="echo 'Unknown OS: please set aliases manually'"
set updt "echo 'Unknown OS: no update command'"
end
# Helpers (extra package managers)
# Multiple helpers allowed: e.g. set -gx HELPERS "snap flatpak yay"
if set -q HELPERS
for helper in $HELPERS
switch $helper
# Universal
case snap
set updt "$updt && sudo snap refresh"
case flatpak
set updt "$updt && flatpak update -y"
case appimage
set updt "$updt && echo 'Update AppImages manually or with appimageupdatetool'"
case brew
set updt "$updt && brew update && brew upgrade"
# Arch AUR Helpers
case yay
set updt "$updt && yay -Syu --noconfirm"
case paru
set updt "$updt && paru -Syu --noconfirm"
case trizen
set updt "$updt && trizen -Syu --noconfirm"
case pacaur
set updt "$updt && pacaur -Syu --noconfirm"
# Fedora / RHEL Helpers
case rpm-ostree
set updt "$updt && sudo rpm-ostree upgrade"
case copr
set updt "$updt && echo 'COPR repos update automatically with dnf upgrade'"
# openSUSE Helpers
case oneclick
set updt "$updt && echo 'Use YaST or zypper for OneClick updates'"
case osc
set updt "$updt && osc up"
# Slackware Helpers
case slackpkg+
set updt "$updt && slackpkg update gpg && slackpkg update && slackpkg upgrade-all"
# Portable/Other
case pkgsrc
set updt "$updt && sudo pkgin update && sudo pkgin upgrade"
case spack
set updt "$updt && spack update && spack upgrade"
end
end
end
# Language / toolchain managers
# Multiple allowed: e.g. set -gx LANG_HELPERS "cargo npm pip gem"
if set -q LANG_HELPERS
for lang in $LANG_HELPERS
switch $lang
# Rust
case cargo
set updt "$updt && rustup update"
# Node.js
case npm
set updt "$updt && npm update -g && npm install -g npm"
case yarn
set updt "$updt && yarn global upgrade"
case pnpm
set updt "$updt && pnpm add -g npm && pnpm update -g"
# Python
case pip
set updt "$updt && pip install --upgrade pip setuptools wheel && pip list --outdated --format=freeze | cut -d'=' -f1 | xargs -n1 pip install -U"
case pipx
set updt "$updt && pipx upgrade-all"
# Ruby
case gem
set updt "$updt && gem update --system && gem update"
case bundler
set updt "$updt && bundle update"
# Go
case go
set updt "$updt && go install all"
# PHP
case composer
set updt "$updt && composer self-update && composer global update"
# Java
case sdkman
set updt "$updt && sdk update && sdk upgrade"
# Haskell
case cabal
set updt "$updt && cabal update && cabal install --lib --upgrade-dependencies"
case stack
set updt "$updt && stack upgrade && stack update"
# Elixir / Erlang
case mix
set updt "$updt && mix local.hex --force && mix local.rebar --force && mix deps.update --all"
case rebar
set updt "$updt && rebar3 update"
# Perl
case cpan
set updt "$updt && cpan -u"
case cpanm
set updt "$updt && cpan-outdated -p | xargs cpanm"
# .NET
case dotnet
set updt "$updt && dotnet tool update --global --all"
# Julia
case julia
set updt "$updt && julia -e 'using Pkg; Pkg.update()'"
# R
case cran
set updt "$updt && R -q -e 'update.packages(ask=FALSE, repos=\"https://cloud.r-project.org\")'"
# Lua
case luarocks
set updt "$updt && luarocks install --server=https://luarocks.org/dev"
# Scala
case coursier
set updt "$updt && cs update"
# Dart / Flutter
case dart
set updt "$updt && dart pub upgrade"
case flutter
set updt "$updt && flutter upgrade"
# OCaml
case opam
set updt "$updt && opam update && opam upgrade -y"
# Common Lisp
case quicklisp
set updt "$updt && sbcl --eval '(ql:update-all-dists)' --quit"
# Nim
case nimble
set updt "$updt && nimble refresh && nimble update"
# Crystal
case shards
set updt "$updt && shards update"
end
end
end
# Final alias
alias updt="$updt"
alias systemctl="sudo systemctl"