wip4
This commit is contained in:
@@ -18,7 +18,7 @@ for file in ./install/*; do
|
|||||||
name=${name%.sh}
|
name=${name%.sh}
|
||||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||||
[ -z "$desc" ] && desc='<no description>'
|
[ -z "$desc" ] && desc='<no description>'
|
||||||
echo -e "##${name}: ${desc}\n${name}:\n\t@${file}\n" >> Makefile
|
echo -e "##${name}: ${desc}\n${name}:\n\t@${file} install\n" >> Makefile
|
||||||
done;
|
done;
|
||||||
|
|
||||||
cat << EOF >> Makefile
|
cat << EOF >> Makefile
|
||||||
@@ -47,7 +47,7 @@ for file in ./upgrade/*; do
|
|||||||
name=${name%.sh}
|
name=${name%.sh}
|
||||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||||
[ -z "$desc" ] && desc='<no description>'
|
[ -z "$desc" ] && desc='<no description>'
|
||||||
echo -e "##${CHR_UPGRADE}${name}: ${desc}\n${CHR_UPGRADE}${name}:\n\t@${file}\n" >> Makefile
|
echo -e "##${CHR_UPGRADE}${name}: ${desc}\n${CHR_UPGRADE}${name}:\n\t@${file} upgrade\n" >> Makefile
|
||||||
done;
|
done;
|
||||||
|
|
||||||
cat << EOF >> Makefile
|
cat << EOF >> Makefile
|
||||||
@@ -62,7 +62,7 @@ for file in ./uninstall/*; do
|
|||||||
name=${name%.sh}
|
name=${name%.sh}
|
||||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||||
[ -z "$desc" ] && desc='<no description>'
|
[ -z "$desc" ] && desc='<no description>'
|
||||||
echo -e "##${CHR_UNINSTALL}${name}: ${desc}\n${CHR_UNINSTALL}${name}:\n\t@${file}\n" >> Makefile
|
echo -e "##${CHR_UNINSTALL}${name}: ${desc}\n${CHR_UNINSTALL}${name}:\n\t@${file} remove\n" >> Makefile
|
||||||
done;
|
done;
|
||||||
|
|
||||||
cat << EOF >> Makefile
|
cat << EOF >> Makefile
|
||||||
|
|||||||
46
install/_example
Normal file
46
install/_example
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
##makedesc: Example script
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
install() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing example"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sleep 3
|
||||||
|
echo
|
||||||
|
echo "Finish! example v1.2.3"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
upgrade() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Upgrading example"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sleep 3
|
||||||
|
echo
|
||||||
|
echo "Finish! example v1.2.3"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
remove() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing example"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sleep 3
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
u|upgrade|update) upgrade ;;
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
46
install/anytype
Executable file
46
install/anytype
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
##makedesc: Manage anytype (deb)
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
installDir="$HOME/install/anytype"
|
||||||
|
|
||||||
|
install() {
|
||||||
|
release="$(curl -s 'https://api.github.com/repos/anyproto/anytype-ts/releases/latest')"
|
||||||
|
tag="$(echo "$release" | jq -r '.tag_name')"
|
||||||
|
asset="$(echo "$release" | jq -r '.assets.[] | select(.name | test("amd64.deb$"))')"
|
||||||
|
url="$(echo "$asset" | jq -r '.browser_download_url')"
|
||||||
|
echo -e "$tag $url"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing anytype $tag"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
mkdir -p "$installDir"
|
||||||
|
filepath="$installDir/anytype_${tag}_amd46.deb"
|
||||||
|
wget "$url" -O "$filepath"
|
||||||
|
sudo dpkg -i "$filepath"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish! $tag"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
remove() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing anytype"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sudo apt purge -y anytype*
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
@@ -1,11 +1,46 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: Install apache2 (latest)
|
##makedesc: Manage apache2 (apt)
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
|
||||||
|
|
||||||
title
|
install() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing apache2"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sudo apt install -y apache2
|
||||||
|
sudo systemctl restart apache2
|
||||||
|
echo
|
||||||
|
echo "Finish! $(apache2 -v)"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
apt_install apache2
|
upgrade() {
|
||||||
sudo systemctl restart apache2
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Upgrading apache2"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sudo apt upgrade -y apache2 apache2-data apache2-utils
|
||||||
|
sudo systemctl restart apache2
|
||||||
|
echo
|
||||||
|
echo "Finish! $(apache2 -v)"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
success "apache2 installed!"
|
remove() {
|
||||||
apache2 -v
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing apache2"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sudo apt purge -y apache2*
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
u|upgrade|update) upgrade ;;
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: Install software from apt
|
##makedesc: Install basic software from apt
|
||||||
|
|
||||||
sudo apt update && \
|
sudo apt update && \
|
||||||
sudo apt upgrade -y --autoremove && \
|
sudo apt upgrade -y --autoremove && \
|
||||||
@@ -34,17 +34,17 @@ sudo apt update && \
|
|||||||
p7zip-full \
|
p7zip-full \
|
||||||
easyeffects \
|
easyeffects \
|
||||||
software-properties-common \
|
software-properties-common \
|
||||||
terminator \
|
|
||||||
ubuntu-restricted-extras \
|
ubuntu-restricted-extras \
|
||||||
unzip \
|
unzip \
|
||||||
vlc \
|
vlc \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
xclip \
|
|
||||||
inotify-tools \
|
inotify-tools \
|
||||||
notify-osd \
|
notify-osd \
|
||||||
fonts-open-sans \
|
fonts-open-sans \
|
||||||
libnotify-bin \
|
libnotify-bin \
|
||||||
tree \
|
tree \
|
||||||
earlyoom
|
earlyoom
|
||||||
|
# terminator
|
||||||
|
# xclip
|
||||||
# sqlitebrowser
|
# sqlitebrowser
|
||||||
# etckeeper
|
# etckeeper
|
||||||
|
|||||||
@@ -1,13 +1,52 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: Install Canon Pixma MG2500 + ppa
|
##makedesc: Canon Pixma MG2500 + ppa
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
|
||||||
|
|
||||||
title
|
install() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing Canon Pixma MG2500 + ppa"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sudo add-apt-repository -y ppa:thierry-f/fork-michael-gruz
|
||||||
|
sudo apt install -y cnijfilter-mg2500series scangearmp-mg2500series
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo "Drivers for Canon Pixma MG2500 installed!"
|
||||||
|
echo "Now you must reboot PC and connect your printer."
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
apt_ppa_add ppa:thierry-f/fork-michael-gruz
|
upgrade() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Upgrading Canon Pixma MG2500 + ppa"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sudo apt upgrade -y cnijfilter-mg2500series scangearmp-mg2500series
|
||||||
|
echo
|
||||||
|
echo "Finish! Canon Pixma MG2500 + ppa"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
apt_install cnijfilter-mg2500series
|
remove() {
|
||||||
apt_install scangearmp-mg2500series
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing Canon Pixma MG2500 + ppa"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
# sudo apt purge -y cnijfilter-mg2500series scangearmp-mg2500series
|
||||||
|
sudp dpkg -r cnijfilter-mg2500series
|
||||||
|
sudp dpkg -r cnijfilter-common
|
||||||
|
sudp dpkg -r scangearmp-mg2500series
|
||||||
|
sudp dpkg -r scangearmp-common
|
||||||
|
sudo add-apt-repository -ry ppa:thierry-f/fork-michael-gruz
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
success "Drivers for Canon Pixma MG2500 installed!"
|
case "$1" in
|
||||||
info "Now you must reboot PC and connect your printer."
|
u|upgrade|update) upgrade ;;
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
|
|||||||
@@ -1,17 +1,56 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: Install google chrome (latest)
|
##makedesc: Google Chrome (latest)
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
# https://t.me/axenov_blog/251
|
# https://t.me/axenov_blog/251
|
||||||
|
|
||||||
title
|
dest="$HOME/install/deb"
|
||||||
|
deb="$dest/google-chrome.deb"
|
||||||
|
url="https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
|
||||||
|
|
||||||
mkdir -p "$HOME/install/deb"
|
install() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing Google Chrome"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
mkdir -p "$dest"
|
||||||
|
wget "$url" -O "$deb"
|
||||||
|
sudo dpkg -i "$deb"
|
||||||
|
echo
|
||||||
|
echo "Finish! $(google-chrome --version)"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
download "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" \
|
upgrade() {
|
||||||
"$HOME/install/deb/google-chrome.deb"
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Upgrading Google Chrome"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
mkdir -p "$dest"
|
||||||
|
wget "$url" -O "$deb"
|
||||||
|
sudo dpkg -i "$deb"
|
||||||
|
echo
|
||||||
|
echo "Finish! $(google-chrome --version)"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
dpkg_install "$HOME/install/deb/google-chrome.deb"
|
remove() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing Google Chrome"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sudo dpkg -r google-chrome
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
success "Google Chrome installed!"
|
case "$1" in
|
||||||
google-chrome --version
|
u|upgrade|update) upgrade ;;
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
|
|||||||
@@ -1,6 +1,56 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: ClamAV (WIP)
|
##makedesc: ClamAV
|
||||||
|
|
||||||
sudo apt install clamav -y && \
|
set -eo pipefail
|
||||||
echo "DatabaseMirror packages.microsoft.com/clamav" | sudo tee -a /etc/clamav/freshclam.conf && \
|
|
||||||
|
install() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing clamav"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
sudo apt install -y clamav
|
||||||
|
echo "DatabaseMirror packages.microsoft.com/clamav" \
|
||||||
|
| sudo tee -a /etc/clamav/freshclam.conf
|
||||||
sudo freshclam
|
sudo freshclam
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
upgrade() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Upgrading clamav"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
sudo apt upgrade -y clamav
|
||||||
|
sudo freshclam
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
remove() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing clamav"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
sudo apt purge -y clamav*
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
u|upgrade|update) upgrade ;;
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
|
|||||||
@@ -1,39 +1,78 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: Install docker (latest) + ppa
|
##makedesc: Docker + ppa
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
|
||||||
|
|
||||||
# https://docs.docker.com/engine/install/ubuntu/
|
# https://docs.docker.com/engine/install/ubuntu/
|
||||||
# https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user
|
# https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user
|
||||||
|
|
||||||
title
|
set -eo pipefail
|
||||||
|
|
||||||
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do
|
doRemove() {
|
||||||
apt_remove $pkg
|
sudo apt purge -y docker* podman-docker containerd runc
|
||||||
done
|
}
|
||||||
|
|
||||||
require ca-certificates lsb-release
|
install_() {
|
||||||
source /etc/os-release
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing Docker"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
doRemove
|
||||||
|
sudo apt install -y ca-certificates lsb-release
|
||||||
|
source /etc/os-release
|
||||||
|
codename="$VERSION_CODENAME"
|
||||||
|
key="/etc/apt/keyrings/docker.asc"
|
||||||
|
arch=$(dpkg --print-architecture)
|
||||||
|
sudo install -m 0755 -d /etc/apt/keyrings
|
||||||
|
curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" -o "$key"
|
||||||
|
sudo chmod a+r $key
|
||||||
|
echo "deb [arch=$arch signed-by=$key] https://download.docker.com/linux/ubuntu $codename stable" \
|
||||||
|
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y \
|
||||||
|
docker-ce \
|
||||||
|
docker-ce-cli \
|
||||||
|
containerd.io \
|
||||||
|
docker-buildx-plugin \
|
||||||
|
docker-compose-plugin
|
||||||
|
sudo usermod -aG docker "$(whoami)"
|
||||||
|
newgrp docker
|
||||||
|
echo
|
||||||
|
echo "Finish! $(docker --version)"
|
||||||
|
echo "Probably, you need to relogin to apply 'docker' group permanently."
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
key="/etc/apt/keyrings/docker.asc"
|
upgrade() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Upgrading Docker"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
sudo apt upgrade -y \
|
||||||
|
docker-ce \
|
||||||
|
docker-ce-cli \
|
||||||
|
containerd.io \
|
||||||
|
docker-buildx-plugin \
|
||||||
|
docker-compose-plugin
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
sudo install -m 0755 -d /etc/apt/keyrings
|
remove() {
|
||||||
sudo cdownload https://download.docker.com/linux/ubuntu/gpg $key
|
echo
|
||||||
sudo chmod a+r $key
|
echo "==============================================="
|
||||||
|
echo "Removing Docker"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
doRemove
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
echo "deb [arch=$(dpkg_arch) signed-by=$key] https://download.docker.com/linux/ubuntu $VERSION_CODENAME stable" \
|
case "$1" in
|
||||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
u|upgrade|update) upgrade ;;
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
apt_update
|
*) install ;;
|
||||||
apt_install \
|
esac
|
||||||
docker-ce \
|
|
||||||
docker-ce-cli \
|
|
||||||
containerd.io \
|
|
||||||
docker-buildx-plugin \
|
|
||||||
docker-compose-plugin
|
|
||||||
|
|
||||||
sudo usermod -aG docker $(whoami)
|
|
||||||
newgrp docker
|
|
||||||
|
|
||||||
success "Docker installed!"
|
|
||||||
docker --version
|
|
||||||
info "Probably, you need to relogin to apply 'docker' group permanently."
|
|
||||||
|
|||||||
@@ -1,28 +1,57 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: Install golang v1.21.0
|
##makedesc: Install golang
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
|
||||||
|
|
||||||
# https://go.dev/dl/
|
# https://go.dev/dl/
|
||||||
# https://golang.org/doc/install
|
# https://golang.org/doc/install
|
||||||
# https://www.vultr.com/docs/install-the-latest-version-of-golang-on-ubuntu
|
# https://github.com/udhos/update-golang/blob/master/update-golang.sh
|
||||||
|
|
||||||
[ $1 ] && VERSION="$1" || VERSION="1.23.0"
|
set -eo pipefail
|
||||||
title "Installing golang v$VERSION..."
|
|
||||||
|
|
||||||
FILE="go$VERSION.linux-amd64.tar.gz"
|
doRemove() {
|
||||||
sudo rm -rf /usr/local/go && \
|
[ -d "/usr/local/go" ] && sudo rm -rf "/usr/local/go"
|
||||||
download "https://golang.org/dl/$FILE" "/tmp/$FILE" && \
|
}
|
||||||
sudo tar -xzf "/tmp/$FILE" -C /usr/local && \
|
|
||||||
rm -rf "/tmp/$FILE" && \
|
|
||||||
sudo chown $USER: -R /usr/local/go && \
|
|
||||||
echo 'export PATH="/usr/local/go/bin:$PATH"' >> "$HOME/.profile" && \
|
|
||||||
echo "export GOPATH=\"\$HOME/.go\"" >> "$HOME/.profile" && \
|
|
||||||
source ~/.profile
|
|
||||||
|
|
||||||
[ $? = 0 ] && {
|
install() {
|
||||||
|
dlUrl="https://go.dev/dl"
|
||||||
|
json=$(curl -sSL "$dlUrl/?mode=json")
|
||||||
|
version=$(echo "$json" | jq -r '.[0].version')
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing golang v$version"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
latestJson=$(echo "$json" | jq -r '.[0].files.[] | select (.kind == "archive" and .os == "linux" and .arch == "amd64")')
|
||||||
|
fileName=$(echo "$latestJson" | jq -r '.filename')
|
||||||
|
fileUrl="$dlUrl/$fileName"
|
||||||
|
downloadPath="$HOME/install"
|
||||||
|
archivePath="$downloadPath/$fileName"
|
||||||
|
doRemove
|
||||||
|
[ -f "$archivePath" ] || wget "$fileUrl" -O "$archivePath"
|
||||||
|
[ -f "$archivePath" ] && sudo tar -xzf "$archivePath" -C /usr/local
|
||||||
|
sudo chown "$USER": -R /usr/local/go
|
||||||
|
echo 'export PATH="/usr/local/go/bin:$PATH"' >> "$HOME/.profile"
|
||||||
|
echo "export GOPATH=\"\$HOME/.go\"" >> "$HOME/.profile"
|
||||||
echo
|
echo
|
||||||
success "golang installed!"
|
|
||||||
info "NOTE: now run 'source ~/.profile' to apply new env vars"
|
|
||||||
go version
|
go version
|
||||||
|
go install github.com/go-delve/delve/cmd/dlv@latest
|
||||||
|
go install
|
||||||
|
echo "Finish!"
|
||||||
|
}
|
||||||
|
|
||||||
|
remove() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing golang"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
doRemove
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
##makedesc: Install JetBrains Mono fonts
|
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
|
||||||
|
|
||||||
# https://www.jetbrains.com/lp/mono/#how-to-install
|
|
||||||
|
|
||||||
title
|
|
||||||
|
|
||||||
require unzip
|
|
||||||
|
|
||||||
mkdir -p "$HOME/install/jbmono" "$HOME/.local/share/fonts/"
|
|
||||||
download "https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip" "$HOME/install/jbmono.zip" && \
|
|
||||||
unzip -oj "$HOME/install/jbmono.zip" "fonts/ttf/*.ttf" -d "$HOME/.local/share/fonts/" && \
|
|
||||||
fc-cache -vf "$HOME/.local/share/fonts/"
|
|
||||||
|
|
||||||
[ $? = 0 ] && {
|
|
||||||
echo
|
|
||||||
success "JetBrains Mono fonts installed!"
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
66
install/nerd-fonts
Executable file
66
install/nerd-fonts
Executable file
@@ -0,0 +1,66 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
##makedesc: Install nerd-fonts
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
#TODO nokia-sans
|
||||||
|
|
||||||
|
downloadPath="$HOME/install/nerd-fonts"
|
||||||
|
installPath="$HOME/.local/share/fonts/"
|
||||||
|
url="https://github.com/ryanoasis/nerd-fonts/releases/latest/download"
|
||||||
|
|
||||||
|
fonts=(
|
||||||
|
FiraCode
|
||||||
|
FiraMono
|
||||||
|
JetBrainsMono
|
||||||
|
Meslo
|
||||||
|
Noto
|
||||||
|
RobotoMono
|
||||||
|
Ubuntu
|
||||||
|
UbuntuMono
|
||||||
|
UbuntuSans
|
||||||
|
)
|
||||||
|
|
||||||
|
install() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing nerd-fonts"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
[[ -d "$downloadPath" ]] || mkdir -p "$downloadPath"
|
||||||
|
|
||||||
|
for fontname in "${fonts[@]}"; do
|
||||||
|
fontdir="$installPath/Nerd-$fontname"
|
||||||
|
wget "$url/$fontname.tar.xz" -O "$downloadPath/$fontname.tar.xz"
|
||||||
|
[[ -d "$installPath/$fontname" ]] || mkdir -p "$fontdir"
|
||||||
|
tar -xJf "$downloadPath/$fontname.tar.xz" -C "$fontdir"
|
||||||
|
done
|
||||||
|
|
||||||
|
fc-cache -vf "$installPath"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
remove() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing nerd-fonts"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
find "$installPath" -type d -name "Nerd-*" -exec rm -rf {} +
|
||||||
|
fc-cache -vf "$installPath"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
|
|
||||||
81
install/nvim
81
install/nvim
@@ -1,33 +1,80 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
##makedesc: Install nvim + lazyvim
|
##makedesc: Install nvim + lazyvim
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
set -eo pipefail
|
||||||
|
|
||||||
# https://www.lazyvim.org/installation
|
# https://www.lazyvim.org/installation
|
||||||
# https://www.devas.life/effective-neovim-setup-for-web-development-towards-2024/
|
# https://www.devas.life/effective-neovim-setup-for-web-development-towards-2024/
|
||||||
|
|
||||||
title
|
# TODO https://github.com/rockerBOO/awesome-neovim
|
||||||
|
# TODO https://docs.astronvim.com
|
||||||
|
|
||||||
require git
|
url="https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz"
|
||||||
|
downloadPath="$HOME/install"
|
||||||
|
downloadTarGz="$downloadPath/nvim.tar.gz"
|
||||||
|
installPath="/opt/nvim"
|
||||||
|
cfgPath="$HOME/.config/nvim"
|
||||||
|
nvimDataPaths=(
|
||||||
|
"$cfgPath"
|
||||||
|
"$HOME"/.local/share/nvim
|
||||||
|
"$HOME"/.local/state/nvim
|
||||||
|
"$HOME"/.cache/nvim
|
||||||
|
)
|
||||||
|
|
||||||
nvimUrl="https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz"
|
backup() {
|
||||||
installPath="$HOME/install"
|
echo "Backup configuration files..."
|
||||||
installTar="$installPath/nvim.tar.gz"
|
t=$(date +'%s')
|
||||||
|
for path in "${nvimDataPaths[@]}"; do
|
||||||
|
[[ -d "$path" ]] && cp -v "$path" "$path-$t.bak"
|
||||||
|
done
|
||||||
|
echo "Done"
|
||||||
|
}
|
||||||
|
|
||||||
[ -d "$HOME/.config/nvim" ] && mv "$HOME"/.config/nvim{,.bak}
|
install() {
|
||||||
[ -d "$HOME/.local/share/nvim" ] && mv "$HOME"/.local/share/nvim{,.bak}
|
echo
|
||||||
[ -d "$HOME/.local/state/nvim" ] && mv "$HOME"/.local/state/nvim{,.bak}
|
echo "==============================================="
|
||||||
[ -d "$HOME/.cache/nvim" ] && mv "$HOME"/.cache/nvim{,.bak}
|
echo "Installing neovim"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
download "$nvimUrl" "$installTar"
|
backup
|
||||||
unpack_targz "$installTar" "$installPath"
|
wget "$url" -O "$downloadTarGz"
|
||||||
|
tar -xzf "$downloadTarGz" -C "$downloadPath"
|
||||||
|
|
||||||
sudo rm -vrf /opt/nvim
|
sudo rm -rf "$installPath"
|
||||||
sudo mv -v "$installPath/nvim-linux-x86_64" /opt/nvim
|
sudo mv "$downloadPath/nvim-linux-x86_64" "$installPath"
|
||||||
|
|
||||||
git.clone_quick https://github.com/LazyVim/starter "$HOME/.config/nvim"
|
git clone --depth=1 --single-branch https://github.com/LazyVim/starter "$cfgPath"
|
||||||
rm -rf "$HOME/.config/nvim/.git"
|
rm -rf "$cfgPath/.git"
|
||||||
|
|
||||||
sudo update-desktop-database && \
|
sudo update-desktop-database
|
||||||
xdg-desktop-menu forceupdate
|
xdg-desktop-menu forceupdate
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
nvim -v
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
remove() {
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Removing nerd-fonts"
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
find "$downloadPath" -type d -name "Nerd-*" -exec rm -rf {} +
|
||||||
|
fc-cache -vf "$downloadPath"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
b|backup) backup ;;
|
||||||
|
r|remove|d|delete|p|purge) remove ;;
|
||||||
|
*) install ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
# export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
|
# export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
|
||||||
|
|||||||
33
install/tilt
Executable file
33
install/tilt
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
mkdir -p ~/install/tilt ~/.local/bin
|
||||||
|
cd ~/install/tilt
|
||||||
|
|
||||||
|
KUBECTL_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
|
||||||
|
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl"
|
||||||
|
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl.sha256"
|
||||||
|
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
|
||||||
|
chmod +x kubectl
|
||||||
|
cp ./kubectl ~/.local/bin/kubectl
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
CTLPTL_URL=$(curl -s "https://api.github.com/repos/tilt-dev/ctlptl/releases/latest" \
|
||||||
|
| jq -r '.assets.[] | select(.name | test("linux.x86_64.tar.gz")).browser_download_url')
|
||||||
|
|
||||||
|
curl -fsSL "$CTLPTL_URL" | tar -xz -C ~/.local/bin ctlptl
|
||||||
|
# chmod +x ~/.local/bin/ctlptl
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
TILT_URL=$(curl -s "https://api.github.com/repos/tilt-dev/tilt/releases/latest" \
|
||||||
|
| jq -r '.assets.[] | select(.name | test("linux.x86_64.tar.gz")).browser_download_url')
|
||||||
|
|
||||||
|
curl -fsSL "$TILT_URL" | tar -xz -C ~/.local/bin tilt
|
||||||
|
# chmod +x ~/.local/bin/tilt
|
||||||
|
cd -
|
||||||
|
|
||||||
|
echo "Version of ctlptl = $(ctlptl version)"
|
||||||
|
echo "Version of tilt = $(tilt version)"
|
||||||
|
echo "Version of kubectl:"
|
||||||
|
kubectl version
|
||||||
0
scripts/ubuntu/lemp.sh
Normal file → Executable file
0
scripts/ubuntu/lemp.sh
Normal file → Executable file
0
scripts/ubuntu/mediasrv.sh
Normal file → Executable file
0
scripts/ubuntu/mediasrv.sh
Normal file → Executable file
0
scripts/ubuntu/server.sh
Normal file → Executable file
0
scripts/ubuntu/server.sh
Normal file → Executable file
@@ -1,10 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
##makedesc: Uninstall apache2
|
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
|
||||||
|
|
||||||
title
|
|
||||||
|
|
||||||
apt_remove apache2
|
|
||||||
|
|
||||||
success "apache2 removed!"
|
|
||||||
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
##makedesc: Uninstall Canon Pixma MG2500 + ppa
|
|
||||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
|
||||||
|
|
||||||
title
|
|
||||||
|
|
||||||
apt_ppa_remove ppa:thierry-f/fork-michael-gruz
|
|
||||||
|
|
||||||
dpkg_remove cnijfilter-mg2500series
|
|
||||||
dpkg_remove cnijfilter-common
|
|
||||||
dpkg_remove scangearmp-mg2500series
|
|
||||||
dpkg_remove scangearmp-common
|
|
||||||
|
|
||||||
success "Drivers for Canon Pixma MG2500 removed!"
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user