Перезалив репозитория
This commit is contained in:
commit
065551c442
23
README.md
Normal file
23
README.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Окружение рабочего стола
|
||||||
|
|
||||||
|
Установщик софта и визуала.
|
||||||
|
Используется для развёртывания привычной рабочей среды на Ubuntu.
|
||||||
|
|
||||||
|
Для установки всего софта выполнить команду:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo ./start.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Команда обработает все `*.sh`-скрипты из [`/install`](/install) по порядку.
|
||||||
|
|
||||||
|
Если весь софт не нужен, то следует обращаться к этим скриптам по отдельности:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./install/050-syncthing.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/)
|
51
dotfiles/.aliases
Normal file
51
dotfiles/.aliases
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# 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
Normal file
119
dotfiles/.bashrc
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
# ~/.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
|
||||||
|
|
86
dotfiles/.gitconfig
Normal file
86
dotfiles/.gitconfig
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
[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
Normal file
106
dotfiles/.zshrc
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# 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
|
0
dotfiles/Шаблоны/Empty File
Normal file
0
dotfiles/Шаблоны/Empty File
Normal file
BIN
dotfiles/Шаблоны/LibreOffice Calc.ods
Normal file
BIN
dotfiles/Шаблоны/LibreOffice Calc.ods
Normal file
Binary file not shown.
BIN
dotfiles/Шаблоны/LibreOffice Draw.odg
Normal file
BIN
dotfiles/Шаблоны/LibreOffice Draw.odg
Normal file
Binary file not shown.
BIN
dotfiles/Шаблоны/LibreOffice Impress.odp
Normal file
BIN
dotfiles/Шаблоны/LibreOffice Impress.odp
Normal file
Binary file not shown.
BIN
dotfiles/Шаблоны/LibreOffice Writer.odt
Normal file
BIN
dotfiles/Шаблоны/LibreOffice Writer.odt
Normal file
Binary file not shown.
BIN
dotfiles/Шаблоны/MS Excel.xlsx
Normal file
BIN
dotfiles/Шаблоны/MS Excel.xlsx
Normal file
Binary file not shown.
BIN
dotfiles/Шаблоны/MS PowerPoint.pptx
Normal file
BIN
dotfiles/Шаблоны/MS PowerPoint.pptx
Normal file
Binary file not shown.
BIN
dotfiles/Шаблоны/MS Word.docx
Normal file
BIN
dotfiles/Шаблоны/MS Word.docx
Normal file
Binary file not shown.
4
dotfiles/Шаблоны/PHP script.php
Normal file
4
dotfiles/Шаблоны/PHP script.php
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?php
|
||||||
|
ini_set('display_errors', '1');
|
||||||
|
ini_set('display_startup_errors', '1');
|
||||||
|
error_reporting(E_ALL);
|
1
dotfiles/Шаблоны/Shell script.sh
Normal file
1
dotfiles/Шаблоны/Shell script.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
#!/bin/bash
|
0
dotfiles/Шаблоны/Text File.txt
Normal file
0
dotfiles/Шаблоны/Text File.txt
Normal file
51
install/000-apt.sh
Executable file
51
install/000-apt.sh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing software from apt..."
|
||||||
|
|
||||||
|
aptu
|
||||||
|
aptug
|
||||||
|
apti apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
make \
|
||||||
|
dialog \
|
||||||
|
build-essential \
|
||||||
|
software-properties-common \
|
||||||
|
libaio1 \
|
||||||
|
libssl-dev \
|
||||||
|
libghc-zlib-dev \
|
||||||
|
libcurl4-gnutls-dev \
|
||||||
|
libexpat1-dev \
|
||||||
|
gettext \
|
||||||
|
gnupg \
|
||||||
|
ubuntu-restricted-extras \
|
||||||
|
gnome-software \
|
||||||
|
unzip \
|
||||||
|
mc \
|
||||||
|
htop \
|
||||||
|
nano \
|
||||||
|
neofetch \
|
||||||
|
default-jdk \
|
||||||
|
terminator \
|
||||||
|
dconf-editor \
|
||||||
|
alien \
|
||||||
|
meld \
|
||||||
|
vlc \
|
||||||
|
gparted \
|
||||||
|
hardinfo \
|
||||||
|
libreoffice \
|
||||||
|
pulseeffects \
|
||||||
|
lsp-plugins \
|
||||||
|
lsb-release \
|
||||||
|
net-tools \
|
||||||
|
# minder \
|
||||||
|
# redshift \
|
||||||
|
# redshift-gtk \
|
||||||
|
# nodejs \
|
||||||
|
# compiz \
|
||||||
|
# compizconfig-settings-manager \
|
||||||
|
# earlyoom \
|
||||||
|
# etckeeper \
|
||||||
|
# deepin-screenshot \
|
||||||
|
# geoclue-2.0 \
|
||||||
|
at
|
37
install/001-snap.sh
Executable file
37
install/001-snap.sh
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing snap and its software..."
|
||||||
|
|
||||||
|
if !installed snapd; then
|
||||||
|
aptu
|
||||||
|
apti snapd
|
||||||
|
apti gnome-software-plugin-snap
|
||||||
|
# snapi core
|
||||||
|
# snapi snapd
|
||||||
|
else
|
||||||
|
snap refresh core
|
||||||
|
fi
|
||||||
|
|
||||||
|
snapi snap-store
|
||||||
|
snapi telegram-desktop
|
||||||
|
snapi code
|
||||||
|
snapi phpstorm
|
||||||
|
snapi skype
|
||||||
|
snapi audacity
|
||||||
|
snapi flameshot
|
||||||
|
snapi gtk-common-themes
|
||||||
|
snapi gtk2-common-themes
|
||||||
|
snapi kde-frameworks-5-core18
|
||||||
|
snapi zoom-client
|
||||||
|
snapi peek
|
||||||
|
|
||||||
|
# https://certbot.eff.org/
|
||||||
|
snapi certbot
|
||||||
|
sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
||||||
|
|
||||||
|
# snapi mysql-workbench-community
|
||||||
|
# snapi dbeaver-ce
|
||||||
|
# snapi discord
|
||||||
|
# snapi liquibase
|
||||||
|
# snapi postman
|
||||||
|
# snapi obs-studio
|
8
install/002-flatpak.sh
Executable file
8
install/002-flatpak.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing flatpak and its software..."
|
||||||
|
|
||||||
|
apti flatpak \
|
||||||
|
gnome-software-plugin-flatpak
|
||||||
|
|
||||||
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
41
install/003-zsh.sh
Executable file
41
install/003-zsh.sh
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing zsh + oh-my-zsh"
|
||||||
|
|
||||||
|
apti zsh
|
||||||
|
# sudo chsh -s $(which zsh)
|
||||||
|
|
||||||
|
# Based on:
|
||||||
|
# https://github.com/Powerlevel9k/powerlevel9k/wiki/Install-Instructions
|
||||||
|
# https://github.com/ohmyzsh/ohmyzsh
|
||||||
|
# https://powerline.readthedocs.io/en/latest/installation/linux.html#fonts-installation
|
||||||
|
# https://gist.github.com/dogrocker/1efb8fd9427779c827058f873b94df95
|
||||||
|
# https://linuxhint.com/install_zsh_shell_ubuntu_1804/
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "1. Installing oh-my-zsh..."
|
||||||
|
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "2. Installing powerlevel9k theme (legacy)..."
|
||||||
|
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
|
||||||
|
sed -i 's@^ZSH_THEME=.*$@ZSH_THEME="powerlevel9k/powerlevel9k"@g' ~/.zshrc
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "3. Installing powerline fonts..."
|
||||||
|
wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
|
||||||
|
wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf
|
||||||
|
mkdir -p ~/.local/share/fonts/
|
||||||
|
mv PowerlineSymbols.otf ~/.local/share/fonts/
|
||||||
|
fc-cache -vf ~/.local/share/fonts/
|
||||||
|
mkdir -p ~/.config/fontconfig/conf.d/
|
||||||
|
mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d/
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "4. Installing autosuggestions and syntax highlighting..."
|
||||||
|
git clone https://github.com/zsh-users/zsh-autosuggestions.git .oh-my-zsh/custom/plugins/zsh-autosuggestions
|
||||||
|
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git .oh-my-zsh/custom/plugins/zsh-syntax-highlighting
|
||||||
|
sed -i 's@plugins=(git)@plugins=(git zsh-autosuggestions zsh-syntax-highlighting)@g' ~/.zshrc
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Finish! Log out of your session and login again."
|
24
install/010-git.sh
Executable file
24
install/010-git.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing git..."
|
||||||
|
|
||||||
|
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 git pull
|
||||||
|
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
|
||||||
|
success "$(git --version)"
|
21
install/020-docker.sh
Executable file
21
install/020-docker.sh
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing docker..."
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# apti 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
|
||||||
|
apti docker-ce docker-ce-cli containerd.io
|
||||||
|
|
||||||
|
sudo usermod -aG docker anthony
|
||||||
|
|
||||||
|
success "You need to logout and log in again to apply docker group"
|
6
install/040-ulauncher.sh
Executable file
6
install/040-ulauncher.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing ulauncher from apt..."
|
||||||
|
|
||||||
|
sudo add-apt-repository ppa:agornostal/ulauncher
|
||||||
|
apti ulauncher
|
23
install/050-syncthing.sh
Executable file
23
install/050-syncthing.sh
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing syncthing..."
|
||||||
|
|
||||||
|
# https://apt.syncthing.net/
|
||||||
|
|
||||||
|
# Add the release PGP keys:
|
||||||
|
sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
|
||||||
|
|
||||||
|
# Add the "stable" channel to your APT sources:
|
||||||
|
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
|
||||||
|
|
||||||
|
# Add the "candidate" channel to your APT sources:
|
||||||
|
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing candidate" | sudo tee /etc/apt/sources.list.d/syncthing.list
|
||||||
|
|
||||||
|
# Update and install syncthing:
|
||||||
|
aptu
|
||||||
|
apti 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-ui.desktop" -O /home/anthony/.local/share/applications/syncthing-ui.desktop
|
||||||
|
ln -s /home/anthony/.local/share/applications/syncthing-start.desktop /home/anthony/.config/autostart/syncthing-start.desktop
|
||||||
|
# или демоном: https://habr.com/ru/post/350892/
|
6
install/100-grub-customizer.sh
Executable file
6
install/100-grub-customizer.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing grub-customizer..."
|
||||||
|
|
||||||
|
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
|
||||||
|
apti grub-customizer
|
9
install/110-wine.sh
Executable file
9
install/110-wine.sh
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing wine"
|
||||||
|
|
||||||
|
sudo dpkg --add-architecture i386
|
||||||
|
wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
|
||||||
|
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
|
||||||
|
apti winehq-stable
|
||||||
|
installed "wine" && success "wine installed!"
|
10
install/120-chrome.sh
Executable file
10
install/120-chrome.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing google chrome (latest)..."
|
||||||
|
|
||||||
|
# https://t.me/axenov_blog/251
|
||||||
|
|
||||||
|
# snapi chromium
|
||||||
|
wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -O /tmp/google-chrome-stable_current_amd64.deb
|
||||||
|
sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb
|
||||||
|
rm /tmp/google-chrome-stable_current_amd64.deb
|
24
install/130-postman.sh
Executable file
24
install/130-postman.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/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"
|
27
install/200-golang.sh
Executable file
27
install/200-golang.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/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"
|
7
install/700-apache.sh
Executable file
7
install/700-apache.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing apache2..."
|
||||||
|
|
||||||
|
apti apache2
|
||||||
|
sudo service apache2 restart
|
||||||
|
success "$(apache2 -v)"
|
28
install/710-php.sh
Executable file
28
install/710-php.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
PHPVER="8.1"
|
||||||
|
title "Installing php${PHPVER}..."
|
||||||
|
|
||||||
|
sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
|
||||||
|
apti php${PHPVER} \
|
||||||
|
php${PHPVER}-xdebug \
|
||||||
|
php${PHPVER}-bcmath \
|
||||||
|
php${PHPVER}-bz2 \
|
||||||
|
php${PHPVER}-curl \
|
||||||
|
php${PHPVER}-gd \
|
||||||
|
php${PHPVER}-json \
|
||||||
|
php${PHPVER}-mbstring \
|
||||||
|
php${PHPVER}-mysql \
|
||||||
|
php${PHPVER}-opcache \
|
||||||
|
php${PHPVER}-pgsql \
|
||||||
|
php${PHPVER}-soap \
|
||||||
|
php${PHPVER}-xml \
|
||||||
|
php${PHPVER}-xmlrpc \
|
||||||
|
php${PHPVER}-xsl \
|
||||||
|
php${PHPVER}-zip
|
||||||
|
# php${PHPVER}-common
|
||||||
|
# php${PHPVER}-cli
|
||||||
|
# php${PHPVER}-dba
|
||||||
|
# php${PHPVER}-ldap
|
||||||
|
# php${PHPVER}-sqlite3
|
||||||
|
php -v
|
47
install/720-composer.sh
Executable file
47
install/720-composer.sh
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing composer..."
|
||||||
|
|
||||||
|
if installed "php"; then
|
||||||
|
if installed "composer"; then
|
||||||
|
warning "You already have composer installed - removing to install actual version"
|
||||||
|
sudo apt remove -y --autoremove composer
|
||||||
|
sudo rm -f /bin/composer
|
||||||
|
sudo rm -f /usr/bin/composer
|
||||||
|
sudo rm -f /usr/local/bin/composer
|
||||||
|
sudo rm -rf /usr/src/composer
|
||||||
|
fi
|
||||||
|
sudo mkdir -m 0777 -p /usr/src/composer
|
||||||
|
cd /usr/src/composer
|
||||||
|
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
|
||||||
|
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
|
||||||
|
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||||
|
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
||||||
|
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]; then
|
||||||
|
>&2 echo 'ERROR: Invalid installer checksum'
|
||||||
|
rm composer-setup.php
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
php composer-setup.php --quiet
|
||||||
|
sudo cp /usr/src/composer/composer.phar /usr/local/bin/composer
|
||||||
|
cd - >/dev/null
|
||||||
|
sudo rm -rf /usr/src/composer/
|
||||||
|
installed "composer" && success "composer installed!"
|
||||||
|
else
|
||||||
|
warning "*** You need to have php installed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# title "Installing composer.phar in home dir..."
|
||||||
|
# cd ~
|
||||||
|
# EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)"
|
||||||
|
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||||
|
# ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
||||||
|
# if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
|
||||||
|
# then
|
||||||
|
# >&2 echo 'ERROR: Invalid installer signature'
|
||||||
|
# rm composer-setup.php
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
# php composer-setup.php --quiet
|
||||||
|
# RESULT=$?
|
||||||
|
# rm composer-setup.php
|
39
install/730-oci8.sh_
Normal file
39
install/730-oci8.sh_
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing oci8..."
|
||||||
|
|
||||||
|
#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-basiclite-linuxx64.zip -- only libociicus.so
|
||||||
|
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linuxx64.zip
|
||||||
|
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-tools-linuxx64.zip
|
||||||
|
# wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-sdk-linuxx64.zip
|
||||||
|
#unzip
|
||||||
|
|
||||||
|
sudo mkdir /opt/oracle/
|
||||||
|
sudo mv ~/Downloads/instant_client/ /opt/oracle/
|
||||||
|
|
||||||
|
sudo sh -c "echo /opt/oracle/instant_client > /etc/ld.so.conf.d/oracle-instantclient.conf"
|
||||||
|
sudo ldconfig
|
||||||
|
|
||||||
|
apti php-dev php-pear build-essential libaio1 default-jdk
|
||||||
|
sudo pecl channel-update pecl.php.net
|
||||||
|
#sudo pecl install oci8 # php8
|
||||||
|
sudo pecl install oci8-2.2.0 # php7
|
||||||
|
|
||||||
|
#sh -c "echo '; priority=10' > /etc/php/7.4/mods-available/oci8.ini"
|
||||||
|
sudo sh -c "echo 'extension=oci8.so' >> /etc/php/7.4/mods-available/oci8.ini"
|
||||||
|
sudo chmod 0644 /etc/php/7.4/mods-available/oci8.ini
|
||||||
|
sudo phpenmod oci8
|
||||||
|
php -i | grep oci8
|
||||||
|
|
||||||
|
# instantclient,/opt/oracle/instant_client
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# https://pecl.php.net/package/oci8
|
||||||
|
sudo pecl install oci8-2.2.0
|
8
install/800-mysql.sh
Executable file
8
install/800-mysql.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing mariadb..."
|
||||||
|
|
||||||
|
apti mariadb-server mariadb-client
|
||||||
|
sudo mysql_secure_installation
|
||||||
|
installed "php" && apti php-mysql phpmyadmin
|
||||||
|
installed "mysql" && success "mariadb installed!"
|
7
install/810-pgsql.sh
Executable file
7
install/810-pgsql.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing pgsql..."
|
||||||
|
|
||||||
|
apti postgresql postgresql-contrib
|
||||||
|
sudo service postgresql restart
|
||||||
|
installed php && apti php-pgsql
|
28
install/996-zint.sh
Executable file
28
install/996-zint.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing zint..."
|
||||||
|
|
||||||
|
apti g++ cmake qtbase5-dev qttools5-dev libpng-dev
|
||||||
|
|
||||||
|
if installed git; then
|
||||||
|
# 2.9.* ===============================================================================
|
||||||
|
sudo git clone git://git.code.sf.net/p/zint/code /usr/src/zint
|
||||||
|
cd /usr/src/zint
|
||||||
|
sudo cmake .
|
||||||
|
sudo make
|
||||||
|
sudo make install
|
||||||
|
cd -
|
||||||
|
else
|
||||||
|
echo "You need git to be installed!"
|
||||||
|
# 2.4.2 ===============================================================================
|
||||||
|
# https://wayneoutthere.com/2021/02/17/how-to-install-zint-on-ubuntu/
|
||||||
|
# sudo wget https://github.com/downloads/zint/zint/zint-2.4.2.tar.gz -O /usr/src/zint.tar.gz
|
||||||
|
# sudo tar -C /usr/src/ -xzf /usr/src/zint.tar.gz
|
||||||
|
# sudo rm -rf /usr/src/zint.tar.gz
|
||||||
|
# cd /usr/src/zint-2.4.2/build
|
||||||
|
# sudo cmake ..
|
||||||
|
# sudo make
|
||||||
|
# sudo make install
|
||||||
|
# sudo rm -rf /usr/src/zint*
|
||||||
|
# cd -
|
||||||
|
fi
|
20
install/997-nodejs.sh
Executable file
20
install/997-nodejs.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/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
|
35
install/998-phpstorm-url-handler.sh_
Normal file
35
install/998-phpstorm-url-handler.sh_
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
. "../src/01-common.sh" || exit 5
|
||||||
|
title "Installing phpstorm-url-handler..."
|
||||||
|
|
||||||
|
# https://github.com/rozwell/phpstorm-url-handler/
|
||||||
|
# https://askubuntu.com/a/1023143
|
||||||
|
# https://askubuntu.com/a/919825
|
||||||
|
# https://medium.com/swlh/custom-protocol-handling-how-to-8ac41ff651eb
|
||||||
|
# https://www.linuxquestions.org/questions/linux-desktop-74/xdg-open-doesn%27t-recognize-custom-protocol-4175433062/#post4809984
|
||||||
|
|
||||||
|
sudo rm -rf /usr/bin/phpstorm-url-handler >/dev/null
|
||||||
|
sudo rm -rf ~/.local/share/applications/phpstorm-url-handler.desktop >/dev/null
|
||||||
|
sudo rm -rf /usr/share/applications/phpstorm-url-handler.desktop >/dev/null
|
||||||
|
if installed "git"; then
|
||||||
|
sudo git clone https://github.com/rozwell/phpstorm-url-handler.git /usr/src/phpstorm-url-handler
|
||||||
|
else
|
||||||
|
sudo wget https://github.com/rozwell/phpstorm-url-handler/archive/master.zip -O /usr/src/phpstorm-url-handler.zip
|
||||||
|
sudo unzip /usr/src/phpstorm-url-handler.zip -d /usr/src/phpstorm-url-handler
|
||||||
|
sudo rm -f /usr/src/phpstorm-url-handler.zip
|
||||||
|
fi
|
||||||
|
|
||||||
|
info "Copy .desktop"
|
||||||
|
sudo cp /usr/src/phpstorm-url-handler/phpstorm-url-handler.desktop /usr/share/local/applications/phpstorm-url-handler.desktop
|
||||||
|
|
||||||
|
info "Symlink bin"
|
||||||
|
sudo cp /usr/src/phpstorm-url-handler/phpstorm-url-handler /usr/bin/phpstorm-url-handler
|
||||||
|
|
||||||
|
info "desktop-file-install"
|
||||||
|
sudo desktop-file-install phpstorm-url-handler.desktop
|
||||||
|
|
||||||
|
info "update-desktop-database"
|
||||||
|
sudo update-desktop-database -v 2>&1 | grep -E "^(.+)\/phpstorm-url-handler.desktop(.+)$"
|
||||||
|
|
||||||
|
info "xdg-mime"
|
||||||
|
xdg-mime default phpstorm-url-handler.desktop x-scheme-handler/phpstorm
|
10
install/999-dotfiles.sh
Executable file
10
install/999-dotfiles.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/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/Шаблоны
|
120
scripts/db_backup.sh
Executable file
120
scripts/db_backup.sh
Executable file
@ -0,0 +1,120 @@
|
|||||||
|
##############################################################
|
||||||
|
# Скрипт для автоматического резервного копирования
|
||||||
|
# базы данных.
|
||||||
|
#
|
||||||
|
# Автор: Антон Аксенов
|
||||||
|
# URL: anthonyaxenov.ru
|
||||||
|
# Email: anthonyaxenov@gmail.com
|
||||||
|
#
|
||||||
|
# Подробности о скрипте, подготовка к работе:
|
||||||
|
# https://anthonyaxenov.blogspot.ru/2017/05/cron-1.html
|
||||||
|
#
|
||||||
|
##############################################################
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Данные для работы с БД
|
||||||
|
DBHOST=
|
||||||
|
DBUSER=
|
||||||
|
DBPASS=
|
||||||
|
DBNAME=
|
||||||
|
DBCHARSET="utf8"
|
||||||
|
|
||||||
|
# Даты
|
||||||
|
FMT_DT_DIR="%d-%m-%Y" # формат даты для директорий | 19-03-2021
|
||||||
|
FMT_DT_FILE="%H%M%S-%d%m%y" # формат даты для файлов | 082456-190321
|
||||||
|
FMT_DT_LOG="%H:%M:%S" # формат даты для лога | 08:24:15.168149413
|
||||||
|
|
||||||
|
# Локальное хранилище
|
||||||
|
LOCALDIR=/backup # полный путь директории для бэкапов
|
||||||
|
LOCALPATH=$LOCALDIR/$(date +$FMT_DT_DIR) # полный путь директории за сегодня
|
||||||
|
LOCALFILE=$LOCALPATH/$DBNAME-$(date +$FMT_DT_FILE).sql # полный путь к файлу дампа
|
||||||
|
|
||||||
|
# Облачное хранилище
|
||||||
|
CLOUDUSE=1 # Копировать ли в облако? Закомментировать строку, если не надо
|
||||||
|
CLOUDMNT=/mnt/yadisk # Точка монтирования облака относительно корня
|
||||||
|
CLOUDDIR=db_backup # Папка в облаке, куда будут лететь файлы (внутри папки CLOUDMNT, т.е. без / в начале)
|
||||||
|
CLOUDPATH=$CLOUDMNT/$CLOUDDIR/$DATE # полный путь к папке текущей даты в облаке относительно корня
|
||||||
|
CLOUDFILE=$CLOUDPATH/$DBNAME-$DATETIME.sql # полный путь к файлу дампа в облаке
|
||||||
|
CLOUDFILEGZ=$CLOUDFILE.gz # полный путь к архиву в облаке
|
||||||
|
|
||||||
|
# Путь к бекапу на примонтированном хранилище будет выглядеть так:
|
||||||
|
# /mnt/yadisk/db_backup/2017-01-01/mybigdatabase-2017-01-01-12-23-34.sql.gz
|
||||||
|
|
||||||
|
log() {
|
||||||
|
echo "[$(date +$FMT_DT_LOG)] $*"
|
||||||
|
}
|
||||||
|
|
||||||
|
is_dir() {
|
||||||
|
[ -d "$1" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Начало процесса
|
||||||
|
echo "[--------------------------------[$(date +$FMT_DT_LOG)]--------------------------------]"
|
||||||
|
log $LOCALPATH
|
||||||
|
if ! is_dir $LOCALPATH; then # Если нет папки за сегодня
|
||||||
|
sudo mkdir -p $LOCALPATH # создаём её, ошибки игнорируем
|
||||||
|
[ $? -eq 0 ] && log "New directory: $LOCALPATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
log "Generate a database dump: '$DBNAME'..."
|
||||||
|
mysqldump \
|
||||||
|
-q \
|
||||||
|
--user=$DBUSER \
|
||||||
|
--host=$DBHOST \
|
||||||
|
--password=$DBPASS \
|
||||||
|
--opt \
|
||||||
|
--default-character-set=$DBCHARSET $DBNAME \
|
||||||
|
> $LOCALFILE
|
||||||
|
exit
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if [[ $? -gt 0 ]]; then
|
||||||
|
# если дамп сделать не удалось (код завершения предыдущей команды больше нуля) - прерываем весь скрипт
|
||||||
|
log "Dumping failed! Script aborted."
|
||||||
|
exit 1
|
||||||
|
else # иначе - упаковываем его
|
||||||
|
log "Dumping successfull! Packing in GZIP..."
|
||||||
|
gzip $LOCALFILE # Упаковка
|
||||||
|
if [[ $? -ne 0 ]]; then # Если не удалась
|
||||||
|
log "GZipping failed! SQL-file will be uploaded."
|
||||||
|
GZIP_FAILED=1 # Создаём флажок, что упаковка сорвалась
|
||||||
|
else
|
||||||
|
log "Result file: $LOCALFILEGZ"
|
||||||
|
fi
|
||||||
|
if [[ $CLOUDUSE -eq 1 ]]; then # Если задано копирование в облако - делаем всякое такое
|
||||||
|
mount | grep "$CLOUDMNT" > /dev/null # Проверяем примонтировано ли уже у нас облако (вывод не важен)
|
||||||
|
if [[ $? -ne 0 ]]; then # Если нет
|
||||||
|
mount $CLOUDMNT # значит монтируем
|
||||||
|
fi
|
||||||
|
if [[ $? -eq 0 ]]; then # если монтирование успешно - копируем туда файл
|
||||||
|
log "Cloud: successfully mounted at $CLOUDMNT"
|
||||||
|
log "Cloud: copying started => $CLOUDFILEGZ"
|
||||||
|
if ! [[ -d $CLOUDPATH ]]; then # Если в облаке нет папки за сегодня
|
||||||
|
mkdir $CLOUDPATH 2> /dev/null # создаём её, ошибки игнорируем
|
||||||
|
fi
|
||||||
|
if [[ -f $LOCALFILEGZ && GZIP_FAILED -ne 1 ]]; then # Если у нас архивирование выше не сорвалось
|
||||||
|
cp -R $LOCALFILEGZ $CLOUDFILEGZ # Копируем архив
|
||||||
|
else
|
||||||
|
cp -R $LOCALFILE $CLOUDFILE # Иначе - копируем большой тяжёлый дамп
|
||||||
|
fi
|
||||||
|
if [[ $? -gt 0 ]]; then # Если не скопировался - просто сообщаем
|
||||||
|
log "Cloud: copy failed."
|
||||||
|
else # Если скопировался - сообщаем и размонтируем
|
||||||
|
log "Cloud: file successfully uploaded!"
|
||||||
|
umount $CLOUDMNT # Размонтирование облака
|
||||||
|
if [[ $? -gt 0 ]]; then # Сообщаем результат размонтирования (если необходимо)
|
||||||
|
log "Cloud: umount - failed!"
|
||||||
|
fi # Конец проверки успешного РАЗмонтирования
|
||||||
|
fi # Конец проверки успешного копирования
|
||||||
|
else # если монтирование НЕуспешно - сообщаем
|
||||||
|
log "Cloud: failed to mount cloud at $CLOUDMNT"
|
||||||
|
fi # Конец проверки успешного монтирования
|
||||||
|
fi # Конец проверки необходимости выгрузки в облако
|
||||||
|
fi # Конец проверки успешного выполнения mysqldump
|
||||||
|
log "Stat datadir space (USED): `du -h $LOCALPATH | tail -n1`" # вывод размера папки с бэкапами за текущий день
|
||||||
|
log "Free HDD space: `df -h /home|tail -n1|awk '{print $4}'`" # вывод свободного места на локальном диске
|
||||||
|
log "All operations completed!"
|
||||||
|
exit 0 # Успешное завершение скрипта
|
55
scripts/second-mon.sh
Executable file
55
scripts/second-mon.sh
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# https://gist.github.com/anthonyaxenov/c16e1181d4b8a8644c57ec8a1f6cf21c
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# #
|
||||||
|
# Set display resolution #
|
||||||
|
# #
|
||||||
|
# Author: Anthony Axenov (Антон Аксенов) #
|
||||||
|
# Version: 1.0 #
|
||||||
|
# License: WTFPL #
|
||||||
|
# #
|
||||||
|
#########################################################################
|
||||||
|
# #
|
||||||
|
# Using this script you can change your display resolution #
|
||||||
|
# to any one you need. Just adjust some vars below and run script #
|
||||||
|
# (chmod +x needed). #
|
||||||
|
# #
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
# Set display name to work with. You can get it via 'xrandr --listactivemonitors'
|
||||||
|
display="HDMI-2"
|
||||||
|
# Set width of this display in px
|
||||||
|
width=1600
|
||||||
|
# Set height of this display in px
|
||||||
|
height=900
|
||||||
|
|
||||||
|
# Sometimes cvt and gtf generates different modelines.
|
||||||
|
# You can play around and look which of them gives best result:
|
||||||
|
modeline=$(cvt ${width} ${height} | grep "Modeline")
|
||||||
|
# modeline=$(gtf ${width} ${height} 60 | grep "Modeline")
|
||||||
|
|
||||||
|
# Some important data needed to xrandr:
|
||||||
|
modename="${width}x${height}_my"
|
||||||
|
params=$(echo "$modeline" | sed "s|^\s*Modeline\s*\"[0-9x_.]*\"\s*||")
|
||||||
|
|
||||||
|
echo "Set resolution ${width}x${height} on display $display:"
|
||||||
|
echo "$modename $params"
|
||||||
|
|
||||||
|
# Simple logic:
|
||||||
|
# 1. Switch display to safe mode which always exists (I believe) to avoid errors
|
||||||
|
xrandr --output $display --mode 640x480
|
||||||
|
# 2. If display aready have our mode -- we must delete it to avoid errors
|
||||||
|
if $(xrandr | grep -q "$modename"); then
|
||||||
|
# 2.1. Detach mode from display
|
||||||
|
xrandr --delmode $display $modename
|
||||||
|
# 2.2. Remove mode itself
|
||||||
|
xrandr --rmmode $modename
|
||||||
|
fi
|
||||||
|
# 3. Create new mode with freshly generated parameters
|
||||||
|
xrandr --newmode $modename $params
|
||||||
|
# 4. Attach mode to our display
|
||||||
|
xrandr --addmode $display $modename
|
||||||
|
# 5. Switch display to this mode immidiately
|
||||||
|
xrandr --output $display --mode $modename
|
115
src/00-io.sh
Executable file
115
src/00-io.sh
Executable file
@ -0,0 +1,115 @@
|
|||||||
|
#!/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"
|
49
src/01-common.sh
Executable file
49
src/01-common.sh
Executable file
@ -0,0 +1,49 @@
|
|||||||
|
#!/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
Executable file
19
start.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/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
|
5
theme/Bridge/cursors/.directory
Normal file
5
theme/Bridge/cursors/.directory
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Dolphin]
|
||||||
|
AdditionalInfoV2=Details_Size,Details_Date,CustomizedDetails
|
||||||
|
Timestamp=2011,9,4,15,13,34
|
||||||
|
Version=2
|
||||||
|
ViewMode=1
|
1
theme/Bridge/cursors/00000000000000020006000e7e9ffc3f
Symbolic link
1
theme/Bridge/cursors/00000000000000020006000e7e9ffc3f
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
progress
|
1
theme/Bridge/cursors/00008160000006810000408080010102
Symbolic link
1
theme/Bridge/cursors/00008160000006810000408080010102
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
size_ver
|
1
theme/Bridge/cursors/03b6e0fcb3499374a867c041f52298f0
Symbolic link
1
theme/Bridge/cursors/03b6e0fcb3499374a867c041f52298f0
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
circle
|
1
theme/Bridge/cursors/08e8e1c95fe2fc01f976f1e063a24ccd
Symbolic link
1
theme/Bridge/cursors/08e8e1c95fe2fc01f976f1e063a24ccd
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
progress
|
1
theme/Bridge/cursors/1081e37283d90000800003c07f3ef6bf
Symbolic link
1
theme/Bridge/cursors/1081e37283d90000800003c07f3ef6bf
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
copy
|
1
theme/Bridge/cursors/3085a0e285430894940527032f8b26df
Symbolic link
1
theme/Bridge/cursors/3085a0e285430894940527032f8b26df
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
link
|
1
theme/Bridge/cursors/3ecb610c1bf2410f44200f48c40d3599
Symbolic link
1
theme/Bridge/cursors/3ecb610c1bf2410f44200f48c40d3599
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
progress
|
1
theme/Bridge/cursors/4498f0e0c1937ffe01fd06f973665830
Symbolic link
1
theme/Bridge/cursors/4498f0e0c1937ffe01fd06f973665830
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
closedhand
|
1
theme/Bridge/cursors/5c6cd98b3f3ebcb1f9c7f1c204630408
Symbolic link
1
theme/Bridge/cursors/5c6cd98b3f3ebcb1f9c7f1c204630408
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
help
|
1
theme/Bridge/cursors/6407b0e94181790501fd1e167b474872
Symbolic link
1
theme/Bridge/cursors/6407b0e94181790501fd1e167b474872
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
copy
|
1
theme/Bridge/cursors/640fb0e74195791501fd1ed57b41487f
Symbolic link
1
theme/Bridge/cursors/640fb0e74195791501fd1ed57b41487f
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
link
|
1
theme/Bridge/cursors/9081237383d90e509aa00f00170e968f
Symbolic link
1
theme/Bridge/cursors/9081237383d90e509aa00f00170e968f
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
closedhand
|
1
theme/Bridge/cursors/9d800788f1b08800ae810202380a0822
Symbolic link
1
theme/Bridge/cursors/9d800788f1b08800ae810202380a0822
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pointer
|
1
theme/Bridge/cursors/a2a266d0498c3104214a47bd64ab0fc8
Symbolic link
1
theme/Bridge/cursors/a2a266d0498c3104214a47bd64ab0fc8
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
link
|
BIN
theme/Bridge/cursors/alias
Executable file
BIN
theme/Bridge/cursors/alias
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/all-scroll
Executable file
BIN
theme/Bridge/cursors/all-scroll
Executable file
Binary file not shown.
1
theme/Bridge/cursors/b66166c04f8c3109214a4fbd64a50fc8
Symbolic link
1
theme/Bridge/cursors/b66166c04f8c3109214a4fbd64a50fc8
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
copy
|
1
theme/Bridge/cursors/bottom_left_corner
Symbolic link
1
theme/Bridge/cursors/bottom_left_corner
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
size_bdiag
|
1
theme/Bridge/cursors/bottom_right_corner
Symbolic link
1
theme/Bridge/cursors/bottom_right_corner
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
size_fdiag
|
BIN
theme/Bridge/cursors/bottom_side
Executable file
BIN
theme/Bridge/cursors/bottom_side
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/cell
Executable file
BIN
theme/Bridge/cursors/cell
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/center-ptr
Executable file
BIN
theme/Bridge/cursors/center-ptr
Executable file
Binary file not shown.
1
theme/Bridge/cursors/circle
Symbolic link
1
theme/Bridge/cursors/circle
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
not-allowed
|
BIN
theme/Bridge/cursors/closedhand
Executable file
BIN
theme/Bridge/cursors/closedhand
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/col-resize
Executable file
BIN
theme/Bridge/cursors/col-resize
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/color-picker
Executable file
BIN
theme/Bridge/cursors/color-picker
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/context-menu
Executable file
BIN
theme/Bridge/cursors/context-menu
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/copy
Executable file
BIN
theme/Bridge/cursors/copy
Executable file
Binary file not shown.
1
theme/Bridge/cursors/cross
Symbolic link
1
theme/Bridge/cursors/cross
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
crosshair
|
1
theme/Bridge/cursors/crossed_circle
Symbolic link
1
theme/Bridge/cursors/crossed_circle
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
not-allowed
|
BIN
theme/Bridge/cursors/crosshair
Executable file
BIN
theme/Bridge/cursors/crosshair
Executable file
Binary file not shown.
1
theme/Bridge/cursors/d9ce0ab605698f320427677b458ad60b
Symbolic link
1
theme/Bridge/cursors/d9ce0ab605698f320427677b458ad60b
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
help
|
BIN
theme/Bridge/cursors/default
Executable file
BIN
theme/Bridge/cursors/default
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/dnd-copy
Executable file
BIN
theme/Bridge/cursors/dnd-copy
Executable file
Binary file not shown.
1
theme/Bridge/cursors/dnd-link
Symbolic link
1
theme/Bridge/cursors/dnd-link
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
alias
|
BIN
theme/Bridge/cursors/dnd-move
Executable file
BIN
theme/Bridge/cursors/dnd-move
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/dnd-no-drop
Executable file
BIN
theme/Bridge/cursors/dnd-no-drop
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/dnd-none
Executable file
BIN
theme/Bridge/cursors/dnd-none
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/down-arrow
Executable file
BIN
theme/Bridge/cursors/down-arrow
Executable file
Binary file not shown.
BIN
theme/Bridge/cursors/draft
Executable file
BIN
theme/Bridge/cursors/draft
Executable file
Binary file not shown.
1
theme/Bridge/cursors/e-resize
Symbolic link
1
theme/Bridge/cursors/e-resize
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
size_hor
|
1
theme/Bridge/cursors/e29285e634086352946a0e7090d73106
Symbolic link
1
theme/Bridge/cursors/e29285e634086352946a0e7090d73106
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pointer
|
1
theme/Bridge/cursors/fcf21c00b30f7e3f83fe0dfd12e71cff
Symbolic link
1
theme/Bridge/cursors/fcf21c00b30f7e3f83fe0dfd12e71cff
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
closedhand
|
BIN
theme/Bridge/cursors/fleur
Executable file
BIN
theme/Bridge/cursors/fleur
Executable file
Binary file not shown.
1
theme/Bridge/cursors/forbidden
Symbolic link
1
theme/Bridge/cursors/forbidden
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
no-drop
|
1
theme/Bridge/cursors/h_double_arrow
Symbolic link
1
theme/Bridge/cursors/h_double_arrow
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
size_hor
|
1
theme/Bridge/cursors/half-busy
Symbolic link
1
theme/Bridge/cursors/half-busy
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
progress
|
1
theme/Bridge/cursors/hand1
Symbolic link
1
theme/Bridge/cursors/hand1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pointer
|
1
theme/Bridge/cursors/hand2
Symbolic link
1
theme/Bridge/cursors/hand2
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pointer
|
BIN
theme/Bridge/cursors/help
Executable file
BIN
theme/Bridge/cursors/help
Executable file
Binary file not shown.
1
theme/Bridge/cursors/ibeam
Symbolic link
1
theme/Bridge/cursors/ibeam
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
text
|
1
theme/Bridge/cursors/left_ptr
Symbolic link
1
theme/Bridge/cursors/left_ptr
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
default
|
1
theme/Bridge/cursors/left_ptr_help
Symbolic link
1
theme/Bridge/cursors/left_ptr_help
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
help
|
1
theme/Bridge/cursors/left_ptr_watch
Symbolic link
1
theme/Bridge/cursors/left_ptr_watch
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
progress
|
BIN
theme/Bridge/cursors/left_side
Normal file
BIN
theme/Bridge/cursors/left_side
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user