Compare commits
25 Commits
9baedd438f
...
a52ce34748
Author | SHA1 | Date | |
---|---|---|---|
a52ce34748 | |||
024b3311e0 | |||
22d12fd902 | |||
def4f6761a | |||
ed10ab05d4 | |||
b6817506e0 | |||
479ac2064f | |||
4014f83402 | |||
bf970f58cd | |||
7159850e83 | |||
3ef8692684 | |||
efa60f5231 | |||
ee8cbd0fe4 | |||
3c87f837eb | |||
6d7719d568 | |||
e9638e845c | |||
b2cf7c154e | |||
b988524c2d | |||
a73a442f07 | |||
f9f8f5b2dc | |||
79db21f336 | |||
bb78d67565 | |||
8b9aecc754 | |||
f3f6e8fd31 | |||
5bf67b1c8e |
36
Makefile
36
Makefile
@ -1,15 +1,15 @@
|
|||||||
# Autogenerated at 12.04.2023 19:04 using ./gen-makefile
|
# Autogenerated at 31.07.2024 23:40 using ./gen-makefile
|
||||||
.DEFAULT_GOAL := help
|
.DEFAULT_GOAL := help
|
||||||
|
|
||||||
#===============================================
|
#===============================================
|
||||||
# Scripts listed in ./install
|
# Scripts listed in ./install
|
||||||
#===============================================
|
#===============================================
|
||||||
|
|
||||||
##apache: Install apache2 (latest)
|
##apache2: Install apache2 (latest)
|
||||||
apache:
|
apache2:
|
||||||
@./install/apache
|
@./install/apache2
|
||||||
|
|
||||||
##apt: Install bunch of software from apt
|
##apt: Install software from apt
|
||||||
apt:
|
apt:
|
||||||
@./install/apt
|
@./install/apt
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ docker:
|
|||||||
dots:
|
dots:
|
||||||
@./install/dots
|
@./install/dots
|
||||||
|
|
||||||
##droidcam: Install droidcam v1.8.2
|
##droidcam: Install droidcam v1.9.0
|
||||||
droidcam:
|
droidcam:
|
||||||
@./install/droidcam
|
@./install/droidcam
|
||||||
|
|
||||||
@ -41,21 +41,21 @@ droidcam:
|
|||||||
droidcam-obs:
|
droidcam-obs:
|
||||||
@./install/droidcam-obs
|
@./install/droidcam-obs
|
||||||
|
|
||||||
##flameshot-build: [TODO] Build flameshot from src (latest)
|
##flameshot: Install flameshot (latest)
|
||||||
flameshot-build:
|
flameshot:
|
||||||
@./install/flameshot-build
|
@./install/flameshot
|
||||||
|
|
||||||
##git: Install git (latest)
|
##git: Install git (latest)
|
||||||
git:
|
git:
|
||||||
@./install/git
|
@./install/git
|
||||||
|
|
||||||
##golang: Install golang v1.18.3
|
##golang: Install golang v1.21.0
|
||||||
golang:
|
golang:
|
||||||
@./install/golang
|
@./install/golang
|
||||||
|
|
||||||
##grubc: Install grub-customizer (latest) + ppa
|
##grub-customizer: Install grub-customizer (latest + ppa)
|
||||||
grubc:
|
grub-customizer:
|
||||||
@./install/grubc
|
@./install/grub-customizer
|
||||||
|
|
||||||
##jbmono: Install JetBrains Mono fonts
|
##jbmono: Install JetBrains Mono fonts
|
||||||
jbmono:
|
jbmono:
|
||||||
@ -109,7 +109,7 @@ omz-clean:
|
|||||||
omz-fancy:
|
omz-fancy:
|
||||||
@./install/omz-fancy
|
@./install/omz-fancy
|
||||||
|
|
||||||
##openvpn: Install openvpn v2.5.8 (src)
|
##openvpn: Install openvpn v2.6.3 (src)
|
||||||
openvpn:
|
openvpn:
|
||||||
@./install/openvpn
|
@./install/openvpn
|
||||||
|
|
||||||
@ -242,10 +242,18 @@ phpstack: php phptools
|
|||||||
# Scripts listed in ./uninstall
|
# Scripts listed in ./uninstall
|
||||||
#===============================================
|
#===============================================
|
||||||
|
|
||||||
|
##/apache2: Uninstall apache2
|
||||||
|
/apache2:
|
||||||
|
@./uninstall/apache2
|
||||||
|
|
||||||
##/docker: Uninstall docker + ppa
|
##/docker: Uninstall docker + ppa
|
||||||
/docker:
|
/docker:
|
||||||
@./uninstall/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
|
||||||
/lite-xl:
|
/lite-xl:
|
||||||
@./uninstall/lite-xl
|
@./uninstall/lite-xl
|
||||||
|
82
helpers
82
helpers
@ -4,6 +4,40 @@ installed() {
|
|||||||
command -v "$1" >/dev/null 2>&1
|
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() {
|
title() {
|
||||||
[ "$1" ] && title="$1" || title="$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${BASH_SOURCE[1]})"
|
[ "$1" ] && title="$1" || title="$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${BASH_SOURCE[1]})"
|
||||||
info
|
info
|
||||||
@ -13,23 +47,30 @@ title() {
|
|||||||
info
|
info
|
||||||
}
|
}
|
||||||
|
|
||||||
require() {
|
unpak_targz() {
|
||||||
if ! installed "$1"; then
|
require tar
|
||||||
if [ "$2" ]; then
|
tar -xzf "$1" -C "$2"
|
||||||
die "'$1' must to be installed in your system" 200
|
}
|
||||||
else
|
|
||||||
info "Installing '$1' because it is required to continue"
|
symlink() {
|
||||||
sudo apt install "$1"
|
ln -sf "$1" "$2"
|
||||||
[ $? -gt 0 ] && die "installation cancelled" 201
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
download() {
|
download() {
|
||||||
require wget 1
|
require wget
|
||||||
wget "$1" -O "$2"
|
wget "$1" -O "$2"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clone() {
|
||||||
|
require git
|
||||||
|
git clone $*
|
||||||
|
}
|
||||||
|
|
||||||
|
clone_quick() {
|
||||||
|
require git
|
||||||
|
git clone $* --depth=1 --single-branch
|
||||||
|
}
|
||||||
|
|
||||||
abspath() {
|
abspath() {
|
||||||
echo $(realpath -q "${1/#\~/$HOME}")
|
echo $(realpath -q "${1/#\~/$HOME}")
|
||||||
}
|
}
|
||||||
@ -126,13 +167,12 @@ print() {
|
|||||||
|
|
||||||
debug() {
|
debug() {
|
||||||
if [ "$2" ]; then
|
if [ "$2" ]; then
|
||||||
print "${DIM}${BOLD}${RESET}${DIM} ${FUNCNAME[1]:-?}():${BASH_LINENO:-?}\t$1 "
|
print "${DIM}${BOLD}${RESET}${DIM}${FUNCNAME[1]:-?}():${BASH_LINENO:-?}\t$1 "
|
||||||
else
|
else
|
||||||
print "${DIM}${BOLD}${RESET}${DIM}$1 "
|
print "${DIM}${BOLD}${RESET}${DIM}$1 "
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
verbose() {
|
verbose() {
|
||||||
print "${BOLD}${IVRB}${RESET}${FYELLOW} $1 "
|
print "${BOLD}${IVRB}${RESET}${FYELLOW} $1 "
|
||||||
}
|
}
|
||||||
@ -155,7 +195,6 @@ warn() {
|
|||||||
|
|
||||||
error() {
|
error() {
|
||||||
print "${BOLD}${BLRED}${FWHITE}${IERROR} Error: ${BRESET}${FLRED} $1 " >&2
|
print "${BOLD}${BLRED}${FWHITE}${IERROR} Error: ${BRESET}${FLRED} $1 " >&2
|
||||||
# print_stacktrace
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fatal() {
|
fatal() {
|
||||||
@ -164,19 +203,8 @@ fatal() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
error "$1"
|
error "${1:-halted}"
|
||||||
[ "$2" ] && exit $2 || exit 100
|
exit ${2:-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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
print_stacktrace() {
|
print_stacktrace() {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install apache2 (latest)
|
##makedesc: Install apache2 (latest)
|
||||||
[ -f `dirname $0`/../helpers ] && source `dirname $0`/../helpers || exit 255
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
title
|
title
|
||||||
|
|
113
install/apt
113
install/apt
@ -1,62 +1,59 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install bunch of software from apt
|
##makedesc: Install software from apt
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing software from apt..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
sudo apt update && \
|
sudo apt update && \
|
||||||
sudo apt upgrade -y --autoremove
|
sudo apt upgrade -y --autoremove && \
|
||||||
|
sudo apt install -y \
|
||||||
sudo apt install -y \
|
alien \
|
||||||
alien \
|
apt-transport-https \
|
||||||
apt-transport-https \
|
build-essential \
|
||||||
build-essential \
|
ca-certificates \
|
||||||
ca-certificates \
|
cmake \
|
||||||
cmake \
|
curl \
|
||||||
curl \
|
dconf-editor \
|
||||||
dconf-editor \
|
default-jdk \
|
||||||
default-jdk \
|
dialog \
|
||||||
dialog \
|
gettext \
|
||||||
gettext \
|
gnupg \
|
||||||
gnupg \
|
gparted \
|
||||||
gparted \
|
hardinfo \
|
||||||
hardinfo \
|
htop \
|
||||||
htop \
|
libaio1 \
|
||||||
libaio1 \
|
libcurl4-gnutls-dev \
|
||||||
libcurl4-gnutls-dev \
|
libexpat1-dev \
|
||||||
libexpat1-dev \
|
libghc-zlib-dev \
|
||||||
libghc-zlib-dev \
|
libssl-dev \
|
||||||
libssl-dev \
|
lsb-release \
|
||||||
lsb-release \
|
lsp-plugins \
|
||||||
lsp-plugins \
|
make \
|
||||||
make \
|
mc \
|
||||||
mc \
|
meld \
|
||||||
meld \
|
nano \
|
||||||
nano \
|
neofetch \
|
||||||
neofetch \
|
net-tools \
|
||||||
net-tools \
|
nmap \
|
||||||
nmap \
|
p7zip-full \
|
||||||
p7zip-full \
|
pulseeffects \
|
||||||
pulseeffects \
|
software-properties-common \
|
||||||
software-properties-common \
|
terminator \
|
||||||
terminator \
|
ubuntu-restricted-extras \
|
||||||
ubuntu-restricted-extras \
|
unzip \
|
||||||
unzip \
|
vlc \
|
||||||
vlc \
|
ffmpeg \
|
||||||
ffmpeg \
|
xclip \
|
||||||
xclip \
|
inotify-tools \
|
||||||
inotify-tools \
|
notify-osd \
|
||||||
notify-osd \
|
fonts-open-sans \
|
||||||
fonts-open-sans \
|
libnotify-bin \
|
||||||
libnotify-bin
|
tree \
|
||||||
# sqlitebrowser
|
earlyoom
|
||||||
# earlyoom \
|
# sqlitebrowser
|
||||||
# etckeeper \
|
# etckeeper \
|
||||||
# geoclue-2.0 \
|
# geoclue-2.0 \
|
||||||
# gnome-software \
|
# gnome-software \
|
||||||
# minder \
|
# minder \
|
||||||
# redshift \
|
# redshift \
|
||||||
# redshift-gtk
|
# redshift-gtk
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install Canon Pixma MG2500 + ppa
|
##makedesc: Install Canon Pixma MG2500 + ppa
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing Canon Pixma MG2500 + ppa..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
sudo add-apt-repository -y ppa:thierry-f/fork-michael-gruz
|
sudo add-apt-repository -y ppa:thierry-f/fork-michael-gruz && \
|
||||||
sudo apt install -y cnijfilter-mg2500series scangearmp-mg2500series
|
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
|
#!/bin/bash
|
||||||
##makedesc: Install google chrome (latest)
|
##makedesc: Install google chrome (latest)
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing google chrome (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
# https://t.me/axenov_blog/251
|
# 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 && \
|
title
|
||||||
sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb && \
|
|
||||||
rm /tmp/google-chrome-stable_current_amd64.deb
|
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
|
#!/bin/bash
|
||||||
##makedesc: Install composer (latest)
|
##makedesc: Install composer (latest)
|
||||||
echo
|
source `dirname $0`/../helpers || exit 255
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing composer (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
|
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
|
||||||
|
|
||||||
installed() {
|
title
|
||||||
command -v "$1" >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
! installed "php" && echo "WARNING: You need php to be installed"
|
require php
|
||||||
|
|
||||||
if installed "composer"; then
|
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 apt remove -y --autoremove composer
|
||||||
sudo rm -f $HOME/.local/bin/composer
|
sudo rm -f \
|
||||||
sudo rm -f /bin/composer
|
"$HOME/.local/bin/composer" \
|
||||||
sudo rm -f /usr/bin/composer
|
/bin/composer \
|
||||||
sudo rm -f /usr/local/bin/composer
|
/usr/bin/composer \
|
||||||
sudo rm -f /usr/src/composer
|
/usr/local/bin/composer \
|
||||||
rm $HOME/.local/bin/composer
|
/usr/src/composer \
|
||||||
|
"$HOME/.local/bin/composer"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p $HOME/install $HOME/.local/bin
|
mkdir -p "$HOME/install" "$HOME/.local/bin"
|
||||||
cd $HOME/install
|
download "https://getcomposer.org/installer" "$HOME/install/composer-setup.php" && \
|
||||||
|
php "$HOME/install/composer-setup.php" --install-dir="$HOME/.local/bin/composer"
|
||||||
|
|
||||||
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
|
[ $? = 0 ] && {
|
||||||
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
COMPOSER_GLOBAL_HOME="$($HOME/.local/bin/composer config -g home)"
|
||||||
wget https://getcomposer.org/installer -O composer-setup.php
|
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||||
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||||
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]; then
|
$NEWPATH
|
||||||
>&2 echo 'ERROR: Invalid installer checksum'
|
echo "$NEWPATH" >> "$HOME/.profile"
|
||||||
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
|
|
||||||
|
|
||||||
COMPOSER_GLOBAL_HOME="$($HOME/.local/bin/composer config -g home)"
|
echo
|
||||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
success "composer installed!"
|
||||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
composer --version
|
||||||
$NEWPATH
|
echo
|
||||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
|
||||||
}
|
}
|
||||||
source "${HOME}/.profile"
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Finish!"
|
|
||||||
composer --version
|
|
||||||
echo
|
|
||||||
|
|
||||||
|
source "$HOME/.profile"
|
||||||
|
@ -1,43 +1,35 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install docker (latest) + docker-compose (latest) + ppa
|
##makedesc: Install docker (latest) + docker-compose (latest) + ppa
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing docker (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
# https://docs.docker.com/engine/install/ubuntu/
|
# https://docs.docker.com/engine/install/ubuntu/
|
||||||
|
|
||||||
sudo apt install -y \
|
title
|
||||||
ca-certificates \
|
|
||||||
curl \
|
require ca-certificates
|
||||||
gnupg \
|
require curl
|
||||||
lsb-release
|
require gnupg
|
||||||
|
require lsb-release
|
||||||
|
|
||||||
sudo mkdir -p /etc/apt/keyrings
|
sudo mkdir -p /etc/apt/keyrings
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
|
||||||
| sudo gpg --dearmor -o /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 apt install -y --autoremove \
|
||||||
|
docker-ce \
|
||||||
|
docker-ce-cli \
|
||||||
|
containerd.io \
|
||||||
|
docker-compose-plugin && \
|
||||||
|
sudo usermod -aG docker $(whoami)
|
||||||
|
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
[ $? = 0 ] && {
|
||||||
|
echo
|
||||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
|
success "Docker installed!"
|
||||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
info "Probably, you need to relogin to apply 'docker' group."
|
||||||
|
info "Your ones currently are: $(groups)"
|
||||||
sudo apt update
|
docker --version
|
||||||
sudo apt install -y --autoremove \
|
echo
|
||||||
docker-ce \
|
}
|
||||||
docker-ce-cli \
|
|
||||||
containerd.io \
|
|
||||||
docker-compose-plugin
|
|
||||||
|
|
||||||
sudo usermod -aG docker $(whoami)
|
|
||||||
|
|
||||||
sudo cp ../dotfiles/etc/docker/daemon.json /etc/docker/daemon.json
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Finish!"
|
|
||||||
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
|
#!/bin/bash
|
||||||
##makedesc: Install dotfiles
|
##makedesc: Install dotfiles
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing dotfiles..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
dotfiles_src_dir="`dirname $install_dir`/dotfiles"
|
dotfiles_src_dir="`dirname $install_dir`/dotfiles"
|
||||||
postfix=".bak-`date '+%Y%m%d%H%M'`"
|
postfix=".bak-`date '+%Y%m%d%H%M'`"
|
||||||
|
|
||||||
install() {
|
install_dotfile() {
|
||||||
echo "mv "$HOME/$1" "$HOME/$1$postfix""
|
mv "$HOME/$1" "$HOME/$1$postfix"
|
||||||
echo "cp "$dotfiles_src_dir/$1" "$HOME/$1""
|
cp "$dotfiles_src_dir/$1" "$HOME/$1"
|
||||||
echo "- $1"
|
success "- $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
install .bash_aliases
|
install_dotfile ".bash_aliases" && \
|
||||||
install .profile
|
install_dotfile ".profile" && \
|
||||||
install .bashrc
|
install_dotfile ".bashrc" && \
|
||||||
install .gitconfig
|
install_dotfile ".gitconfig" && \
|
||||||
install .gitignore
|
install_dotfile ".gitignore" && \
|
||||||
install .git_aliases
|
install_dotfile ".git_aliases"
|
||||||
|
@ -1,21 +1,22 @@
|
|||||||
#!/bin/bash
|
#!/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/
|
# https://www.dev47apps.com/droidcam/linux/
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing droidcam v1.8.2..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
mkdir -p ~/install/droidcam
|
mkdir -p "$HOME/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
|
|
||||||
|
|
||||||
echo
|
download "https://files.dev47apps.net/linux/droidcam_1.9.0.zip" "$HOME/install/droidcam.zip" && \
|
||||||
echo "Finish!"
|
unzip -oq "$HOME/install/droidcam.zip" -d "$HOME/install/droidcam" && \
|
||||||
echo "Don't forget to install android app: https://play.google.com/store/apps/developer?id=Dev47Apps"
|
cd "$HOME/install/droidcam" && \
|
||||||
echo
|
sudo ./install-client
|
||||||
|
|
||||||
|
[ $? = 0 ] && {
|
||||||
|
echo
|
||||||
|
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" >/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!'
|
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
|
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
|
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"
|
sudo modprobe v4l2loopback video_nr=2 card_label="OBS Virtual Camera"
|
||||||
|
|
||||||
echo
|
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
|
|
43
install/git
43
install/git
@ -1,43 +1,38 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install git (latest)
|
##makedesc: Install git (latest)
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing git (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
installed() {
|
require make
|
||||||
command -v "$1" >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
! installed make && sudo apt install -y make
|
|
||||||
|
|
||||||
if installed git; then
|
if installed git; then
|
||||||
if [ -d "${HOME}/install/git" ]; then
|
if [ -d "$HOME/install/git" ]; then
|
||||||
cd "${HOME}/install/git" && \
|
cd "$HOME/install/git" && \
|
||||||
git pull
|
git pull
|
||||||
else
|
else
|
||||||
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 && \
|
||||||
cd "${HOME}/install/git"
|
cd "$HOME/install/git"
|
||||||
fi
|
fi
|
||||||
sudo make prefix=/usr/local all && \
|
sudo make prefix=/usr/local all && \
|
||||||
sudo make prefix=/usr/local install
|
sudo make prefix=/usr/local install
|
||||||
else
|
else
|
||||||
! installed wget && sudo apt install -y wget
|
require wget
|
||||||
[ -d "${HOME}/install/git" ] || mkdir -p "${HOME}/install/git"
|
mkdir -p "$HOME/install/git"
|
||||||
wget https://github.com/git/git/archive/master.zip -O /tmp/git.zip && \
|
download "https://github.com/git/git/archive/master.zip" "/tmp/git.zip" && \
|
||||||
unzip -oq /tmp/git.zip -d "${HOME}/install/git" && \
|
unzip -oq "/tmp/git.zip" -d "$HOME/install/git" && \
|
||||||
rm /tmp/git.zip && \
|
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 all && \
|
||||||
sudo make prefix=/usr/local install && \
|
sudo make prefix=/usr/local install && \
|
||||||
cd - && \
|
cd - && \
|
||||||
rm -rf git && \
|
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
|
fi
|
||||||
|
|
||||||
echo
|
[ $? = 0 ] && {
|
||||||
echo "Finish!"
|
echo
|
||||||
git --version
|
success "git installed!"
|
||||||
echo
|
git --version
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
@ -1,30 +1,28 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install golang v1.18.3
|
##makedesc: Install golang v1.21.0
|
||||||
|
source `dirname $0`/../helpers || 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://www.vultr.com/docs/install-the-latest-version-of-golang-on-ubuntu
|
||||||
|
|
||||||
|
[ $1 ] && VERSION="$1" || VERSION="1.21.6"
|
||||||
|
title "Installing golang v$VERSION..."
|
||||||
|
|
||||||
[ $1 ] && VERSION="$1" || VERSION="1.18.3"
|
|
||||||
FILE="go$VERSION.linux-amd64.tar.gz"
|
FILE="go$VERSION.linux-amd64.tar.gz"
|
||||||
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing golang v$VERSION..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
sudo rm -rf /usr/local/go && \
|
sudo rm -rf /usr/local/go && \
|
||||||
wget "https://golang.org/dl/$FILE" -O /tmp/$FILE && \
|
download "https://golang.org/dl/$FILE" "/tmp/$FILE" && \
|
||||||
sudo tar -xzf /tmp/$FILE -C /usr/local && \
|
sudo tar -xzf "/tmp/$FILE" -C /usr/local && \
|
||||||
rm -rf /tmp/$FILE && \
|
rm -rf "/tmp/$FILE" && \
|
||||||
sudo chown $USER: -R /usr/local/go && \
|
sudo chown $USER: -R /usr/local/go && \
|
||||||
echo 'export PATH="$PATH:/usr/local/go/bin\"' >> $HOME/.profile && \
|
echo 'export PATH="/usr/local/go/bin:$PATH"' >> "$HOME/.profile" && \
|
||||||
echo 'export GOPATH="$HOME/.go"' >> $HOME/.profile
|
echo "export GOPATH=\"\$HOME/.go\"" >> "$HOME/.profile" && \
|
||||||
|
source ~/.profile
|
||||||
|
|
||||||
echo
|
[ $? = 0 ] && {
|
||||||
echo "Finish!"
|
echo
|
||||||
go version
|
success "golang installed!"
|
||||||
echo "NOTE: now run 'source ~/.profile' to apply new env vars"
|
info "NOTE: now run 'source ~/.profile' to apply new env vars"
|
||||||
echo
|
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
|
#!/bin/bash
|
||||||
##makedesc: Install JetBrains Mono fonts
|
##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
|
# https://www.jetbrains.com/lp/mono/#how-to-install
|
||||||
|
|
||||||
title
|
title
|
||||||
|
|
||||||
require unzip
|
require unzip
|
||||||
|
|
||||||
mkdir -p "$HOME/install/jbmono" "$HOME/.local/share/fonts/"
|
mkdir -p "$HOME/install/jbmono" "$HOME/.local/share/fonts/"
|
||||||
|
|
||||||
download "https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip" "$HOME/install/jbmono.zip" && \
|
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/" && \
|
unzip -oj "$HOME/install/jbmono.zip" "fonts/ttf/*.ttf" -d "$HOME/.local/share/fonts/" && \
|
||||||
fc-cache -vf "$HOME/.local/share/fonts/"
|
fc-cache -vf "$HOME/.local/share/fonts/"
|
||||||
|
@ -1,14 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install KDE Backports
|
##makedesc: Install KDE Backports
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing KDE Backports..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
sudo add-apt-repository -y ppa:kubuntu-ppa/backports
|
sudo add-apt-repository -y ppa:kubuntu-ppa/backports && \
|
||||||
# sudo add-apt-repository -y ppa:kubuntu-ppa/backports-extra
|
sudo apt update && \
|
||||||
sudo apt update
|
sudo apt full-upgrade
|
||||||
# sudo pkcon update
|
|
||||||
sudo apt full-upgrade
|
|
||||||
|
@ -1,37 +1,31 @@
|
|||||||
#!/bin/bash
|
#!/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-downloads/
|
||||||
# https://openvpn.net/community-resources/installing-openvpn/
|
# https://openvpn.net/community-resources/installing-openvpn/
|
||||||
|
|
||||||
[ $1 ] && OVPNVER="$1" || OVPNVER='2.5.8'
|
[ "$1" ] && OVPNVER="$1" || OVPNVER='2.6.3'
|
||||||
|
|
||||||
echo
|
title "Installing openvpn v${OVPNVER} (src)..."
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing openvpn v${OVPNVER} (src)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
set -ex
|
require libssl-dev \
|
||||||
|
|
||||||
sudo apt install -y \
|
|
||||||
libssl-dev \
|
|
||||||
liblzo2-dev \
|
liblzo2-dev \
|
||||||
libpam0g-dev
|
libpam0g-dev
|
||||||
|
|
||||||
mkdir -p "${HOME}/install/"
|
mkdir -p "$HOME/install/"
|
||||||
wget "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" \
|
download "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" "$HOME/install/openvpn-${OVPNVER}.tar.gz" && \
|
||||||
-O "/tmp/openvpn-${OVPNVER}.tar.gz"
|
unpak_targz "$HOME/install/openvpn-${OVPNVER}.tar.gz" "$HOME/install/" && \
|
||||||
tar -xzf "/tmp/openvpn-${OVPNVER}.tar.gz" -C "${HOME}/install/"
|
cd "$HOME/install/openvpn-${OVPNVER}" && \
|
||||||
cd "${HOME}/install/openvpn-${OVPNVER}"
|
sudo ./configure && \
|
||||||
sudo ./configure && \
|
|
||||||
sudo make && \
|
sudo make && \
|
||||||
sudo make install &&
|
sudo make install &&
|
||||||
sudo apt install -y \
|
apt_install network-manager-openvpn \
|
||||||
network-manager-openvpn \
|
|
||||||
network-manager-openvpn-gnome
|
network-manager-openvpn-gnome
|
||||||
|
|
||||||
echo
|
[ $? = 0 ] && {
|
||||||
echo "Finish!"
|
echo
|
||||||
openvpn --version
|
success "openvpn installed!"
|
||||||
echo
|
openvpn --version
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
@ -1,34 +1,27 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install papirus-icon-theme (latest)
|
##makedesc: Install papirus-icon-theme (latest)
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing papirus-icon-theme (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
installed() {
|
mkdir -p "$HOME/install/papirus-icon-theme" "$HOME/.local/share/icons/"
|
||||||
command -v "$1" >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
if installed git; then
|
if installed git; then
|
||||||
mkdir -p "${HOME}/install/"
|
clone_quick https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git "$HOME/install/"
|
||||||
git clone https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git "${HOME}/install/papirus-icon-theme" --depth=1 --single-branch
|
|
||||||
else
|
else
|
||||||
! installed wget && sudo apt install -y wget
|
download https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/archive/refs/heads/master.zip -O "$HOME/install/papirus-icon-theme.zip" && \
|
||||||
mkdir -p "${HOME}/install/papirus-icon-theme"
|
unzip -oq "$HOME/install/papirus-icon-theme.zip" -d "$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"
|
rm -f "$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
|
fi
|
||||||
|
|
||||||
mkdir -p "${HOME}/.local/share/icons/"
|
symlink "$HOME/install/papirus-icon-theme/Papirus" "$HOME/.local/share/icons/Papirus" && \
|
||||||
ln -sf "${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" && \
|
||||||
ln -sf "${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"
|
||||||
ln -sf "${HOME}/install/papirus-icon-theme/Papirus-Light" "${HOME}/.local/share/icons/Papirus-Light"
|
|
||||||
|
[ $? = 0 ] && {
|
||||||
|
echo
|
||||||
|
success "Papirus icons installed!"
|
||||||
|
info "You can find them in $HOME/.local/share/icons/"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Finish! Don't forget to change current icon theme."
|
|
||||||
echo "You can find them here:"
|
|
||||||
echo -e "\t${HOME}/.local/share/icons/"
|
|
||||||
echo
|
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install postgresql (latest) and php-pgsql (if php is installed)
|
##makedesc: Install postgresql (latest) and php-pgsql (if php is installed)
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing postgresql (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
installed() {
|
require postgresql postgresql-contrib && \
|
||||||
command -v "$1" >/dev/null 2>&1
|
sudo service postgresql restart && \
|
||||||
}
|
{
|
||||||
|
echo
|
||||||
sudo apt install -y --autoremove postgresql postgresql-contrib
|
success "openvpn installed!"
|
||||||
sudo service postgresql restart
|
postgres --version
|
||||||
installed 'php' && sudo apt install -y --autoremove php-pgsql
|
echo
|
||||||
|
}
|
||||||
|
@ -16,11 +16,11 @@ installed() {
|
|||||||
|
|
||||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||||
$NEWPATH
|
$NEWPATH
|
||||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
echo "$NEWPATH" >> "$HOME/.profile"
|
||||||
}
|
}
|
||||||
source "${HOME}/.profile"
|
source "$HOME/.profile"
|
||||||
|
|
||||||
composer global require vimeo/psalm --dev
|
composer global require vimeo/psalm --dev
|
||||||
|
|
||||||
|
@ -16,11 +16,11 @@ installed() {
|
|||||||
! installed 'make' && sudo apt install -y make
|
! installed 'make' && sudo apt install -y make
|
||||||
! installed 'wget' && sudo apt install -y wget
|
! 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 \
|
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 \
|
&& rm /tmp/php-spx.zip \
|
||||||
&& cd "${HOME}/install/php-spx/php-spx-release-latest" \
|
&& cd "$HOME/install/php-spx/php-spx-release-latest" \
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure \
|
&& ./configure \
|
||||||
&& make \
|
&& make \
|
||||||
|
@ -16,11 +16,11 @@ installed() {
|
|||||||
|
|
||||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||||
$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 squizlabs/php_codesniffer --dev
|
||||||
composer global require friendsofphp/php-cs-fixer --dev
|
composer global require friendsofphp/php-cs-fixer --dev
|
||||||
|
@ -16,11 +16,11 @@ installed() {
|
|||||||
|
|
||||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||||
$NEWPATH
|
$NEWPATH
|
||||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
echo "$NEWPATH" >> "$HOME/.profile"
|
||||||
}
|
}
|
||||||
source "${HOME}/.profile"
|
source "$HOME/.profile"
|
||||||
|
|
||||||
composer global require phpmd/phpmd --dev
|
composer global require phpmd/phpmd --dev
|
||||||
|
|
||||||
|
@ -16,11 +16,11 @@ installed() {
|
|||||||
|
|
||||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||||
$NEWPATH
|
$NEWPATH
|
||||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
echo "$NEWPATH" >> "$HOME/.profile"
|
||||||
}
|
}
|
||||||
source "${HOME}/.profile"
|
source "$HOME/.profile"
|
||||||
|
|
||||||
composer global require phpstan/phpstan --dev
|
composer global require phpstan/phpstan --dev
|
||||||
|
|
||||||
|
@ -16,11 +16,11 @@ installed() {
|
|||||||
|
|
||||||
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
COMPOSER_GLOBAL_HOME="$(composer config -g home)"
|
||||||
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||||
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
|
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||||
$NEWPATH
|
$NEWPATH
|
||||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
echo "$NEWPATH" >> "$HOME/.profile"
|
||||||
}
|
}
|
||||||
source "${HOME}/.profile"
|
source "$HOME/.profile"
|
||||||
|
|
||||||
composer global require phpunit/phpunit --dev
|
composer global require phpunit/phpunit --dev
|
||||||
|
|
||||||
|
@ -1,28 +1,33 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install postman (latest)
|
##makedesc: Install postman (latest)
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
# https://learning.postman.com/docs/getting-started/installation-and-updates/#installing-postman-on-linux
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing postman (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
mkdir -p ${HOME}/install/postman
|
# set -ex
|
||||||
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]
|
[Desktop Entry]
|
||||||
Name=Postman
|
Name=Postman
|
||||||
Exec=${HOME}/.local/bin/postman
|
Exec=$HOME/.local/bin/postman %U
|
||||||
Icon=${HOME}/install/postman/Postman/app/icons/icon_128x128.png
|
Icon=$HOME/install/Postman/app/icons/icon_128x128.png
|
||||||
Categories=Utility,Network
|
Categories=Development,Network
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Encoding=UTF-8
|
Encoding=UTF-8
|
||||||
EOF
|
EOF
|
||||||
sudo update-desktop-database
|
|
||||||
|
[ $? = 0 ] && {
|
||||||
|
echo
|
||||||
|
success "Postman installed!"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
@ -7,7 +7,7 @@ echo "Installing telegram (latest)..."
|
|||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
mkdir -p "${HOME}/install" "${HOME}/.local/bin"
|
mkdir -p "$HOME/install" "$HOME/.local/bin"
|
||||||
wget "https://telegram.org/dl/desktop/linux" -O ${HOME}/install/telegram.tar.gz && \
|
wget "https://telegram.org/dl/desktop/linux" -O $HOME/install/telegram.tar.gz && \
|
||||||
tar -xJf ${HOME}/install/telegram.tar.gz -C ${HOME}/.local/bin
|
tar -xJf $HOME/install/telegram.tar.gz -C $HOME/.local/bin
|
||||||
${HOME}/.local/bin/Telegram/Telegram & disown > /dev/null
|
$HOME/.local/bin/Telegram/Telegram & disown > /dev/null
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install Vivaldi + ppa
|
##makedesc: Install Vivaldi + ppa
|
||||||
|
|
||||||
|
# https://repo.vivaldi.com
|
||||||
# https://help.vivaldi.com/desktop/#install-update
|
# https://help.vivaldi.com/desktop/#install-update
|
||||||
# https://help.vivaldi.com/desktop/install-update/manual-setup-vivaldi-linux-repositories/
|
# https://help.vivaldi.com/desktop/install-update/manual-setup-vivaldi-linux-repositories/
|
||||||
|
|
||||||
|
@ -12,8 +12,8 @@ echo
|
|||||||
# 11.04.23: release 2021.12.17 in snap/apt/github is broken (Unable to extract uploader id)
|
# 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
|
# 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" && \
|
# curl -L https://yt-dl.org/downloads/latest/youtube-dl -o "$HOME/.local/bin/youtube-dl" && \
|
||||||
# sudo chmod +rx "${HOME}/.local/bin/youtube-dl"
|
# sudo chmod +rx "$HOME/.local/bin/youtube-dl"
|
||||||
|
|
||||||
installed() {
|
installed() {
|
||||||
command -v "$1" >/dev/null 2>&1
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
@ -11,5 +11,5 @@ echo
|
|||||||
|
|
||||||
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
tools_dir="`dirname $install_dir`/tools"
|
tools_dir="`dirname $install_dir`/tools"
|
||||||
cp "${tools_dir}/ytdlcue.sh" "${HOME}/.local/bin/ytdlcue"
|
cp "${tools_dir}/ytdlcue.sh" "$HOME/.local/bin/ytdlcue"
|
||||||
sudo chmod +rx "${HOME}/.local/bin/ytdlcue"
|
sudo chmod +rx "$HOME/.local/bin/ytdlcue"
|
||||||
|
@ -8,4 +8,4 @@ echo "==============================================="
|
|||||||
echo
|
echo
|
||||||
|
|
||||||
sudo apt install -y --autoremove zsh
|
sudo apt install -y --autoremove zsh
|
||||||
echo "source ~/.profile" >> ~/.zshrc
|
echo "source ~/.profile" >> "$HOME/.zshrc"
|
||||||
|
13
tools/ignore-veth.sh
Executable file
13
tools/ignore-veth.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# https://forums.opensuse.org/t/networkmanager-shows-connection-to-lo/164441/13
|
||||||
|
# https://man.archlinux.org/man/NetworkManager.conf.5.en#Device_List_Format
|
||||||
|
# https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-networkmanager-to-ignore-certain-devices_configuring-and-managing-networking
|
||||||
|
|
||||||
|
sudo touch /etc/NetworkManager/conf.d/10-ignore-veth.conf
|
||||||
|
sudo tee <<EOF /etc/NetworkManager/conf.d/10-ignore-veth.conf > /dev/null
|
||||||
|
# Disable virtual interfaces to be managed via NetworkManager
|
||||||
|
[keyfile]
|
||||||
|
unmanaged-devices=interface-name:veth*
|
||||||
|
|
||||||
|
EOF
|
||||||
|
sudo systemctl reload NetworkManager
|
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
|
set -x
|
||||||
rm -rf \
|
rm -rf \
|
||||||
"${HOME}/.local/bin/lite-xl" \
|
"$HOME/.local/bin/lite-xl" \
|
||||||
"${HOME}/.local/share/applications/org.lite_xl.lite_xl.desktop" \
|
"$HOME/.local/share/applications/org.lite_xl.lite_xl.desktop" \
|
||||||
"${HOME}/.local/share/lite-xl" \
|
"$HOME/.local/share/lite-xl" \
|
||||||
"${HOME}/.config/lite-xl"
|
"$HOME/.config/lite-xl"
|
||||||
|
|
||||||
sudo update-desktop-database && \
|
sudo update-desktop-database && \
|
||||||
xdg-desktop-menu forceupdate
|
xdg-desktop-menu forceupdate
|
||||||
|
Loading…
Reference in New Issue
Block a user