wip
This commit is contained in:
parent
8ad20ca7fd
commit
8eb5bf7171
34
Makefile
34
Makefile
@ -1,15 +1,15 @@
|
||||
# Autogenerated at 12.04.2023 19:04 using ./gen-makefile
|
||||
# Autogenerated at 17.04.2023 15:46 using ./gen-makefile
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
#===============================================
|
||||
# Scripts listed in ./install
|
||||
#===============================================
|
||||
|
||||
##apache: Install apache2 (latest)
|
||||
apache:
|
||||
@./install/apache
|
||||
##apache2: Install apache2 (latest)
|
||||
apache2:
|
||||
@./install/apache2
|
||||
|
||||
##apt: Install bunch of software from apt
|
||||
##apt: Install software from apt
|
||||
apt:
|
||||
@./install/apt
|
||||
|
||||
@ -33,7 +33,7 @@ docker:
|
||||
dots:
|
||||
@./install/dots
|
||||
|
||||
##droidcam: Install droidcam v1.8.2
|
||||
##droidcam: Install droidcam v1.9.0
|
||||
droidcam:
|
||||
@./install/droidcam
|
||||
|
||||
@ -41,21 +41,21 @@ droidcam:
|
||||
droidcam-obs:
|
||||
@./install/droidcam-obs
|
||||
|
||||
##flameshot-build: [TODO] Build flameshot from src (latest)
|
||||
flameshot-build:
|
||||
@./install/flameshot-build
|
||||
##flameshot: Install flameshot (latest)
|
||||
flameshot:
|
||||
@./install/flameshot
|
||||
|
||||
##git: Install git (latest)
|
||||
git:
|
||||
@./install/git
|
||||
|
||||
##golang: Install golang v1.18.3
|
||||
##golang: Install golang v1.20.3
|
||||
golang:
|
||||
@./install/golang
|
||||
|
||||
##grubc: Install grub-customizer (latest) + ppa
|
||||
grubc:
|
||||
@./install/grubc
|
||||
##grub-customizer: Install grub-customizer (latest + ppa)
|
||||
grub-customizer:
|
||||
@./install/grub-customizer
|
||||
|
||||
##jbmono: Install JetBrains Mono fonts
|
||||
jbmono:
|
||||
@ -242,10 +242,18 @@ phpstack: php phptools
|
||||
# Scripts listed in ./uninstall
|
||||
#===============================================
|
||||
|
||||
##/apache2: Uninstall apache2
|
||||
/apache2:
|
||||
@./uninstall/apache2
|
||||
|
||||
##/docker: Uninstall docker + ppa
|
||||
/docker:
|
||||
@./uninstall/docker
|
||||
|
||||
##/grub-customizer: Uninstall grub-customizer with ppa
|
||||
/grub-customizer:
|
||||
@./uninstall/grub-customizer
|
||||
|
||||
##/lite-xl: Uninstall lite-xl
|
||||
/lite-xl:
|
||||
@./uninstall/lite-xl
|
||||
|
78
helpers
78
helpers
@ -4,6 +4,40 @@ installed() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
installed2() {
|
||||
dpkg --list | grep -qw "ii $1"
|
||||
}
|
||||
|
||||
apt_install() {
|
||||
sudo apt install -y --autoremove "$*"
|
||||
}
|
||||
|
||||
require() {
|
||||
sw=()
|
||||
for package in "$@"; do
|
||||
if ! installed "$package" && ! installed2 "$package"; then
|
||||
sw+=("$package")
|
||||
fi
|
||||
done
|
||||
if [ ${#sw[@]} -gt 0 ]; then
|
||||
info "This packages will be installed in your system:\n${sw[*]}"
|
||||
apt_install "${sw[*]}"
|
||||
[ $? -gt 0 ] && die "installation cancelled" 201
|
||||
fi
|
||||
}
|
||||
|
||||
require2() {
|
||||
sw=()
|
||||
for package in "$@"; do
|
||||
if ! installed "$package" && ! installed2 "$package"; then
|
||||
sw+=("$package")
|
||||
fi
|
||||
done
|
||||
if [ ${#sw[@]} -gt 0 ]; then
|
||||
die "This packages must be installed in your system:\n${sw[*]}" 200
|
||||
fi
|
||||
}
|
||||
|
||||
title() {
|
||||
[ "$1" ] && title="$1" || title="$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${BASH_SOURCE[1]})"
|
||||
info
|
||||
@ -13,16 +47,13 @@ title() {
|
||||
info
|
||||
}
|
||||
|
||||
require() {
|
||||
if ! installed "$1"; then
|
||||
if [ "$2" ]; then
|
||||
die "'$1' must to be installed in your system" 200
|
||||
else
|
||||
info "Installing '$1' because it is required to continue"
|
||||
sudo apt install "$1"
|
||||
[ $? -gt 0 ] && die "installation cancelled" 201
|
||||
fi
|
||||
fi
|
||||
unpak_targz() {
|
||||
require tar
|
||||
tar -xzf "$1" -C "$2"
|
||||
}
|
||||
|
||||
symlink() {
|
||||
ln -sf "$1" "$2"
|
||||
}
|
||||
|
||||
download() {
|
||||
@ -30,6 +61,16 @@ download() {
|
||||
wget "$1" -O "$2"
|
||||
}
|
||||
|
||||
clone() {
|
||||
require git
|
||||
git clone $*
|
||||
}
|
||||
|
||||
clone_quick() {
|
||||
require git
|
||||
git clone $* --depth=1 --single-branch
|
||||
}
|
||||
|
||||
abspath() {
|
||||
echo $(realpath -q "${1/#\~/$HOME}")
|
||||
}
|
||||
@ -132,7 +173,6 @@ debug() {
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
verbose() {
|
||||
print "${BOLD}${IVRB}${RESET}${FYELLOW} $1 "
|
||||
}
|
||||
@ -155,7 +195,6 @@ warn() {
|
||||
|
||||
error() {
|
||||
print "${BOLD}${BLRED}${FWHITE}${IERROR} Error: ${BRESET}${FLRED} $1 " >&2
|
||||
# print_stacktrace
|
||||
}
|
||||
|
||||
fatal() {
|
||||
@ -164,19 +203,8 @@ fatal() {
|
||||
}
|
||||
|
||||
die() {
|
||||
error "$1"
|
||||
[ "$2" ] && exit $2 || exit 100
|
||||
}
|
||||
|
||||
die_fatal() {
|
||||
fatal "$1"
|
||||
[ "$2" ] && exit $2 || exit 100
|
||||
}
|
||||
|
||||
die_help() {
|
||||
error "$1"
|
||||
[ "$2" ] && is_function "$2".help && $2.help
|
||||
[ "$3" ] && exit $3 || exit 100
|
||||
error "${1:-halted}"
|
||||
exit ${2:-100}
|
||||
}
|
||||
|
||||
print_stacktrace() {
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install apache2 (latest)
|
||||
[ -f `dirname $0`/../helpers ] && source `dirname $0`/../helpers || exit 255
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
title
|
||||
|
12
install/apt
12
install/apt
@ -1,15 +1,11 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install bunch of software from apt
|
||||
##makedesc: Install software from apt
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing software from apt..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title
|
||||
|
||||
sudo apt update && \
|
||||
sudo apt upgrade -y --autoremove
|
||||
|
||||
sudo apt upgrade -y --autoremove && \
|
||||
sudo apt install -y \
|
||||
alien \
|
||||
apt-transport-https \
|
||||
|
@ -1,11 +1,17 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install Canon Pixma MG2500 + ppa
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing Canon Pixma MG2500 + ppa..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title
|
||||
|
||||
sudo add-apt-repository -y ppa:thierry-f/fork-michael-gruz
|
||||
sudo apt install -y cnijfilter-mg2500series scangearmp-mg2500series
|
||||
sudo add-apt-repository -y ppa:thierry-f/fork-michael-gruz && \
|
||||
sudo apt install -y \
|
||||
cnijfilter-mg2500series \
|
||||
scangearmp-mg2500series
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
success "Canon Pixma MG2500 installed!"
|
||||
info "Now you must add a new printer in your system."
|
||||
echo
|
||||
}
|
||||
|
@ -1,14 +1,20 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install google chrome (latest)
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing google chrome (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
# https://t.me/axenov_blog/251
|
||||
|
||||
wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -O /tmp/google-chrome-stable_current_amd64.deb && \
|
||||
sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb && \
|
||||
rm /tmp/google-chrome-stable_current_amd64.deb
|
||||
title
|
||||
|
||||
mkdir -p "$HOME/install"
|
||||
|
||||
download "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" \
|
||||
"$HOME/install/google-chrome.deb" && \
|
||||
sudo dpkg -i "$HOME/install/google-chrome.deb"
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
success "Google Chrome installed!"
|
||||
google-chrome --version
|
||||
echo
|
||||
}
|
||||
|
@ -1,56 +1,41 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install composer (latest)
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing composer (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
|
||||
|
||||
installed() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
title
|
||||
|
||||
! installed "php" && echo "WARNING: You need php to be installed"
|
||||
require php
|
||||
|
||||
if installed "composer"; then
|
||||
echo "WARNING: Removing current composer to install its actual version"
|
||||
warn "WARNING: Removing current composer to install its actual version"
|
||||
sudo apt remove -y --autoremove composer
|
||||
sudo rm -f $HOME/.local/bin/composer
|
||||
sudo rm -f /bin/composer
|
||||
sudo rm -f /usr/bin/composer
|
||||
sudo rm -f /usr/local/bin/composer
|
||||
sudo rm -f /usr/src/composer
|
||||
rm $HOME/.local/bin/composer
|
||||
sudo rm -f \
|
||||
"$HOME/.local/bin/composer" \
|
||||
/bin/composer \
|
||||
/usr/bin/composer \
|
||||
/usr/local/bin/composer \
|
||||
/usr/src/composer \
|
||||
"$HOME/.local/bin/composer"
|
||||
fi
|
||||
|
||||
mkdir -p $HOME/install $HOME/.local/bin
|
||||
cd $HOME/install
|
||||
|
||||
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
|
||||
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||
wget https://getcomposer.org/installer -O composer-setup.php
|
||||
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
||||
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]; then
|
||||
>&2 echo 'ERROR: Invalid installer checksum'
|
||||
rm composer-setup.php
|
||||
exit 1
|
||||
fi
|
||||
php composer-setup.php --quiet
|
||||
mv -f $HOME/install/composer.phar $HOME/.local/bin/composer
|
||||
cd - >/dev/null
|
||||
mkdir -p "$HOME/install" "$HOME/.local/bin"
|
||||
download "https://getcomposer.org/installer" "$HOME/install/composer-setup.php" && \
|
||||
php "$HOME/install/composer-setup.php" --install-dir="$HOME/.local/bin/composer"
|
||||
|
||||
[ $? = 0 ] && {
|
||||
COMPOSER_GLOBAL_HOME="$($HOME/.local/bin/composer config -g home)"
|
||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
||||
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||
$NEWPATH
|
||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
||||
echo "$NEWPATH" >> "$HOME/.profile"
|
||||
}
|
||||
source "${HOME}/.profile"
|
||||
|
||||
echo
|
||||
echo "Finish!"
|
||||
success "composer installed!"
|
||||
composer --version
|
||||
echo
|
||||
}
|
||||
|
||||
source "$HOME/.profile"
|
||||
|
@ -1,41 +1,35 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install docker (latest) + docker-compose (latest) + ppa
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing docker (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
# https://docs.docker.com/engine/install/ubuntu/
|
||||
|
||||
sudo apt install -y \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg \
|
||||
lsb-release
|
||||
title
|
||||
|
||||
require ca-certificates
|
||||
require curl
|
||||
require gnupg
|
||||
require lsb-release
|
||||
|
||||
sudo mkdir -p /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
|
||||
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
|
||||
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg && \
|
||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
|
||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
|
||||
sudo apt update
|
||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \
|
||||
sudo apt update && \
|
||||
sudo apt install -y --autoremove \
|
||||
docker-ce \
|
||||
docker-ce-cli \
|
||||
containerd.io \
|
||||
docker-compose-plugin
|
||||
|
||||
docker-compose-plugin && \
|
||||
sudo usermod -aG docker $(whoami)
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
echo "Finish!"
|
||||
success "Docker installed!"
|
||||
info "Probably, you need to relogin to apply 'docker' group."
|
||||
info "Your ones currently are: $(groups)"
|
||||
docker --version
|
||||
echo "Probably, you need to relogin to apply 'docker' group."
|
||||
echo "Your ones currently are: $(groups)"
|
||||
echo
|
||||
}
|
||||
|
27
install/dots
27
install/dots
@ -1,25 +1,22 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install dotfiles
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing dotfiles..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title
|
||||
|
||||
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
dotfiles_src_dir="`dirname $install_dir`/dotfiles"
|
||||
postfix=".bak-`date '+%Y%m%d%H%M'`"
|
||||
|
||||
install() {
|
||||
echo "mv "$HOME/$1" "$HOME/$1$postfix""
|
||||
echo "cp "$dotfiles_src_dir/$1" "$HOME/$1""
|
||||
echo "- $1"
|
||||
install_dotfile() {
|
||||
mv "$HOME/$1" "$HOME/$1$postfix"
|
||||
cp "$dotfiles_src_dir/$1" "$HOME/$1"
|
||||
success "- $1"
|
||||
}
|
||||
|
||||
install .bash_aliases
|
||||
install .profile
|
||||
install .bashrc
|
||||
install .gitconfig
|
||||
install .gitignore
|
||||
install .git_aliases
|
||||
install_dotfile ".bash_aliases" && \
|
||||
install_dotfile ".profile" && \
|
||||
install_dotfile ".bashrc" && \
|
||||
install_dotfile ".gitconfig" && \
|
||||
install_dotfile ".gitignore" && \
|
||||
install_dotfile ".git_aliases"
|
||||
|
@ -1,21 +1,22 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install droidcam v1.8.2
|
||||
##makedesc: Install droidcam v1.9.0
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
# https://www.dev47apps.com/droidcam/linux/
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing droidcam v1.8.2..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title
|
||||
|
||||
mkdir -p ~/install/droidcam
|
||||
wget -O /tmp/droidcam.zip https://files.dev47apps.net/linux/droidcam_1.8.2.zip
|
||||
unzip -oq /tmp/droidcam.zip -d ~/install/droidcam
|
||||
rm -rf /tmp/droidcam.zip
|
||||
cd ~/install/droidcam && sudo ./install-client
|
||||
mkdir -p "$HOME/install/droidcam"
|
||||
|
||||
download "https://files.dev47apps.net/linux/droidcam_1.9.0.zip" "$HOME/install/droidcam.zip" && \
|
||||
unzip -oq "$HOME/install/droidcam.zip" -d "$HOME/install/droidcam" && \
|
||||
cd "$HOME/install/droidcam" && \
|
||||
sudo ./install-client
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
echo "Finish!"
|
||||
echo "Don't forget to install android app: https://play.google.com/store/apps/developer?id=Dev47Apps"
|
||||
success "droidcam installed!"
|
||||
info "Don't forget to install the android app:"
|
||||
info "https://play.google.com/store/apps/developer?id=Dev47Apps"
|
||||
echo
|
||||
}
|
||||
|
@ -15,11 +15,11 @@ echo
|
||||
# command -v "obs" >/dev/null 2>&1 || echo 'You need to install obs first!'
|
||||
command -v "obs-studio" >/dev/null 2>&1 || echo 'You need to install obs-studio first!'
|
||||
|
||||
mkdir -p ~/install/droidcam-obs
|
||||
mkdir -p $HOMEinstall/droidcam-obs
|
||||
wget -O /tmp/droidcam-obs.zip https://files.dev47apps.net/obs/droidcam_obs_1.5.1_linux.zip
|
||||
unzip -oq /tmp/droidcam-obs.zip -d ~/install/droidcam-obs
|
||||
unzip -oq /tmp/droidcam-obs.zip -d $HOMEinstall/droidcam-obs
|
||||
rm -rf /tmp/droidcam-obs.zip
|
||||
cd ~/install/droidcam-obs && ./install.sh
|
||||
cd $HOMEinstall/droidcam-obs && ./install.sh
|
||||
sudo modprobe v4l2loopback video_nr=2 card_label="OBS Virtual Camera"
|
||||
|
||||
echo
|
||||
|
15
install/flameshot
Executable file
15
install/flameshot
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install flameshot (latest)
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
title
|
||||
|
||||
sudo apt install -y --autoremove flameshot && \
|
||||
sudo systemctl restart flameshot
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
success "flameshot installed!"
|
||||
flameshot -v
|
||||
echo
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
##makedesc: [TODO] Build flameshot from src (latest)
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing flameshot (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
37
install/git
37
install/git
@ -1,43 +1,38 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install git (latest)
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing git (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title
|
||||
|
||||
installed() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
! installed make && sudo apt install -y make
|
||||
require make
|
||||
|
||||
if installed git; then
|
||||
if [ -d "${HOME}/install/git" ]; then
|
||||
cd "${HOME}/install/git" && \
|
||||
if [ -d "$HOME/install/git" ]; then
|
||||
cd "$HOME/install/git" && \
|
||||
git pull
|
||||
else
|
||||
git clone https://github.com/git/git.git --depth=1 "${HOME}/install/git" && \
|
||||
cd "${HOME}/install/git"
|
||||
clone "https://github.com/git/git.git" "$HOME/install/git" --depth=1 --single-branch && \
|
||||
cd "$HOME/install/git"
|
||||
fi
|
||||
sudo make prefix=/usr/local all && \
|
||||
sudo make prefix=/usr/local install
|
||||
else
|
||||
! installed wget && sudo apt install -y wget
|
||||
[ -d "${HOME}/install/git" ] || mkdir -p "${HOME}/install/git"
|
||||
wget https://github.com/git/git/archive/master.zip -O /tmp/git.zip && \
|
||||
unzip -oq /tmp/git.zip -d "${HOME}/install/git" && \
|
||||
require wget
|
||||
mkdir -p "$HOME/install/git"
|
||||
download "https://github.com/git/git/archive/master.zip" "/tmp/git.zip" && \
|
||||
unzip -oq "/tmp/git.zip" -d "$HOME/install/git" && \
|
||||
rm /tmp/git.zip && \
|
||||
cd "${HOME}/install/git/git-master" && \
|
||||
cd "$HOME/install/git/git-master" && \
|
||||
sudo make prefix=/usr/local all && \
|
||||
sudo make prefix=/usr/local install && \
|
||||
cd - && \
|
||||
rm -rf git && \
|
||||
git clone https://github.com/git/git.git --depth=1 "${HOME}/install/git"
|
||||
clone "https://github.com/git/git.git" "$HOME/install/git" --depth=1 --single-branch
|
||||
fi
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
echo "Finish!"
|
||||
success "git installed!"
|
||||
git --version
|
||||
echo
|
||||
}
|
||||
|
@ -1,30 +1,28 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install golang v1.18.3
|
||||
##makedesc: Install golang v1.20.3
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
# https://go.dev/dl/
|
||||
# https://golang.org/doc/install
|
||||
# https://www.vultr.com/docs/install-the-latest-version-of-golang-on-ubuntu
|
||||
|
||||
[ $1 ] && VERSION="$1" || VERSION="1.20.3"
|
||||
title "Installing golang v$VERSION..."
|
||||
|
||||
[ $1 ] && VERSION="$1" || VERSION="1.18.3"
|
||||
FILE="go$VERSION.linux-amd64.tar.gz"
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing golang v$VERSION..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
sudo rm -rf /usr/local/go && \
|
||||
wget "https://golang.org/dl/$FILE" -O /tmp/$FILE && \
|
||||
sudo tar -xzf /tmp/$FILE -C /usr/local && \
|
||||
rm -rf /tmp/$FILE && \
|
||||
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="$PATH:/usr/local/go/bin\"' >> $HOME/.profile && \
|
||||
echo 'export GOPATH="$HOME/.go"' >> $HOME/.profile
|
||||
echo 'export PATH="$PATH:/usr/local/go/bin\"' >> "$HOME/.profile" && \
|
||||
echo 'export GOPATH="~/.go"' >> "$HOME/.profile" && \
|
||||
source ~/.profile
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
echo "Finish!"
|
||||
go version
|
||||
echo "NOTE: now run 'source ~/.profile' to apply new env vars"
|
||||
success "golang installed!"
|
||||
info "NOTE: now run 'source ~/.profile' to apply new env vars"
|
||||
go --version
|
||||
echo
|
||||
}
|
||||
|
15
install/grub-customizer
Executable file
15
install/grub-customizer
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install grub-customizer (latest + ppa)
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
title
|
||||
|
||||
sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer && \
|
||||
sudo apt install -y --autoremove grub-customizer
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
success "grub-customizer installed!"
|
||||
grub-customizer -v
|
||||
echo
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install grub-customizer (latest) + ppa
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing grub-customizer (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer
|
||||
sudo apt install -y --autoremove grub-customizer
|
@ -1,14 +1,14 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install JetBrains Mono fonts
|
||||
[ -f `dirname $0`/../helpers ] && source `dirname $0`/../helpers || exit 255
|
||||
source `dirname $0`/../helpers || 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/"
|
||||
|
@ -1,14 +1,9 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install KDE Backports
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing KDE Backports..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title
|
||||
|
||||
sudo add-apt-repository -y ppa:kubuntu-ppa/backports
|
||||
# sudo add-apt-repository -y ppa:kubuntu-ppa/backports-extra
|
||||
sudo apt update
|
||||
# sudo pkcon update
|
||||
sudo add-apt-repository -y ppa:kubuntu-ppa/backports && \
|
||||
sudo apt update && \
|
||||
sudo apt full-upgrade
|
||||
|
@ -1,37 +1,31 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install openvpn v2.5.8 (src)
|
||||
##makedesc: Install openvpn v2.6.3 (src)
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
# https://openvpn.net/community-downloads/
|
||||
# https://openvpn.net/community-resources/installing-openvpn/
|
||||
|
||||
[ $1 ] && OVPNVER="$1" || OVPNVER='2.5.8'
|
||||
[ "$1" ] && OVPNVER="$1" || OVPNVER='2.6.3'
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing openvpn v${OVPNVER} (src)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title "Installing openvpn v${OVPNVER} (src)..."
|
||||
|
||||
set -ex
|
||||
|
||||
sudo apt install -y \
|
||||
libssl-dev \
|
||||
require libssl-dev \
|
||||
liblzo2-dev \
|
||||
libpam0g-dev
|
||||
|
||||
mkdir -p "${HOME}/install/"
|
||||
wget "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" \
|
||||
-O "/tmp/openvpn-${OVPNVER}.tar.gz"
|
||||
tar -xzf "/tmp/openvpn-${OVPNVER}.tar.gz" -C "${HOME}/install/"
|
||||
cd "${HOME}/install/openvpn-${OVPNVER}"
|
||||
mkdir -p "$HOME/install/"
|
||||
download "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" "$HOME/install/openvpn-${OVPNVER}.tar.gz" && \
|
||||
unpak_targz "$HOME/install/openvpn-${OVPNVER}.tar.gz" "$HOME/install/" && \
|
||||
cd "$HOME/install/openvpn-${OVPNVER}" && \
|
||||
sudo ./configure && \
|
||||
sudo make && \
|
||||
sudo make install &&
|
||||
sudo apt install -y \
|
||||
network-manager-openvpn \
|
||||
apt_install network-manager-openvpn \
|
||||
network-manager-openvpn-gnome
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
echo "Finish!"
|
||||
success "openvpn installed!"
|
||||
openvpn --version
|
||||
echo
|
||||
}
|
||||
|
@ -1,34 +1,27 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install papirus-icon-theme (latest)
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing papirus-icon-theme (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title
|
||||
|
||||
installed() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
mkdir -p "$HOME/install/papirus-icon-theme" "$HOME/.local/share/icons/"
|
||||
|
||||
if installed git; then
|
||||
mkdir -p "${HOME}/install/"
|
||||
git clone https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git "${HOME}/install/papirus-icon-theme" --depth=1 --single-branch
|
||||
clone_quick https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git "$HOME/install/"
|
||||
else
|
||||
! installed wget && sudo apt install -y wget
|
||||
mkdir -p "${HOME}/install/papirus-icon-theme"
|
||||
wget https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/archive/refs/heads/master.zip -O "${HOME}/install/papirus-icon-theme.zip"
|
||||
unzip -oq "${HOME}/install/papirus-icon-theme.zip" -d "${HOME}/install/papirus-icon-theme"
|
||||
rm -f "${HOME}/install/papirus-icon-theme.zip"
|
||||
download https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/archive/refs/heads/master.zip -O "$HOME/install/papirus-icon-theme.zip" && \
|
||||
unzip -oq "$HOME/install/papirus-icon-theme.zip" -d "$HOME/install/papirus-icon-theme" && \
|
||||
rm -f "$HOME/install/papirus-icon-theme.zip"
|
||||
fi
|
||||
|
||||
mkdir -p "${HOME}/.local/share/icons/"
|
||||
ln -sf "${HOME}/install/papirus-icon-theme/Papirus" "${HOME}/.local/share/icons/Papirus"
|
||||
ln -sf "${HOME}/install/papirus-icon-theme/Papirus-Dark" "${HOME}/.local/share/icons/Papirus-Dark"
|
||||
ln -sf "${HOME}/install/papirus-icon-theme/Papirus-Light" "${HOME}/.local/share/icons/Papirus-Light"
|
||||
symlink "$HOME/install/papirus-icon-theme/Papirus" "$HOME/.local/share/icons/Papirus" && \
|
||||
symlink "$HOME/install/papirus-icon-theme/Papirus-Dark" "$HOME/.local/share/icons/Papirus-Dark" && \
|
||||
symlink "$HOME/install/papirus-icon-theme/Papirus-Light" "$HOME/.local/share/icons/Papirus-Light"
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
echo "Finish! Don't forget to change current icon theme."
|
||||
echo "You can find them here:"
|
||||
echo -e "\t${HOME}/.local/share/icons/"
|
||||
success "Papirus icons installed!"
|
||||
info "You can find them in $HOME/.local/share/icons/"
|
||||
echo
|
||||
}
|
||||
|
||||
|
@ -1,16 +1,14 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install postgresql (latest) and php-pgsql (if php is installed)
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing postgresql (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
title
|
||||
|
||||
installed() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
require postgresql postgresql-contrib && \
|
||||
sudo service postgresql restart && \
|
||||
{
|
||||
echo
|
||||
success "openvpn installed!"
|
||||
postgres --version
|
||||
echo
|
||||
}
|
||||
|
||||
sudo apt install -y --autoremove postgresql postgresql-contrib
|
||||
sudo service postgresql restart
|
||||
installed 'php' && sudo apt install -y --autoremove php-pgsql
|
||||
|
@ -16,11 +16,11 @@ installed() {
|
||||
|
||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
||||
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||
$NEWPATH
|
||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
||||
echo "$NEWPATH" >> "$HOME/.profile"
|
||||
}
|
||||
source "${HOME}/.profile"
|
||||
source "$HOME/.profile"
|
||||
|
||||
composer global require vimeo/psalm --dev
|
||||
|
||||
|
@ -16,11 +16,11 @@ installed() {
|
||||
! installed 'make' && sudo apt install -y make
|
||||
! installed 'wget' && sudo apt install -y wget
|
||||
|
||||
[ -d "${HOME}/install/php-spx" ] || mkdir -p "${HOME}/install/php-spx"
|
||||
[ -d "$HOME/install/php-spx" ] || mkdir -p "$HOME/install/php-spx"
|
||||
wget https://github.com/NoiseByNorthwest/php-spx/archive/refs/heads/release/latest.zip -O /tmp/php-spx.zip \
|
||||
&& unzip -oq /tmp/php-spx.zip -d "${HOME}/install/php-spx" \
|
||||
&& unzip -oq /tmp/php-spx.zip -d "$HOME/install/php-spx" \
|
||||
&& rm /tmp/php-spx.zip \
|
||||
&& cd "${HOME}/install/php-spx/php-spx-release-latest" \
|
||||
&& cd "$HOME/install/php-spx/php-spx-release-latest" \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
|
@ -16,11 +16,11 @@ installed() {
|
||||
|
||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
||||
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||
$NEWPATH
|
||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
||||
echo "$NEWPATH" >> "$HOME/.profile"
|
||||
}
|
||||
source "${HOME}/.profile"
|
||||
source "$HOME/.profile"
|
||||
|
||||
composer global require squizlabs/php_codesniffer --dev
|
||||
composer global require friendsofphp/php-cs-fixer --dev
|
||||
|
@ -16,11 +16,11 @@ installed() {
|
||||
|
||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
||||
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||
$NEWPATH
|
||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
||||
echo "$NEWPATH" >> "$HOME/.profile"
|
||||
}
|
||||
source "${HOME}/.profile"
|
||||
source "$HOME/.profile"
|
||||
|
||||
composer global require phpmd/phpmd --dev
|
||||
|
||||
|
@ -16,11 +16,11 @@ installed() {
|
||||
|
||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
||||
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||
$NEWPATH
|
||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
||||
echo "$NEWPATH" >> "$HOME/.profile"
|
||||
}
|
||||
source "${HOME}/.profile"
|
||||
source "$HOME/.profile"
|
||||
|
||||
composer global require phpstan/phpstan --dev
|
||||
|
||||
|
@ -16,11 +16,11 @@ installed() {
|
||||
|
||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
||||
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||
$NEWPATH
|
||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
||||
echo "$NEWPATH" >> "$HOME/.profile"
|
||||
}
|
||||
source "${HOME}/.profile"
|
||||
source "$HOME/.profile"
|
||||
|
||||
composer global require phpunit/phpunit --dev
|
||||
|
||||
|
@ -1,28 +1,31 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Install postman (latest)
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing postman (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
# https://learning.postman.com/docs/getting-started/installation-and-updates/#installing-postman-on-linux
|
||||
|
||||
mkdir -p ${HOME}/install/postman
|
||||
mkdir -p ${HOME}/.local/bin
|
||||
wget "https://dl.pstmn.io/download/latest/linux64" -O ${HOME}/install/postman.tar.gz && \
|
||||
tar -xzf ${HOME}/install/postman.tar.gz -C ${HOME}/install/postman && \
|
||||
ln -sf ${HOME}/install/postman/Postman/Postman ${HOME}/.local/bin/postman && \
|
||||
mkdir -p "${HOME}/.local/share/applications" && \
|
||||
cat << EOF > "${HOME}/.local/share/applications/Postman.desktop"
|
||||
#!/usr/bin/env xdg-open
|
||||
title
|
||||
|
||||
mkdir -p "$HOME/install" && \
|
||||
"$HOME/.local/bin" && \
|
||||
"$HOME/.local/share/applications"
|
||||
|
||||
download "https://dl.pstmn.io/download/latest/linux64" $HOME/install/postman.tar.gz && \
|
||||
unpak_targz "$HOME/install/postman.tar.gz" "$HOME/install" && \
|
||||
symlink $HOME/install/Postman/Postman $HOME/.local/bin/postman && \
|
||||
cat << EOF > "$HOME/.local/share/applications/Postman.desktop" && sudo update-desktop-database
|
||||
[Desktop Entry]
|
||||
Name=Postman
|
||||
Exec=${HOME}/.local/bin/postman
|
||||
Icon=${HOME}/install/postman/Postman/app/icons/icon_128x128.png
|
||||
Categories=Utility,Network
|
||||
Exec=$HOME/.local/bin/postman %U
|
||||
Icon=$HOME/install/Postman/app/icons/icon_128x128.png
|
||||
Categories=Development,Network
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
EOF
|
||||
sudo update-desktop-database
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
success "Postman installed!"
|
||||
echo
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ echo "Installing telegram (latest)..."
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
mkdir -p "${HOME}/install" "${HOME}/.local/bin"
|
||||
wget "https://telegram.org/dl/desktop/linux" -O ${HOME}/install/telegram.tar.gz && \
|
||||
tar -xJf ${HOME}/install/telegram.tar.gz -C ${HOME}/.local/bin
|
||||
${HOME}/.local/bin/Telegram/Telegram & disown > /dev/null
|
||||
mkdir -p "$HOME/install" "$HOME/.local/bin"
|
||||
wget "https://telegram.org/dl/desktop/linux" -O $HOME/install/telegram.tar.gz && \
|
||||
tar -xJf $HOME/install/telegram.tar.gz -C $HOME/.local/bin
|
||||
$HOME/.local/bin/Telegram/Telegram & disown > /dev/null
|
||||
|
@ -12,8 +12,8 @@ echo
|
||||
# 11.04.23: release 2021.12.17 in snap/apt/github is broken (Unable to extract uploader id)
|
||||
# and still no fix officially released, so we just build it from actual sources
|
||||
|
||||
# curl -L https://yt-dl.org/downloads/latest/youtube-dl -o "${HOME}/.local/bin/youtube-dl" && \
|
||||
# sudo chmod +rx "${HOME}/.local/bin/youtube-dl"
|
||||
# curl -L https://yt-dl.org/downloads/latest/youtube-dl -o "$HOME/.local/bin/youtube-dl" && \
|
||||
# sudo chmod +rx "$HOME/.local/bin/youtube-dl"
|
||||
|
||||
installed() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
|
@ -11,5 +11,5 @@ echo
|
||||
|
||||
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
tools_dir="`dirname $install_dir`/tools"
|
||||
cp "${tools_dir}/ytdlcue.sh" "${HOME}/.local/bin/ytdlcue"
|
||||
sudo chmod +rx "${HOME}/.local/bin/ytdlcue"
|
||||
cp "${tools_dir}/ytdlcue.sh" "$HOME/.local/bin/ytdlcue"
|
||||
sudo chmod +rx "$HOME/.local/bin/ytdlcue"
|
||||
|
@ -8,4 +8,4 @@ echo "==============================================="
|
||||
echo
|
||||
|
||||
sudo apt install -y --autoremove zsh
|
||||
echo "source ~/.profile" >> ~/.zshrc
|
||||
echo "source ~/.profile" >> "$HOME/.zshrc"
|
||||
|
13
uninstall/apache2
Executable file
13
uninstall/apache2
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Uninstall apache2
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
title
|
||||
|
||||
sudo apt remove -y --autoremove apache2
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
success "apache2 uninstalled!"
|
||||
echo
|
||||
}
|
19
uninstall/grub-customizer
Executable file
19
uninstall/grub-customizer
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
##makedesc: Uninstall grub-customizer with ppa
|
||||
source `dirname $0`/../helpers || exit 255
|
||||
|
||||
title
|
||||
|
||||
source_file="/etc/apt/sources.list.d/$(ls -1 /etc/apt/sources.list.d/ | grep danielrichter2007)"
|
||||
|
||||
sudo apt remove -y --autoremove grub-customizer && \
|
||||
[ -f "$source_file" ] && {
|
||||
sudo rm "$source_file" && \
|
||||
sudo apt update
|
||||
}
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
success "grub-customizer uninstalled!"
|
||||
echo
|
||||
}
|
@ -9,10 +9,10 @@ echo
|
||||
|
||||
set -x
|
||||
rm -rf \
|
||||
"${HOME}/.local/bin/lite-xl" \
|
||||
"${HOME}/.local/share/applications/org.lite_xl.lite_xl.desktop" \
|
||||
"${HOME}/.local/share/lite-xl" \
|
||||
"${HOME}/.config/lite-xl"
|
||||
"$HOME/.local/bin/lite-xl" \
|
||||
"$HOME/.local/share/applications/org.lite_xl.lite_xl.desktop" \
|
||||
"$HOME/.local/share/lite-xl" \
|
||||
"$HOME/.config/lite-xl"
|
||||
|
||||
sudo update-desktop-database && \
|
||||
xdg-desktop-menu forceupdate
|
||||
|
Loading…
Reference in New Issue
Block a user