Compare commits
33 Commits
2356787f31
...
experiment
| Author | SHA1 | Date | |
|---|---|---|---|
|
5970e9b968
|
|||
|
317f635b91
|
|||
|
e9cd7ee2ae
|
|||
|
4a71dd0ae8
|
|||
|
ad34d5c64a
|
|||
|
2c37621542
|
|||
|
fed75142f1
|
|||
|
8a87e84cac
|
|||
|
1da0453ff4
|
|||
| 2a0fbc25c5 | |||
|
8e1157afc5
|
|||
|
baeb784264
|
|||
|
790dc6143b
|
|||
|
ee1417f8b0
|
|||
|
118a4da535
|
|||
|
d175b6ee3b
|
|||
|
7f8f9ddc27
|
|||
|
7102cb38dc
|
|||
|
cd0dc9d988
|
|||
|
3f4a7b0504
|
|||
|
89086689c8
|
|||
|
d6344eb7bd
|
|||
|
42aba252cd
|
|||
|
9e9dfc7174
|
|||
|
d84e756e07
|
|||
|
a8f06130ef
|
|||
|
551f80ef29
|
|||
|
d025934894
|
|||
|
3b0311d8e7
|
|||
|
28cf415a22
|
|||
|
b05640fc00
|
|||
|
a5bf6bac4c
|
|||
|
c4f4452312
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*.bak
|
||||||
114
Makefile
Normal file
114
Makefile
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
# Autogenerated at 04.07.2022 22:11 using ./gen-makefile.sh
|
||||||
|
|
||||||
|
##lamp: Apache + php + mariadb
|
||||||
|
lamp: apache php mariadb
|
||||||
|
##apache: Install apache2 (latest)
|
||||||
|
apache:
|
||||||
|
./install/apache
|
||||||
|
|
||||||
|
##apt: Install bunch of software from apt
|
||||||
|
apt:
|
||||||
|
./install/apt
|
||||||
|
|
||||||
|
##chrome: Install google chrome (latest)
|
||||||
|
chrome:
|
||||||
|
./install/chrome
|
||||||
|
|
||||||
|
##composer: Install composer (latest)
|
||||||
|
composer:
|
||||||
|
./install/composer
|
||||||
|
|
||||||
|
##docker: Install docker (latest) + docker-compose (latest) + ppa
|
||||||
|
docker:
|
||||||
|
./install/docker
|
||||||
|
|
||||||
|
##droidcam: Install droidcam v1.8.2
|
||||||
|
droidcam:
|
||||||
|
./install/droidcam
|
||||||
|
|
||||||
|
##droidcam-obs: Install droidcam-obs plugin v1.5.1
|
||||||
|
droidcam-obs:
|
||||||
|
./install/droidcam-obs
|
||||||
|
|
||||||
|
##git: Install git (latest)
|
||||||
|
git:
|
||||||
|
./install/git
|
||||||
|
|
||||||
|
##golang: Install golang v1.18.3
|
||||||
|
golang:
|
||||||
|
./install/golang
|
||||||
|
|
||||||
|
##grubc: Install grub-customizer (latest) + ppa
|
||||||
|
grubc:
|
||||||
|
./install/grubc
|
||||||
|
|
||||||
|
##kde-appmenu: Install KDE Window AppMenu Applet
|
||||||
|
kde-appmenu:
|
||||||
|
./install/kde-appmenu
|
||||||
|
|
||||||
|
##lite-xl: Install lite-xl v2.0.5 (draft)
|
||||||
|
lite-xl:
|
||||||
|
./install/lite-xl
|
||||||
|
|
||||||
|
##mariadb: Install mariadb (latest) and php-mysql + phpMyAdmin (if php is installed)
|
||||||
|
mariadb:
|
||||||
|
./install/mariadb
|
||||||
|
|
||||||
|
##nodejs: Install nodejs + npm via nvm
|
||||||
|
nodejs:
|
||||||
|
./install/nodejs
|
||||||
|
|
||||||
|
##pgsql: Install postgresql (latest) and php-pgsql (if php is installed)
|
||||||
|
pgsql:
|
||||||
|
./install/pgsql
|
||||||
|
|
||||||
|
##php: Install php v8.1 + ppa
|
||||||
|
php:
|
||||||
|
./install/php
|
||||||
|
|
||||||
|
##postman: Install postman (latest)
|
||||||
|
postman:
|
||||||
|
./install/postman
|
||||||
|
|
||||||
|
##rustdesk: Install rustdesk v1.1.8 (deb)
|
||||||
|
rustdesk:
|
||||||
|
./install/rustdesk
|
||||||
|
|
||||||
|
##snap: Install bunch of software from snap
|
||||||
|
snap:
|
||||||
|
./install/snap
|
||||||
|
|
||||||
|
##syncthing: Install syncthing (latest) + ppa
|
||||||
|
syncthing:
|
||||||
|
./install/syncthing
|
||||||
|
|
||||||
|
##telebit: Install telebit (latest)
|
||||||
|
telebit:
|
||||||
|
./install/telebit
|
||||||
|
|
||||||
|
##ulauncher: Install ulauncher (latest) + ppa
|
||||||
|
ulauncher:
|
||||||
|
./install/ulauncher
|
||||||
|
|
||||||
|
##wine: Install wine (latest) + ppa (focal)
|
||||||
|
wine:
|
||||||
|
./install/wine
|
||||||
|
|
||||||
|
##zint: Install zint (latest)
|
||||||
|
zint:
|
||||||
|
./install/zint
|
||||||
|
|
||||||
|
##zsh: Install zsh + omz (latest)
|
||||||
|
zsh:
|
||||||
|
./install/zsh
|
||||||
|
|
||||||
|
##help: Show this help message
|
||||||
|
help: Makefile
|
||||||
|
@echo "Usage:"
|
||||||
|
@echo "\tmake <goal>\n"
|
||||||
|
@echo "Available goals:"
|
||||||
|
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
||||||
|
|
||||||
|
##<goal>_: Same as 'cat ./install/<goal>.sh'
|
||||||
|
%_:
|
||||||
|
@cat ./install/$*.sh
|
||||||
89
README.md
89
README.md
@@ -1,49 +1,74 @@
|
|||||||
# Окружение рабочего стола
|
# My Ubuntu environment
|
||||||
|
|
||||||
Набор скриптов для развёртывания привычной рабочей среды на Ubuntu.
|
`make`-ready bunch of scripts for easily installation of different software.
|
||||||
|
|
||||||
## Полная установка
|
## Requirements
|
||||||
|
|
||||||
Если установлен `git`
|
* `bash`, `zsh` or other `sh`-compatible shell
|
||||||
|
* `make` (optional but recommended)
|
||||||
|
* `wget` (necessary for some scripts)
|
||||||
|
* `git` (necessary for some scripts)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Clone this repo (recommended)
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git clone git@git.anthonyaxenov.ru:anthony/my-env.git --depth=1
|
# if git is installed
|
||||||
|
git clone git@git.axenov.dev:anthony/my-env.git --depth=1
|
||||||
|
|
||||||
|
# if git is not installed
|
||||||
|
wget -qO - https://git.axenov.dev/anthony/my-env/archive/master.tar.gz | tar -zxf -
|
||||||
|
|
||||||
|
# switch to repo dir
|
||||||
cd my-env
|
cd my-env
|
||||||
sudo ./start.sh
|
|
||||||
|
# get full list of `make` goals
|
||||||
|
make help
|
||||||
|
|
||||||
|
# generate new ./Makefile and get full list of `make` goals
|
||||||
|
./gen-makefile.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Если не установлен `git`
|
### Selective straightforward installation
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
wget -qO - http://git.anthonyaxenov.ru/anthony/my-env/archive/master.tar.gz | tar -zxf -
|
# from remote file
|
||||||
cd my-env
|
wget -qO - https://git.axenov.dev/anthony/my-env/raw/branch/master/install/apt.sh | bash
|
||||||
sudo ./start.sh
|
|
||||||
|
# from locally cloned repo
|
||||||
|
./install/apt.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Скрипт `start.sh` обработает все `*.sh`-скрипты из [`/install`](/install) по порядку.
|
## How to add a new software script?
|
||||||
|
|
||||||
## Частичная установка
|
1. Create new `./install/*.sh` script.
|
||||||
|
At the beggining of a file you must write these two lines:
|
||||||
|
```shell
|
||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Your description for Makefile
|
||||||
|
```
|
||||||
|
2. Test your script
|
||||||
|
3. Run `./gen-makefile.sh` to generate new `./Makefile`
|
||||||
|
|
||||||
Без полного развёртывания репозитория
|
## How to create packs?
|
||||||
|
|
||||||
```shell
|
You can create new file inside `./packs` dir.
|
||||||
wget -qO - http://git.anthonyaxenov.ru/anthony/my-env/raw/branch/master/install/000-apt.sh | bash
|
|
||||||
|
Syntax is same as classic makefile with one important and necessary addition -- a comment started with `##`:
|
||||||
|
|
||||||
|
```makefile
|
||||||
|
##mypack1: Pack description
|
||||||
|
mypack1: goal1 goal2 goalX ...
|
||||||
|
...
|
||||||
|
|
||||||
|
##mypackX: Pack description
|
||||||
|
mypackY: goalA goalB
|
||||||
|
@cp file1 file2
|
||||||
|
...
|
||||||
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
После полного развёртывания репозитория (см. полную установку):
|
where:
|
||||||
|
* `mypack*` is the pack name
|
||||||
```shell
|
* `goal*` are script names in `./install`
|
||||||
cd my-env
|
|
||||||
sudo ./install/000-apt.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
## Тема оформления (только MATE)
|
|
||||||
|
|
||||||
Также можно установить визуальное оформление:
|
|
||||||
* тема: [Budgie Desktop Dark Theme](https://www.pling.com/p/1276879)
|
|
||||||
* икoнки: [Papirus](https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/)
|
|
||||||
* курсоры: [Bridge](https://www.mate-look.org/s/Mate/p/999983/), [Capitaine Cursors](https://www.gnome-look.org/p/1148692/)
|
|
||||||
|
|
||||||
```shell
|
|
||||||
sudo ./theme/install.sh
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
# Common
|
|
||||||
own() {
|
|
||||||
sudo chmod 0664 -R --preserve-root $@
|
|
||||||
sudo chown $USER. -R --preserve-root $@
|
|
||||||
}
|
|
||||||
#alias aliases='source ~/install/aliases && cat ~/install/aliases'
|
|
||||||
alias aliases='source ~/install/aliases'
|
|
||||||
alias zshrc='source ~/.zshrc'
|
|
||||||
alias wine='LANG=ru_RU.utf8 wine'
|
|
||||||
alias upgrade='sudo apt update && sudo apt upgrade -y'
|
|
||||||
alias duh='du -ha --max-depth=1'
|
|
||||||
alias sduh='sudo du -ha --max-depth=1'
|
|
||||||
alias ports='netstat -tulanp'
|
|
||||||
|
|
||||||
# Navigation
|
|
||||||
alias projects='cd ~/projects'
|
|
||||||
alias Downloads='cd ~/Downloads'
|
|
||||||
|
|
||||||
# apache2
|
|
||||||
alias a2ls='ls -al /etc/apache2/sites-available/'
|
|
||||||
alias a2slen='ls -al /etc/apache2/sites-enabled/'
|
|
||||||
alias a2err='sudo tail /var/log/apache2/error_log'
|
|
||||||
#alias a2errclr='sudo truncate -s0 "/var/log/apache2/error_log"'
|
|
||||||
alias a2restart='sudo systemctl restart apache2'
|
|
||||||
alias a2reload='sudo systemctl reload apache2'
|
|
||||||
|
|
||||||
# nginx
|
|
||||||
#alias nxls='ls -al /etc/nginx/sites-available/'
|
|
||||||
#alias nxlsen='ls -al /etc/nginx/sites-enabled/'
|
|
||||||
#alias nxerr='sudo tail /var/log/nginx/error.log'
|
|
||||||
#alias nxerrclr='sudo truncate -s0 "/var/log/nginx/error.log"'
|
|
||||||
#alias nxrest='sudo systemctl restart nginx'
|
|
||||||
#alias nxreload='sudo systemctl reload nginx'
|
|
||||||
#alias nxensite='~/Scripts/web/nxensite.sh'
|
|
||||||
|
|
||||||
# mysql
|
|
||||||
alias mysqlstart='sudo systemctl start mysql'
|
|
||||||
alias mysqlstop='sudo systemctl stop mysql'
|
|
||||||
alias mysqlrestart='sudo systemctl restart mysql'
|
|
||||||
alias mysqlstatus='sudo systemctl status mysql'
|
|
||||||
|
|
||||||
# pgsql
|
|
||||||
#alias psql='sudo -u postgres psql'
|
|
||||||
|
|
||||||
# php
|
|
||||||
alias phprestart='sudo systemctl restart php-fpm'
|
|
||||||
|
|
||||||
# Docker
|
|
||||||
alias dockerstart='sudo systemctl start docker'
|
|
||||||
alias dockerrestart='sudo systemctl restart docker'
|
|
||||||
alias dockerstop='sudo systemctl stop docker'
|
|
||||||
119
dotfiles/.bashrc
119
dotfiles/.bashrc
@@ -1,119 +0,0 @@
|
|||||||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
|
||||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
|
||||||
# for examples
|
|
||||||
|
|
||||||
# If not running interactively, don't do anything
|
|
||||||
case $- in
|
|
||||||
*i*) ;;
|
|
||||||
*) return;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# don't put duplicate lines or lines starting with space in the history.
|
|
||||||
# See bash(1) for more options
|
|
||||||
HISTCONTROL=ignoreboth
|
|
||||||
|
|
||||||
# append to the history file, don't overwrite it
|
|
||||||
shopt -s histappend
|
|
||||||
|
|
||||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
|
||||||
HISTSIZE=1000
|
|
||||||
HISTFILESIZE=2000
|
|
||||||
|
|
||||||
# check the window size after each command and, if necessary,
|
|
||||||
# update the values of LINES and COLUMNS.
|
|
||||||
shopt -s checkwinsize
|
|
||||||
|
|
||||||
# If set, the pattern "**" used in a pathname expansion context will
|
|
||||||
# match all files and zero or more directories and subdirectories.
|
|
||||||
#shopt -s globstar
|
|
||||||
|
|
||||||
# make less more friendly for non-text input files, see lesspipe(1)
|
|
||||||
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
|
||||||
|
|
||||||
# set variable identifying the chroot you work in (used in the prompt below)
|
|
||||||
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
|
|
||||||
debian_chroot=$(cat /etc/debian_chroot)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
|
||||||
case "$TERM" in
|
|
||||||
xterm-color|*-256color) color_prompt=yes;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# uncomment for a colored prompt, if the terminal has the capability; turned
|
|
||||||
# off by default to not distract the user: the focus in a terminal window
|
|
||||||
# should be on the output of commands, not on the prompt
|
|
||||||
#force_color_prompt=yes
|
|
||||||
|
|
||||||
if [ -n "$force_color_prompt" ]; then
|
|
||||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
|
||||||
# We have color support; assume it's compliant with Ecma-48
|
|
||||||
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
|
||||||
# a case would tend to support setf rather than setaf.)
|
|
||||||
color_prompt=yes
|
|
||||||
else
|
|
||||||
color_prompt=
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$color_prompt" = yes ]; then
|
|
||||||
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
|
||||||
else
|
|
||||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
|
||||||
fi
|
|
||||||
unset color_prompt force_color_prompt
|
|
||||||
|
|
||||||
# If this is an xterm set the title to user@host:dir
|
|
||||||
case "$TERM" in
|
|
||||||
xterm*|rxvt*)
|
|
||||||
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# enable color support of ls and also add handy aliases
|
|
||||||
if [ -x /usr/bin/dircolors ]; then
|
|
||||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
|
||||||
alias ls='ls --color=auto'
|
|
||||||
#alias dir='dir --color=auto'
|
|
||||||
#alias vdir='vdir --color=auto'
|
|
||||||
|
|
||||||
alias grep='grep --color=auto'
|
|
||||||
alias fgrep='fgrep --color=auto'
|
|
||||||
alias egrep='egrep --color=auto'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# colored GCC warnings and errors
|
|
||||||
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
|
||||||
|
|
||||||
# some more ls aliases
|
|
||||||
alias ll='ls -alF'
|
|
||||||
alias la='ls -A'
|
|
||||||
alias l='ls -CF'
|
|
||||||
|
|
||||||
# Add an "alert" alias for long running commands. Use like so:
|
|
||||||
# sleep 10; alert
|
|
||||||
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
|
|
||||||
|
|
||||||
# Alias definitions.
|
|
||||||
# You may want to put all your additions into a separate file like
|
|
||||||
# ~/.bash_aliases, instead of adding them here directly.
|
|
||||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
|
||||||
|
|
||||||
if [ -f ~/.bash_aliases ]; then
|
|
||||||
. ~/.bash_aliases
|
|
||||||
fi
|
|
||||||
|
|
||||||
# enable programmable completion features (you don't need to enable
|
|
||||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
|
||||||
# sources /etc/bash.bashrc).
|
|
||||||
if ! shopt -oq posix; then
|
|
||||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
|
||||||
. /usr/share/bash-completion/bash_completion
|
|
||||||
elif [ -f /etc/bash_completion ]; then
|
|
||||||
. /etc/bash_completion
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ $TILIX_ID ] || [ $VTE_VERSION ] ; then source /etc/profile.d/vte.sh; fi # Ubuntu Budgie END
|
|
||||||
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
[user]
|
|
||||||
name = AnthonyAxenov
|
|
||||||
email = anthonyaxenov@gmail.com
|
|
||||||
[push]
|
|
||||||
default = current
|
|
||||||
[pull]
|
|
||||||
default = current
|
|
||||||
rebase = false
|
|
||||||
[core]
|
|
||||||
editor = nano
|
|
||||||
autocrlf = input
|
|
||||||
[alias]
|
|
||||||
# общее -----------------------------------------------------------------
|
|
||||||
st = status #
|
|
||||||
aliases = config --get-regexp '^alias' # показать список доступных алиасов
|
|
||||||
diffc = diff --cached # показать дельту staged-файла
|
|
||||||
co = checkout #
|
|
||||||
cob = checkout -b # создание новое ветки
|
|
||||||
cp = cherry-pick # применить коммит поверх текущего HEAD
|
|
||||||
bheads = branch -vv # показать список веток с последними коммитами
|
|
||||||
heads = log --graph --decorate --simplify-by-decoration --oneline # лог только по последним коммитам веток
|
|
||||||
|
|
||||||
# управление ветками ----------------------------------------------------
|
|
||||||
br = status -sb # показать название текущей ветки
|
|
||||||
branch = branch --list # показать текущую ветку в общем списке локальных веток
|
|
||||||
brd = branch -d # удалить слитую ветку локально
|
|
||||||
brD = branch -D # удалить НЕслитую ветку локально
|
|
||||||
brod = "!f(){ git branch -d "${1}"; git push origin :"${1}"; };f" # удалить слитую ветку локально и на origin
|
|
||||||
broD = "!f(){ git branch -D "${1}"; git push origin :"${1}"; };f" # удалить НЕслитую ветку локально и на origin
|
|
||||||
merged = branch --merged # показать список слитых веток
|
|
||||||
# удалить все слитые ветки
|
|
||||||
#bclean = "!f() { DEFAULT=master; git branch --merged ${1-$DEFAULT} | grep -v " ${1-$DEFAULT}$" | xargs git branch -d; }; f"
|
|
||||||
mn = merge --no-ff # слить ветку с принудительным коммитом слияния
|
|
||||||
|
|
||||||
# переключение между ветками ----------------------------------------------
|
|
||||||
master = "!git checkout master && git pull" # переключиться на ветку master и обновление
|
|
||||||
dev = "!git checkout dev && git pull" # переключиться на ветку dev и обновление
|
|
||||||
develop = "!git checkout develop && git pull" # переключиться на ветку develop и обновление
|
|
||||||
|
|
||||||
# фиксация изменений ------------------------------------------------------
|
|
||||||
c = commit # коммит
|
|
||||||
ca = commit -a # коммит всех файлов
|
|
||||||
cm = commit -m # коммит с заданным сообщением
|
|
||||||
cam = commit -am # коммит всех файлов с заданным сообщением
|
|
||||||
amend = commit --amend --no-edit # по-тихому прикрепляет все индексированные файлы к последнему коммиту, используя уже существующее сообщение
|
|
||||||
amendm = commit --amend -m # прикрепляет все индексированные файлы к последнему коммиту, спрашивает новое сообщение к коммиту
|
|
||||||
|
|
||||||
# управление изменениями, сброс состояний, откат --------------------------
|
|
||||||
rh = reset --hard # откат коммита с удалением всех изменений на указанный коммит
|
|
||||||
rhh = reset --hard HEAD # откат коммита с удалением всех изменений на последний коммит
|
|
||||||
rs = reset --soft # откат коммита с сохранением всех изменений на указанный коммит
|
|
||||||
rsh = reset --soft HEAD # откат коммита с сохранением всех изменений
|
|
||||||
unstage = reset HEAD # удаляет файл из staged перед коммитом
|
|
||||||
clear = checkout -- # удаляет изменения в unstaged-файле
|
|
||||||
|
|
||||||
# штучка чтобы не терять наработки, которые ещё в процессе
|
|
||||||
# на самом деле, надо исопользовать стеш для таких дел
|
|
||||||
# save = !git add -A && git commit -m 'SAVEPOINT'
|
|
||||||
# wip = commit -am "WIP"
|
|
||||||
# undo = reset HEAD~1 --mixed
|
|
||||||
|
|
||||||
# работа с remote-репами --------------------------------------------------
|
|
||||||
p = push # отправить ветку
|
|
||||||
po = push origin # отправить ветку в origin
|
|
||||||
pt = push --tags # отправить теги
|
|
||||||
pl = pull # получить ветку
|
|
||||||
plo = pull origin # получить ветку из origin
|
|
||||||
ploh = pull origin HEAD # получить текущую ветку из origin
|
|
||||||
remotes = remote -v # показать список удалённых репозиториев
|
|
||||||
#sy = remote update origin --prune #
|
|
||||||
rso = remote show origin # показать состояние локальных веток относительно удалённых на origin bare
|
|
||||||
rpo = remote prune origin # удалить все мёртвые ссылки на bare-ветки origin
|
|
||||||
|
|
||||||
# просмотр логов ----------------------------------------------------------
|
|
||||||
head = log -1 HEAD # показать последний коммит в текущей ветке
|
|
||||||
hist = log --pretty=format:\"%h | %an (%ad) %s%d\" --graph --date=relative
|
|
||||||
logfull = log --graph --decorate --all
|
|
||||||
grog = log --graph --decorate --all --pretty=format:'%C(bold red)%h%C(reset) %C(bold blue)%an%C(reset) %C(green)%cr%C(reset) [%aD]%d%n%B'
|
|
||||||
|
|
||||||
# подмодули ---------------------------------------------------------------
|
|
||||||
si = submodule init # инициализация сабмодулей
|
|
||||||
sdi = submodule deinit -f # удаление сабмодуля
|
|
||||||
sa = submodule add # добавление сабмодуля
|
|
||||||
sup = submodule update # обновление сабмодуля
|
|
||||||
sst = submodule status # статус сабмодулей
|
|
||||||
ss = submodule summary # список сабмодулей
|
|
||||||
106
dotfiles/.zshrc
106
dotfiles/.zshrc
@@ -1,106 +0,0 @@
|
|||||||
# If you come from bash you might have to change your $PATH.
|
|
||||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
|
||||||
|
|
||||||
# Path to your oh-my-zsh installation.
|
|
||||||
export ZSH="/home/anthony/.oh-my-zsh"
|
|
||||||
|
|
||||||
# Set name of the theme to load --- if set to "random", it will
|
|
||||||
# load a random theme each time oh-my-zsh is loaded, in which case,
|
|
||||||
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
|
||||||
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
|
||||||
ZSH_THEME="powerlevel9k/powerlevel9k"
|
|
||||||
|
|
||||||
#POWERLEVEL9K_MODE='nerdfont-complete'
|
|
||||||
#POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon dir vcs)
|
|
||||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir vcs)
|
|
||||||
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status time)
|
|
||||||
|
|
||||||
# Set list of themes to pick from when loading at random
|
|
||||||
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
|
||||||
# a theme from this variable instead of looking in $ZSH/themes/
|
|
||||||
# If set to an empty array, this variable will have no effect.
|
|
||||||
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
|
||||||
|
|
||||||
# Uncomment the following line to use case-sensitive completion.
|
|
||||||
# CASE_SENSITIVE="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to use hyphen-insensitive completion.
|
|
||||||
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
|
||||||
# HYPHEN_INSENSITIVE="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to disable bi-weekly auto-update checks.
|
|
||||||
# DISABLE_AUTO_UPDATE="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to automatically update without prompting.
|
|
||||||
# DISABLE_UPDATE_PROMPT="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to change how often to auto-update (in days).
|
|
||||||
# export UPDATE_ZSH_DAYS=13
|
|
||||||
|
|
||||||
# Uncomment the following line if pasting URLs and other text is messed up.
|
|
||||||
# DISABLE_MAGIC_FUNCTIONS="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to disable colors in ls.
|
|
||||||
# DISABLE_LS_COLORS="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to disable auto-setting terminal title.
|
|
||||||
# DISABLE_AUTO_TITLE="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to enable command auto-correction.
|
|
||||||
# ENABLE_CORRECTION="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
|
||||||
# COMPLETION_WAITING_DOTS="true"
|
|
||||||
|
|
||||||
# Uncomment the following line if you want to disable marking untracked files
|
|
||||||
# under VCS as dirty. This makes repository status check for large repositories
|
|
||||||
# much, much faster.
|
|
||||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
|
||||||
|
|
||||||
# Uncomment the following line if you want to change the command execution time
|
|
||||||
# stamp shown in the history command output.
|
|
||||||
# You can set one of the optional three formats:
|
|
||||||
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
|
||||||
# or set a custom format using the strftime function format specifications,
|
|
||||||
# see 'man strftime' for details.
|
|
||||||
# HIST_STAMPS="mm/dd/yyyy"
|
|
||||||
|
|
||||||
# Would you like to use another custom folder than $ZSH/custom?
|
|
||||||
# ZSH_CUSTOM=/path/to/new-custom-folder
|
|
||||||
|
|
||||||
# Which plugins would you like to load?
|
|
||||||
# Standard plugins can be found in $ZSH/plugins/
|
|
||||||
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
|
||||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
|
||||||
# Add wisely, as too many plugins slow down shell startup.
|
|
||||||
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
|
|
||||||
|
|
||||||
source $ZSH/oh-my-zsh.sh
|
|
||||||
|
|
||||||
# User configuration
|
|
||||||
|
|
||||||
# export MANPATH="/usr/local/man:$MANPATH"
|
|
||||||
|
|
||||||
# You may need to manually set your language environment
|
|
||||||
# export LANG=en_US.UTF-8
|
|
||||||
|
|
||||||
# Preferred editor for local and remote sessions
|
|
||||||
# if [[ -n $SSH_CONNECTION ]]; then
|
|
||||||
# export EDITOR='vim'
|
|
||||||
# else
|
|
||||||
# export EDITOR='mvim'
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# Compilation flags
|
|
||||||
# export ARCHFLAGS="-arch x86_64"
|
|
||||||
|
|
||||||
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
|
||||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
|
||||||
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
|
||||||
# For a full list of active aliases, run `alias`.
|
|
||||||
#
|
|
||||||
# Example aliases
|
|
||||||
# alias zshconfig="mate ~/.zshrc"
|
|
||||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
|
||||||
|
|
||||||
source ~/.aliases
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,4 +0,0 @@
|
|||||||
<?php
|
|
||||||
ini_set('display_errors', '1');
|
|
||||||
ini_set('display_startup_errors', '1');
|
|
||||||
error_reporting(E_ALL);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
@@ -5,6 +5,8 @@ echo "Installing oci8..."
|
|||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
# https://www.oracle.com/cis/database/technologies/instant-client/downloads.html
|
||||||
|
|
||||||
#check for
|
#check for
|
||||||
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip
|
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip
|
||||||
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip -- only libociicus.so
|
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip -- only libociicus.so
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
. "../src/01-common.sh" || exit 5
|
echo
|
||||||
title "Installing phpstorm-url-handler..."
|
echo "==============================================="
|
||||||
|
echo "Installing phpstorm-url-handler..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
installed() {
|
||||||
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
# https://github.com/rozwell/phpstorm-url-handler/
|
# https://github.com/rozwell/phpstorm-url-handler/
|
||||||
# https://askubuntu.com/a/1023143
|
# https://askubuntu.com/a/1023143
|
||||||
@@ -14,9 +21,9 @@ sudo rm -rf /usr/share/applications/phpstorm-url-handler.desktop >/dev/null
|
|||||||
if installed "git"; then
|
if installed "git"; then
|
||||||
sudo git clone https://github.com/rozwell/phpstorm-url-handler.git /usr/src/phpstorm-url-handler
|
sudo git clone https://github.com/rozwell/phpstorm-url-handler.git /usr/src/phpstorm-url-handler
|
||||||
else
|
else
|
||||||
sudo wget https://github.com/rozwell/phpstorm-url-handler/archive/master.zip -O /usr/src/phpstorm-url-handler.zip
|
sudo wget https://github.com/rozwell/phpstorm-url-handler/archive/master.zip -O /tmp/phpstorm-url-handler.zip
|
||||||
sudo unzip /usr/src/phpstorm-url-handler.zip -d /usr/src/phpstorm-url-handler
|
sudo unzip /tmp/phpstorm-url-handler.zip -d /usr/src/phpstorm-url-handler
|
||||||
sudo rm -f /usr/src/phpstorm-url-handler.zip
|
sudo rm -f /tmp/phpstorm-url-handler.zip
|
||||||
fi
|
fi
|
||||||
|
|
||||||
info "Copy .desktop"
|
info "Copy .desktop"
|
||||||
46
experimental/samp-server
Normal file
46
experimental/samp-server
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing samp-server v03svr_R2-1..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
# https://sampwiki.blast.hk/wiki/Linux_Server
|
||||||
|
# https://team.sa-mp.com/wiki/Server.cfg_RU.html
|
||||||
|
|
||||||
|
cd $HOME
|
||||||
|
wget -qO - https://files.sa-mp.com/samp03svr_R2-1.tar.gz | tar -zxf -
|
||||||
|
# sudo dpkg --add-architecture i386
|
||||||
|
# sudo apt update
|
||||||
|
# sudo apt install -y libc6:i386
|
||||||
|
apt-get install ia32-libs
|
||||||
|
|
||||||
|
echo "echo Executing Server Config...
|
||||||
|
lanmode 0
|
||||||
|
rcon 1
|
||||||
|
language Russian
|
||||||
|
rcon_password bootsector
|
||||||
|
maxplayers 50
|
||||||
|
port 7777
|
||||||
|
hostname My Server
|
||||||
|
gamemode0 bare 1
|
||||||
|
filterscripts base gl_actions gl_property gl_realtime
|
||||||
|
announce 1
|
||||||
|
query 1
|
||||||
|
weburl
|
||||||
|
maxnpc 0
|
||||||
|
onfoot_rate 40
|
||||||
|
incar_rate 40
|
||||||
|
weapon_rate 40
|
||||||
|
stream_distance 800.0
|
||||||
|
stream_rate 1000
|
||||||
|
timestamp 1
|
||||||
|
output 0
|
||||||
|
" > $HOME/samp03/server.cfg
|
||||||
|
|
||||||
|
ln -s $HOME/samp03/samp03svr /usr/local/bin/samp
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Success! Now run via 'samp &'"
|
||||||
|
echo
|
||||||
|
|
||||||
@@ -1,9 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
. "../src/01-common.sh" || exit 5
|
echo
|
||||||
title "Installing wkhtmltopdf..."
|
echo "==============================================="
|
||||||
|
echo "Installing wkhtmltopdf..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
# не тестировалось
|
# не тестировалось
|
||||||
|
|
||||||
wget "https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb" -O /tmp/wkhtmltopdf.deb
|
wget "https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb" -O /tmp/wkhtmltopdf.deb
|
||||||
sudo dpkg -i /tmp/wkhtmltopdf.deb
|
sudo dpkg -i /tmp/wkhtmltopdf.deb
|
||||||
rm -rf /tmp/wkhtmltopdf.deb
|
rm /tmp/wkhtmltopdf.deb
|
||||||
34
gen-makefile.sh
Executable file
34
gen-makefile.sh
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
mv Makefile Makefile.bak
|
||||||
|
echo -e "# Autogenerated at $(date +'%d.%m.%Y %H:%M') using ${BASH_SOURCE[0]}\n" > Makefile
|
||||||
|
|
||||||
|
for file in ./packs/*; do
|
||||||
|
cat ${file} >> Makefile
|
||||||
|
done;
|
||||||
|
|
||||||
|
for file in ./install/*; do
|
||||||
|
name=${file##*/}
|
||||||
|
name=${name%.sh}
|
||||||
|
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||||
|
[ -z "$desc" ] && desc='<no description>'
|
||||||
|
echo -e "##${name}: ${desc}\n${name}:\n\t${file}\n" >> Makefile
|
||||||
|
done;
|
||||||
|
|
||||||
|
cat << EOF >> Makefile
|
||||||
|
##help: Show this help message
|
||||||
|
help: Makefile
|
||||||
|
@echo "Usage:"
|
||||||
|
@echo "\tmake <goal>\n"
|
||||||
|
@echo "Available goals:"
|
||||||
|
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
||||||
|
|
||||||
|
##<goal>_: Same as 'cat ./install/<goal>.sh'
|
||||||
|
%_:
|
||||||
|
@cat ./install/\$*.sh
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
echo "New ./Makefile has been generated!"
|
||||||
|
echo "Old one has been saved as ./Makefile.bak"
|
||||||
|
echo
|
||||||
|
make help
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing git..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
if installed git; then
|
|
||||||
[ ! -d "/usr/src/git" ] && sudo git clone https://github.com/git/git.git --depth=1 /usr/src/git
|
|
||||||
sudo chown -R anthony: /usr/src/git
|
|
||||||
cd /usr/src/git/
|
|
||||||
sudo make prefix=/usr/local all
|
|
||||||
sudo make prefix=/usr/local install
|
|
||||||
else
|
|
||||||
sudo wget https://github.com/git/git/archive/master.zip -O /usr/src/git.zip
|
|
||||||
sudo unzip /usr/src/git.zip -d /usr/src/git
|
|
||||||
sudo rm -f /usr/src/git.zip
|
|
||||||
cd /usr/src/git/git-master
|
|
||||||
sudo make prefix=/usr/local all
|
|
||||||
sudo make prefix=/usr/local install
|
|
||||||
cd /usr/src
|
|
||||||
sudo rm -rf git
|
|
||||||
sudo git clone https://github.com/git/git.git --depth=1 /usr/src/git
|
|
||||||
sudo chown -R anthony: /usr/src/git
|
|
||||||
fi
|
|
||||||
git --version
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing docker..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
# https://docs.docker.com/engine/install/ubuntu/
|
|
||||||
|
|
||||||
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
|
||||||
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
|
|
||||||
# sudo apt update
|
|
||||||
# sudo apt install -y --autoremove docker-ce docker-compose
|
|
||||||
|
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
|
||||||
echo \
|
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.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
|
|
||||||
|
|
||||||
sudo usermod -aG docker anthony
|
|
||||||
|
|
||||||
echo "You need to logout and log in again to apply docker group"
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
. "../src/01-common.sh" || exit 5
|
|
||||||
title "Installing postman (latest)..."
|
|
||||||
|
|
||||||
wget "https://dl.pstmn.io/download/latest/linux64" -O /tmp/postman.tar.gz
|
|
||||||
# sudo tar -xvzf /tmp/postman.tar.gz -C /usr/local/bin
|
|
||||||
sudo tar -xzf /tmp/postman.tar.gz -C /usr/local/bin
|
|
||||||
rm /tmp/postman.tar.gz
|
|
||||||
sudo ln -s /usr/local/bin/Postman/Postman /usr/local/bin/postman
|
|
||||||
|
|
||||||
echo "#!/usr/bin/env xdg-open
|
|
||||||
|
|
||||||
[Desktop Entry]
|
|
||||||
Name=Postman
|
|
||||||
Exec=/usr/local/bin/postman
|
|
||||||
Icon=/usr/local/bin/Postman/app/icons/icon_128x128.png
|
|
||||||
Categories=Utility,Network
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Encoding=UTF-8
|
|
||||||
" > /home/anthony/.local/share/applications/Postman.desktop
|
|
||||||
sudo update-desktop-database
|
|
||||||
|
|
||||||
installed "postman" && success "Postman installed!" || warning "Something wrong, Postman was not installed"
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
. "../src/01-common.sh" || exit 5
|
|
||||||
title "Installing golang"
|
|
||||||
|
|
||||||
# https://golang.org/doc/install
|
|
||||||
# https://www.vultr.com/docs/install-the-latest-version-of-golang-on-ubuntu
|
|
||||||
|
|
||||||
# if [ "$EUID" -ne 0 ]
|
|
||||||
# then echo "*** root permissions required ***"
|
|
||||||
# exit
|
|
||||||
# fi
|
|
||||||
|
|
||||||
[ $1 ] && VERSION="$1" || VERSION="1.17.5"
|
|
||||||
FILE="go$VERSION.linux-amd64.tar.gz"
|
|
||||||
|
|
||||||
sudo rm -rf /usr/local/go
|
|
||||||
wget "https://golang.org/dl/$FILE" -O /tmp/$FILE
|
|
||||||
sudo tar -xzf $FILE -C /usr/local
|
|
||||||
rm -rf /tmp/$FILE
|
|
||||||
sudo chown $USER: -R /usr/local/go
|
|
||||||
|
|
||||||
echo "export PATH=$PATH:/usr/local/go/bin" >> /home/anthony/.profile
|
|
||||||
echo "export GOPATH=~/.go" >> /home/anthony/.profile
|
|
||||||
# source ~/.profile
|
|
||||||
|
|
||||||
success "$(go version)"
|
|
||||||
info "NOTE: now run \`source ~/.profile\` to apply new env vars"
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
. "../src/01-common.sh" || exit 5
|
|
||||||
title "Installing pgsql..."
|
|
||||||
|
|
||||||
apti postgresql postgresql-contrib
|
|
||||||
sudo service postgresql restart
|
|
||||||
installed php && apti php-pgsql
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
. "../src/01-common.sh" || exit 5
|
|
||||||
title "Installing nodejs..."
|
|
||||||
|
|
||||||
# apti nodejs npm
|
|
||||||
|
|
||||||
if !installed "nvm"; then
|
|
||||||
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
|
|
||||||
fi
|
|
||||||
if [ $(nvm current) == 'system' ]; then
|
|
||||||
warning "You already have node installed - removing to install actual version"
|
|
||||||
sudo apt remove -y --autoremove nodejs npm
|
|
||||||
else
|
|
||||||
nvm install-latest-npm
|
|
||||||
fi
|
|
||||||
nvm install node
|
|
||||||
nvm use node
|
|
||||||
installed "node" && success "nodejs installed! $(nvm current)"
|
|
||||||
installed "npm" && success "npm installed! $(nvm current)"
|
|
||||||
nvm ls
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
. "../src/01-common.sh" || exit 5
|
|
||||||
title "Copying dotfiles..."
|
|
||||||
require_start
|
|
||||||
|
|
||||||
cp $DOTFILESDIR/.aliases $HOME/.aliases
|
|
||||||
cp $DOTFILESDIR/.bashrc $HOME/.bashrc
|
|
||||||
cp $DOTFILESDIR/.zshrc $HOME/.zshrc
|
|
||||||
cp $DOTFILESDIR/.gitconfig $HOME/.gitconfig
|
|
||||||
cp -R $DOTFILESDIR/Шаблоны $HOME/Шаблоны
|
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install apache2 (latest)
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing apache2..."
|
echo "Installing apache2..."
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install bunch of software from apt
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing software from apt..."
|
echo "Installing software from apt..."
|
||||||
@@ -23,7 +25,6 @@ sudo apt install -y --autoremove \
|
|||||||
gettext \
|
gettext \
|
||||||
gnupg \
|
gnupg \
|
||||||
ubuntu-restricted-extras \
|
ubuntu-restricted-extras \
|
||||||
gnome-software \
|
|
||||||
unzip \
|
unzip \
|
||||||
mc \
|
mc \
|
||||||
htop \
|
htop \
|
||||||
@@ -44,7 +45,8 @@ sudo apt install -y --autoremove \
|
|||||||
net-tools \
|
net-tools \
|
||||||
nmap \
|
nmap \
|
||||||
p7zip-full \
|
p7zip-full \
|
||||||
sqlitebrowser \
|
sqlitebrowser
|
||||||
|
# gnome-software \
|
||||||
# minder \
|
# minder \
|
||||||
# redshift \
|
# redshift \
|
||||||
# redshift-gtk \
|
# redshift-gtk \
|
||||||
@@ -55,4 +57,4 @@ sudo apt install -y --autoremove \
|
|||||||
# etckeeper \
|
# etckeeper \
|
||||||
# deepin-screenshot \
|
# deepin-screenshot \
|
||||||
# geoclue-2.0 \
|
# geoclue-2.0 \
|
||||||
at
|
# at
|
||||||
@@ -1,10 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
. "../src/01-common.sh" || exit 5
|
##makedesc: Install google chrome (latest)
|
||||||
title "Installing google chrome (latest)..."
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing google chrome (latest)..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
# https://t.me/axenov_blog/251
|
# https://t.me/axenov_blog/251
|
||||||
|
|
||||||
# snapi chromium
|
# sudo snap install chromium
|
||||||
wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -O /tmp/google-chrome-stable_current_amd64.deb
|
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
|
sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb
|
||||||
rm /tmp/google-chrome-stable_current_amd64.deb
|
rm /tmp/google-chrome-stable_current_amd64.deb
|
||||||
@@ -1,10 +1,19 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
. "../src/01-common.sh" || exit 5
|
##makedesc: Install composer (latest)
|
||||||
title "Installing composer..."
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing composer (latest)..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
installed() {
|
||||||
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
if installed "php"; then
|
if installed "php"; then
|
||||||
if installed "composer"; then
|
if installed "composer"; then
|
||||||
warning "You already have composer installed - removing to install actual version"
|
echo "WARNING: You already have composer installed - removing to install actual version"
|
||||||
sudo apt remove -y --autoremove composer
|
sudo apt remove -y --autoremove composer
|
||||||
sudo rm -f /bin/composer
|
sudo rm -f /bin/composer
|
||||||
sudo rm -f /usr/bin/composer
|
sudo rm -f /usr/bin/composer
|
||||||
@@ -26,9 +35,9 @@ if installed "php"; then
|
|||||||
sudo cp /usr/src/composer/composer.phar /usr/local/bin/composer
|
sudo cp /usr/src/composer/composer.phar /usr/local/bin/composer
|
||||||
cd - >/dev/null
|
cd - >/dev/null
|
||||||
sudo rm -rf /usr/src/composer/
|
sudo rm -rf /usr/src/composer/
|
||||||
installed "composer" && success "composer installed!"
|
installed "composer" && composer --version
|
||||||
else
|
else
|
||||||
warning "*** You need to have php installed"
|
echo "WARNING: You need to have php installed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# title "Installing composer.phar in home dir..."
|
# title "Installing composer.phar in home dir..."
|
||||||
34
install/docker
Executable file
34
install/docker
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install docker (latest) + docker-compose (latest) + ppa
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing docker (latest)..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
# https://docs.docker.com/engine/install/ubuntu/
|
||||||
|
|
||||||
|
sudo apt remove -y docker docker-engine docker.io containerd runc
|
||||||
|
sudo apt-get install \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
gnupg \
|
||||||
|
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
|
||||||
|
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 chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y --autoremove \
|
||||||
|
docker-ce \
|
||||||
|
docker-ce-cli \
|
||||||
|
containerd.io \
|
||||||
|
docker-compose-plugin \
|
||||||
|
docker-compose
|
||||||
|
sudo usermod -aG docker anthony
|
||||||
|
echo
|
||||||
|
echo "You need to logout and log in again to apply docker group"
|
||||||
|
echo
|
||||||
20
install/droidcam
Executable file
20
install/droidcam
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install droidcam v1.8.2
|
||||||
|
|
||||||
|
# https://www.dev47apps.com/droidcam/linux/
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing droidcam v1.8.2..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
mkdir -p ~/install/droidcam
|
||||||
|
wget -O /tmp/droidcam.zip https://files.dev47apps.net/linux/droidcam_1.8.2.zip
|
||||||
|
unzip -o /tmp/droidcam.zip -d ~/install/droidcam
|
||||||
|
rm -rf /tmp/droidcam.zip
|
||||||
|
cd ~/install/droidcam && sudo ./install-client
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Don't forget to install android app: https://play.google.com/store/apps/developer?id=Dev47Apps"
|
||||||
|
echo
|
||||||
26
install/droidcam-obs
Executable file
26
install/droidcam-obs
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install droidcam-obs plugin v1.5.1
|
||||||
|
|
||||||
|
# https://www.dev47apps.com/droidcam/linux/
|
||||||
|
# https://www.dev47apps.com/obs/
|
||||||
|
# https://www.dev47apps.com/obs/usage.html
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing droidcam-obs..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
command -v "obs" >/dev/null 2>&1 || echo 'You need to install obs first!'
|
||||||
|
|
||||||
|
mkdir -p ~/install/droidcam_obs
|
||||||
|
wget -O /tmp/droidcam-obs.zip https://files.dev47apps.net/obs/droidcam_obs_1.5.1_linux.zip
|
||||||
|
unzip -o /tmp/droidcam-obs.zip -d ~/install/droidcam-obs
|
||||||
|
rm -rf /tmp/droidcam-obs.zip
|
||||||
|
cd ~/install/droidcam-obs && ./install.sh
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Don't forget to:"
|
||||||
|
echo "1) restart OBS if it is running right now"
|
||||||
|
echo "2) install android app: https://play.google.com/store/apps/developer?id=Dev47Apps"
|
||||||
|
echo
|
||||||
38
install/git
Executable file
38
install/git
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install git (latest)
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing git (latest)..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
installed() {
|
||||||
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
ENVDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
! installed make && sudo apt install -y make
|
||||||
|
|
||||||
|
if installed git; then
|
||||||
|
sudo rm -rf /usr/src/git
|
||||||
|
sudo git clone https://github.com/git/git.git --depth=1 /usr/src/git
|
||||||
|
sudo chown -R $USER: /usr/src/git
|
||||||
|
cd /usr/src/git/
|
||||||
|
sudo make prefix=/usr/local all
|
||||||
|
sudo make prefix=/usr/local install
|
||||||
|
else
|
||||||
|
! installed wget && sudo apt install -y wget
|
||||||
|
wget https://github.com/git/git/archive/master.zip -O /tmp/git.zip
|
||||||
|
sudo unzip -q /tmp/git.zip -d /usr/src/git
|
||||||
|
rm /tmp/git.zip
|
||||||
|
cd /usr/src/git/git-master
|
||||||
|
sudo make prefix=/usr/local all
|
||||||
|
sudo make prefix=/usr/local install
|
||||||
|
cd /usr/src
|
||||||
|
sudo rm -rf git
|
||||||
|
sudo git clone https://github.com/git/git.git --depth=1 /usr/src/git
|
||||||
|
sudo chown -R $USER: /usr/src/git
|
||||||
|
fi
|
||||||
|
|
||||||
|
git --version
|
||||||
27
install/golang
Executable file
27
install/golang
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install golang v1.18.3
|
||||||
|
|
||||||
|
# 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.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 && \
|
||||||
|
sudo chown $USER: -R /usr/local/go && \
|
||||||
|
echo 'export PATH="$PATH:/usr/local/go/bin\"' >> $HOME/.profile && \
|
||||||
|
echo 'export GOPATH="$HOME/.go"' >> $HOME/.profile && \
|
||||||
|
# source ~/.profile && \
|
||||||
|
go version && \
|
||||||
|
echo "NOTE: now run 'source ~/.profile' to apply new env vars"
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install grub-customizer (latest) + ppa
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing grub-customizer..."
|
echo "Installing grub-customizer (latest)..."
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash (latest)
|
||||||
|
##makedesc: Install KDE Window AppMenu Applet
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing KDE Window AppMenu Applet..."
|
echo "Installing KDE Window AppMenu Applet..."
|
||||||
@@ -33,7 +35,7 @@ else
|
|||||||
sudo rm -rf /usr/src/appmenu-applet/applet-window-appmenu-master
|
sudo rm -rf /usr/src/appmenu-applet/applet-window-appmenu-master
|
||||||
sudo rm -f /usr/src/appmenu-applet.zip
|
sudo rm -f /usr/src/appmenu-applet.zip
|
||||||
fi
|
fi
|
||||||
sudo chown -R anthony: /usr/src/appmenu-applet
|
sudo chown -R $USER: /usr/src/appmenu-applet
|
||||||
cd /usr/src/appmenu-applet/
|
cd /usr/src/appmenu-applet/
|
||||||
sh ./install.sh
|
sh ./install.sh
|
||||||
echo
|
echo
|
||||||
34
install/lite-xl
Executable file
34
install/lite-xl
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install lite-xl v2.0.5 (draft)
|
||||||
|
|
||||||
|
|
||||||
|
# DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
|
||||||
|
# DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
|
||||||
|
# DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
|
||||||
|
# DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
|
||||||
|
# DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
|
||||||
|
|
||||||
|
# https://github.com/lite-xl/lite-xl
|
||||||
|
|
||||||
|
[ $1 ] && LITEXLVER="$1" || LITEXLVER="2.0.5"
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing lite-xl v${LITEXLVER}..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
wget "https://github.com/lite-xl/lite-xl/releases/download/v${LITEXLVER}/lite-xl-linux-x86_64.tar.gz" -O /tmp/lite-xl.tar.gz
|
||||||
|
sudo tar -xzf /tmp/lite-xl.tar.gz -C /tmp
|
||||||
|
mkdir -p $HOME/.local/bin && cp /tmp/lite-xl/bin/lite-xl $HOME/.local/bin
|
||||||
|
cp -r /tmp/lite-xl/share $HOME/.local
|
||||||
|
rm -rf /tmp/lite-xl*
|
||||||
|
echo -e 'export PATH="$PATH:$HOME/.local/bin"' >> $HOME/.bashrc
|
||||||
|
[ -f $HOME/.zshrc ] && echo -e 'export PATH="$PATH:$HOME/.local/bin"' >> $HOME/.zshrc
|
||||||
|
xdg-desktop-menu forceupdate
|
||||||
|
|
||||||
|
### uninstall
|
||||||
|
# rm -f $HOME/.local/bin/lite-xl
|
||||||
|
# rm -rf $HOME/.local/share/icons/hicolor/scalable/apps/lite-xl.svg \
|
||||||
|
# $HOME/.local/share/applications/org.lite_xl.lite_xl.desktop \
|
||||||
|
# $HOME/.local/share/metainfo/org.lite_xl.lite_xl.appdata.xml \
|
||||||
|
# $HOME/.local/share/lite-xl
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install mariadb (latest) and php-mysql + phpMyAdmin (if php is installed)
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing mariadb..."
|
echo "Installing mariadb (latest)..."
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
30
install/nodejs
Executable file
30
install/nodejs
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install nodejs + npm via nvm
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing nodejs..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
installed() {
|
||||||
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
# sudo apt install -y --autoremove nodejs npm
|
||||||
|
|
||||||
|
if !installed "nvm"; then
|
||||||
|
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $(nvm current) == 'system' ]; then
|
||||||
|
echo "WARNING: You already have node installed - removing to install actual version"
|
||||||
|
sudo apt remove -y --autoremove nodejs npm
|
||||||
|
else
|
||||||
|
nvm install-latest-npm
|
||||||
|
fi
|
||||||
|
|
||||||
|
nvm install node
|
||||||
|
nvm use node
|
||||||
|
installed "node" && nvm current
|
||||||
|
nvm ls
|
||||||
16
install/pgsql
Executable file
16
install/pgsql
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install postgresql (latest) and php-pgsql (if php is installed)
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing postgresql (latest)..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
installed() {
|
||||||
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
sudo apt install -y --autoremove postgresql postgresql-contrib
|
||||||
|
sudo service postgresql restart
|
||||||
|
installed 'php' && sudo apt install -y --autoremove php-pgsql
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
PHPVER="8.1"
|
##makedesc: Install php v8.1 + ppa
|
||||||
|
|
||||||
|
[ $1 ] && PHPVER="$1" || PHPVER="8.1"
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing php${PHPVER}..."
|
echo "Installing php${PHPVER}..."
|
||||||
27
install/postman
Executable file
27
install/postman
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install postman (latest)
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing postman (latest)..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
wget "https://dl.pstmn.io/download/latest/linux64" -O /tmp/postman.tar.gz
|
||||||
|
# sudo tar -xvzf /tmp/postman.tar.gz -C /usr/local/bin
|
||||||
|
sudo tar -xzf /tmp/postman.tar.gz -C /usr/local
|
||||||
|
rm /tmp/postman.tar.gz
|
||||||
|
sudo ln -s /usr/local/Postman/Postman /usr/local/bin/postman
|
||||||
|
|
||||||
|
echo "#!/usr/bin/env xdg-open
|
||||||
|
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Postman
|
||||||
|
Exec=/usr/local/bin/postman
|
||||||
|
Icon=/usr/local/Postman/app/icons/icon_128x128.png
|
||||||
|
Categories=Utility,Network
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Encoding=UTF-8
|
||||||
|
" > $HOME/.local/share/applications/Postman.desktop
|
||||||
|
sudo update-desktop-database
|
||||||
16
install/rustdesk
Executable file
16
install/rustdesk
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install rustdesk v1.1.8 (deb)
|
||||||
|
|
||||||
|
[ $1 ] && RDVER="$1" || RDVER="1.1.8"
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing rustdesk v${RDVER}..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
# https://github.com/rustdesk/rustdesk
|
||||||
|
|
||||||
|
sudo apt install libxdo3
|
||||||
|
wget "http://github.com/rustdesk/rustdesk/releases/download/${RDVER}/rustdesk-${RDVER}.deb" -qO /tmp/rustdesk.deb
|
||||||
|
sudo dpkg -i /tmp/rustdesk.deb
|
||||||
|
rm /tmp/rustdesk.deb
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install bunch of software from snap
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing flatpak and its software..."
|
echo "Installing software from snap..."
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -14,29 +16,29 @@ snapi() {
|
|||||||
[[ $? -ne 0 ]] && snap install $1 --classic
|
[[ $? -ne 0 ]] && snap install $1 --classic
|
||||||
}
|
}
|
||||||
|
|
||||||
if !installed snapd; then
|
if ! installed snapd; then
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install -y --autoremove snapd gnome-software-plugin-snap
|
sudo apt install -y --autoremove snapd gnome-software-plugin-snap
|
||||||
fi
|
fi
|
||||||
|
|
||||||
snapi snap-store
|
# snapi snap-store
|
||||||
snapi telegram-desktop
|
snapi telegram-desktop
|
||||||
snapi code
|
snapi code
|
||||||
snapi phpstorm
|
# snapi phpstorm
|
||||||
snapi skype
|
snapi skype
|
||||||
snapi audacity
|
# snapi audacity
|
||||||
snapi flameshot
|
# snapi flameshot
|
||||||
snapi gtk-common-themes
|
# snapi gtk-common-themes
|
||||||
snapi gtk2-common-themes
|
# snapi gtk2-common-themes
|
||||||
snapi kde-frameworks-5-core18
|
# snapi kde-frameworks-5-core18
|
||||||
snapi zoom-client
|
snapi zoom-client
|
||||||
snapi peek
|
snapi peek
|
||||||
|
|
||||||
# https://certbot.eff.org/
|
# https://certbot.eff.org/
|
||||||
snapi certbot
|
# snapi certbot
|
||||||
sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
# sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
||||||
|
|
||||||
# snapi mysql-workbench-community
|
# snapi mysql-workbench-community
|
||||||
# snapi dbeaver-ce
|
snapi dbeaver-ce
|
||||||
# snapi discord
|
# snapi discord
|
||||||
# snapi obs-studio
|
# snapi obs-studio
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install syncthing (latest) + ppa
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing syncthing..."
|
echo "Installing syncthing (latest) + ppa..."
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -20,7 +22,7 @@ echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://
|
|||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install -y --autoremove syncthing
|
sudo apt install -y --autoremove syncthing
|
||||||
|
|
||||||
wget "https://raw.githubusercontent.com/syncthing/syncthing/main/etc/linux-desktop/syncthing-start.desktop" -O /home/anthony/.local/share/applications/syncthing-start.desktop
|
wget "https://raw.githubusercontent.com/syncthing/syncthing/main/etc/linux-desktop/syncthing-start.desktop" -O $HOME/.local/share/applications/syncthing-start.desktop
|
||||||
wget "https://raw.githubusercontent.com/syncthing/syncthing/main/etc/linux-desktop/syncthing-ui.desktop" -O /home/anthony/.local/share/applications/syncthing-ui.desktop
|
wget "https://raw.githubusercontent.com/syncthing/syncthing/main/etc/linux-desktop/syncthing-ui.desktop" -O $HOME/.local/share/applications/syncthing-ui.desktop
|
||||||
ln -s /home/anthony/.local/share/applications/syncthing-start.desktop /home/anthony/.config/autostart/syncthing-start.desktop
|
ln -s $HOME/.local/share/applications/syncthing-start.desktop $HOME/.config/autostart/syncthing-start.desktop
|
||||||
# или демоном: https://habr.com/ru/post/350892/
|
# или демоном: https://habr.com/ru/post/350892/
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
. "../src/01-common.sh" || exit 5
|
##makedesc: Install telebit (latest)
|
||||||
title "Installing telebit..."
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing telebit (latest)..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
# https://git.coolaj86.com/coolaj86/telebit.js#install
|
||||||
|
|
||||||
# export NODEJS_VER=v10.2 # v10.2 is tested working, but we can test other versions
|
# export NODEJS_VER=v10.2 # v10.2 is tested working, but we can test other versions
|
||||||
# export TELEBIT_VERSION=master # git tag or branch to install from
|
# export TELEBIT_VERSION=master # git tag or branch to install from
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install ulauncher (latest) + ppa
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing ulauncher..."
|
echo "Installing ulauncher (latest) + ppa..."
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install wine (latest) + ppa (focal)
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing wine..."
|
echo "Installing wine (latest)..."
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -1,17 +1,26 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
. "../src/01-common.sh" || exit 5
|
##makedesc: Install zint (latest)
|
||||||
title "Installing zint..."
|
|
||||||
|
|
||||||
apti g++ cmake qtbase5-dev qttools5-dev libpng-dev
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing zint (latest)..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
sudo apt install -y --autoremove \
|
||||||
|
g++ \
|
||||||
|
cmake \
|
||||||
|
qtbase5-dev \
|
||||||
|
qttools5-dev \
|
||||||
|
libpng-dev
|
||||||
|
|
||||||
if installed git; then
|
if installed git; then
|
||||||
# 2.9.* ===============================================================================
|
# 2.9.* ===============================================================================
|
||||||
sudo git clone git://git.code.sf.net/p/zint/code /usr/src/zint
|
sudo git clone git@github.com:zint/zint.git /usr/src/zint
|
||||||
cd /usr/src/zint
|
cd /usr/src/zint
|
||||||
sudo cmake .
|
sudo cmake .
|
||||||
sudo make
|
sudo make
|
||||||
sudo make install
|
sudo make install
|
||||||
cd -
|
|
||||||
else
|
else
|
||||||
echo "You need git to be installed!"
|
echo "You need git to be installed!"
|
||||||
# 2.4.2 ===============================================================================
|
# 2.4.2 ===============================================================================
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
##makedesc: Install zsh + omz (latest)
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing zsh + oh-my-zsh"
|
echo "Installing zsh + omz (latest)..."
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
2
packs/lamp.makefile
Normal file
2
packs/lamp.makefile
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
##lamp: Apache + php + mariadb
|
||||||
|
lamp: apache php mariadb
|
||||||
115
src/00-io.sh
115
src/00-io.sh
@@ -1,115 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# https://misc.flogisoft.com/bash/tip_colors_and_formatting
|
|
||||||
|
|
||||||
########################################################
|
|
||||||
# Иконки
|
|
||||||
########################################################
|
|
||||||
|
|
||||||
IINFO="[ i ]"
|
|
||||||
INOTE="[ * ]"
|
|
||||||
IWARN="[ # ]"
|
|
||||||
IERROR="[ ! ]"
|
|
||||||
IFATAL="[ @ ]"
|
|
||||||
ISUCCESS="[ ! ]"
|
|
||||||
IASK="[ ? ]"
|
|
||||||
|
|
||||||
########################################################
|
|
||||||
# Атрибуты текста (форматирование)
|
|
||||||
########################################################
|
|
||||||
|
|
||||||
BOLD="\e[1m" # жирный
|
|
||||||
_BOLD="\e[21m" # нежирный
|
|
||||||
DIM="\e[2m" # приглушённый
|
|
||||||
_DIM="\e[22m" # неприглушённый
|
|
||||||
|
|
||||||
NORMAL="\e[20m" # сброс всех атрибутов
|
|
||||||
RESET="\e[0m" # сброс всех атрибутов и цветов (вообще)
|
|
||||||
|
|
||||||
########################################################
|
|
||||||
# Цвет текста
|
|
||||||
########################################################
|
|
||||||
|
|
||||||
FRESET="\e[39m"
|
|
||||||
FBLACK="\e[30m"
|
|
||||||
FWHITE="\e[97m"
|
|
||||||
FRED="\e[31m"
|
|
||||||
FGREEN="\e[32m"
|
|
||||||
FYELLOW="\e[33m"
|
|
||||||
FBLUE="\e[34m"
|
|
||||||
FLRED="\e[91m"
|
|
||||||
FLGREEN="\e[92m"
|
|
||||||
FLYELLOW="\e[93m"
|
|
||||||
FLBLUE="\e[94m"
|
|
||||||
|
|
||||||
########################################################
|
|
||||||
# Цвет фона текста
|
|
||||||
########################################################
|
|
||||||
|
|
||||||
BRESET="\e[49m"
|
|
||||||
BBLACK="\e[40m"
|
|
||||||
BWHITE="\e[107m"
|
|
||||||
BRED="\e[41m"
|
|
||||||
BGREEN="\e[42m"
|
|
||||||
BYELLOW="\e[43m"
|
|
||||||
BBLUE="\e[44m"
|
|
||||||
BLRED="\e[101m"
|
|
||||||
BLGREEN="\e[102m"
|
|
||||||
BLYELLOW="\e[103m"
|
|
||||||
BLBLUE="\e[104m"
|
|
||||||
|
|
||||||
########################################################
|
|
||||||
# Функции для вывода текста
|
|
||||||
########################################################
|
|
||||||
|
|
||||||
print() {
|
|
||||||
echo -e "$*${RESET}"
|
|
||||||
}
|
|
||||||
|
|
||||||
ask() {
|
|
||||||
IFS= read -rp "$(print ${BOLD}${BBLUE}${FWHITE}${IASK}${BRESET}\ ${BOLD}$1 ): " $2
|
|
||||||
}
|
|
||||||
|
|
||||||
dbg() {
|
|
||||||
print "${DIM}$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
info() {
|
|
||||||
print "${BOLD}${FWHITE}${IINFO}${RESET}${FWHITE} $1 "
|
|
||||||
}
|
|
||||||
|
|
||||||
note() {
|
|
||||||
print "${BOLD}${DIM}${FWHITE}${INOTE}${RESET} $1 "
|
|
||||||
}
|
|
||||||
|
|
||||||
success() {
|
|
||||||
print "${BOLD}${BGREEN}${FWHITE}${ISUCCESS}${BRESET}$FGREEN $1 "
|
|
||||||
}
|
|
||||||
|
|
||||||
warn() {
|
|
||||||
print "${BOLD}${BYELLOW}${FBLACK}${IWARN}${BRESET}${FYELLOW} Warning:${RESET} $1 " >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
error() {
|
|
||||||
print "${BOLD}${BLRED}${FWHITE}${IERROR} Error: ${BRESET}${FLRED} $1 " >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
fatal() {
|
|
||||||
print "${BOLD}${BRED}${FWHITE}${IFATAL} FATAL: $1 " >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
########################################################
|
|
||||||
# Тестирование
|
|
||||||
########################################################
|
|
||||||
|
|
||||||
# print
|
|
||||||
# print "print test"
|
|
||||||
# print
|
|
||||||
# ask "ask test" test
|
|
||||||
# print $test
|
|
||||||
# dbg "debug test"
|
|
||||||
# info "info test"
|
|
||||||
# note "note test"
|
|
||||||
# success "success test"
|
|
||||||
# warn "warn test"
|
|
||||||
# error "error test"
|
|
||||||
# fatal "fatal test"
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
source "./../src/00-io.sh"
|
|
||||||
|
|
||||||
title() {
|
|
||||||
info ""
|
|
||||||
info "==============================================="
|
|
||||||
info " $1"
|
|
||||||
info "==============================================="
|
|
||||||
info ""
|
|
||||||
}
|
|
||||||
|
|
||||||
apti() {
|
|
||||||
sudo apt install -y --autoremove $@
|
|
||||||
}
|
|
||||||
|
|
||||||
aptu() {
|
|
||||||
sudo apt update
|
|
||||||
}
|
|
||||||
|
|
||||||
aptug() {
|
|
||||||
sudo apt upgrade -y --autoremove
|
|
||||||
}
|
|
||||||
|
|
||||||
snapi() {
|
|
||||||
snap install $1 2>/dev/null
|
|
||||||
[[ $? -ne 0 ]] && snap install $1 --classic
|
|
||||||
}
|
|
||||||
|
|
||||||
installed() {
|
|
||||||
command -v "$1" >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
die() {
|
|
||||||
error "$1"
|
|
||||||
exit $2 || 1
|
|
||||||
}
|
|
||||||
|
|
||||||
require_root() {
|
|
||||||
[ $(id -u) > "0" ] && die "You must run this script with sudo!" 1
|
|
||||||
}
|
|
||||||
|
|
||||||
require_user() {
|
|
||||||
[ $(id -u) == "0" ] && die "You must run this script WITHOUT sudo!" 2
|
|
||||||
}
|
|
||||||
|
|
||||||
require_start() {
|
|
||||||
[ -z "$ENVDIR" ] && die "You must run start.sh to execute this script!" 3
|
|
||||||
}
|
|
||||||
19
start.sh
19
start.sh
@@ -1,19 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
OLDDIR=`pwd`
|
|
||||||
ENVDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
ENVSRCDIR="$ENVDIR"/src
|
|
||||||
INSTALLDIR="$ENVDIR"/install
|
|
||||||
DOTFILESDIR="$ENVDIR"/dotfiles
|
|
||||||
|
|
||||||
for script in "$ENVSRCDIR"/*.sh
|
|
||||||
do
|
|
||||||
. "$script"
|
|
||||||
done
|
|
||||||
|
|
||||||
for script in "$INSTALLDIR"/*.sh
|
|
||||||
do
|
|
||||||
. "$script"
|
|
||||||
done
|
|
||||||
|
|
||||||
# neofetch
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[Dolphin]
|
|
||||||
AdditionalInfoV2=Details_Size,Details_Date,CustomizedDetails
|
|
||||||
Timestamp=2011,9,4,15,13,34
|
|
||||||
Version=2
|
|
||||||
ViewMode=1
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
progress
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
size_ver
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
circle
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
progress
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
copy
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
link
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
progress
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
closedhand
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
help
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
copy
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
link
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
closedhand
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
pointer
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
link
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
copy
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
size_bdiag
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
size_fdiag
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
not-allowed
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
crosshair
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
not-allowed
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
help
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
alias
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user