92 lines
2.5 KiB
Plaintext
92 lines
2.5 KiB
Plaintext
which apt >/dev/null || return 0
|
|
|
|
which fd >/dev/null || alias fd='fdfind'
|
|
|
|
addalternative() {
|
|
sudo update-alternatives --install /usr/bin/$1 $1 "$(which "$1$2")" 1
|
|
}
|
|
|
|
snapinstall() {
|
|
sudo snap install "$@" && refreshSetup
|
|
}
|
|
|
|
alias aptupdate='sudo apt-get update'
|
|
alias aptremove='sudo apt-get remove'
|
|
alias aptpurge='sudo apt-get purge'
|
|
alias aptclean='sudo apt-get clean && sudo apt-get autoremove'
|
|
upgrade() {
|
|
if test -x /usr/bin/pkcon
|
|
then sudo pkcon update
|
|
else sudo apt update && sudo apt upgrade
|
|
fi
|
|
sudo snap refresh
|
|
flatpak update -y
|
|
sudo npm update -g
|
|
# npm -g outdated --parseable=true | cut -d : -f 4 | xargs -n 1 npm -g install
|
|
}
|
|
|
|
uma() {
|
|
if test "$1"
|
|
then printf 'y\nj\na' | umake "$1" "$2" "/opt/${3:-$2}"
|
|
else
|
|
uma ide idea-ultimate idea
|
|
uma android android-studio android/android-studio && yes | /opt/android/sdk/tools/bin/sdkmanager --licenses && pathadd /opt/android/sdk/tools/bin /opt/android/sdk/platform-tools && sudo apt install qemu-kvm && sudo adduser janek kvm
|
|
test -d "/opt/vscode" && uma ide visual-studio-code vscode
|
|
fi
|
|
}
|
|
|
|
alias aptrepo='sudo add-apt-repository'
|
|
_aptrepo_n="$(test "$OSTYPE" != "cygwin" && add-apt-repository --help | grep -- "-n")"
|
|
aptrepon() {
|
|
test $_aptrepo_n && aptrepo -y -n "$@" || aptrepo -y "$@"
|
|
}
|
|
aptrepos() {
|
|
for repo in "$@"
|
|
do aptrepon $repo
|
|
done
|
|
aptupdate
|
|
}
|
|
alias aptinstall='sudo apt-get install'
|
|
aptinstalls() {
|
|
apt-cache show "$1" | grep --color=never '\(Version\|Description\):'
|
|
aptinstall "$@"
|
|
}
|
|
aptinstalli() {
|
|
apt download $1
|
|
sudo dpkg --ignore-depends=$2 -i $1*.deb
|
|
}
|
|
aptrepoinstall() {
|
|
aptrepo -yu $1
|
|
if (( $# > 1 ))
|
|
then aptinstall "${@:2}"
|
|
else aptinstall "${1##*/}"
|
|
fi
|
|
}
|
|
|
|
# Gets the download url for the latest release of a package provided via GitHub Releases
|
|
# Usage: ghrelease USER REPO [PATTERN]
|
|
ghrelease() {
|
|
result=$(curl -s "https://api.github.com/repos/$1/$2/releases/latest" | grep -o "http.*${3:-deb}" | awk '{ print length(), $0}' | sort -n | cut -d' ' -f2-)
|
|
echo "$result" | command grep amd64 || echo "$result"
|
|
}
|
|
|
|
# Installs a local or remote(http/https) deb package and removes it after installation
|
|
installdeb() {
|
|
loc="/tmp/install.deb"
|
|
case $1 in
|
|
http*) wget -O "$loc" $1;;
|
|
*) loc="$1";;
|
|
esac
|
|
sudo dpkg -i "$loc" "${@:2}" && sudo apt -f install && rm "$loc"
|
|
}
|
|
|
|
installgh() {
|
|
installdeb $(ghrelease "$@")
|
|
}
|
|
|
|
# Downloads all dependencies of a package into the current directory
|
|
download-debs() {
|
|
apt-get download $1 && apt-cache depends -i $1 | awk '/Depends:/ {print $2}' | xargs apt-get download
|
|
}
|
|
|