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:
parent
c3361dd996
commit
1f4075cbdb
@ -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
|
257
conf.d/fish_alias_pkgmgr.fish
Normal file
257
conf.d/fish_alias_pkgmgr.fish
Normal 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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user