Compare commits

19 Commits

Author SHA1 Message Date
anthony 5970e9b968 Moved from ./install/todo 2022-07-04 22:13:41 +08:00
anthony 317f635b91 Updated docker, apt, wine, snap; removed todo 2022-07-04 22:13:00 +08:00
anthony e9cd7ee2ae Removed .sh from names, packs support 2022-07-04 19:34:00 +08:00
anthony 4a71dd0ae8 Better ##makedesc parsing 2022-07-04 19:08:37 +08:00
anthony ad34d5c64a Makefile instead of start.sh + generator 2022-07-04 17:56:45 +08:00
anthony 2c37621542 Makefile + Droidcam 2022-07-04 15:51:04 +08:00
anthony fed75142f1 Removed dotfiles and theme 2022-07-04 15:50:44 +08:00
anthony 8a87e84cac Latest golang 2022-07-04 15:23:57 +08:00
anthony 1da0453ff4 Lite-XL draft 2022-07-04 15:23:49 +08:00
anthony 2a0fbc25c5 golang fix 2022-04-14 13:44:06 +00:00
anthony 8e1157afc5 Refactored aliases 2022-02-16 12:48:48 +08:00
anthony baeb784264 rustdesk 2022-02-01 15:17:17 +08:00
anthony 790dc6143b anydesk remove 2022-02-01 15:05:16 +08:00
anthony ee1417f8b0 anydesk fix 2022-02-01 14:56:03 +08:00
anthony 118a4da535 anydesk 2022-02-01 14:43:09 +08:00
anthony d175b6ee3b fix git.sh 2 2022-01-09 17:32:11 +08:00
anthony 7f8f9ddc27 fix git.sh 2022-01-09 17:23:19 +08:00
anthony 7102cb38dc fix snap.sh 2022-01-09 17:20:40 +08:00
anthony cd0dc9d988 Фиксы $HOME, $USER + dotfiles 2022-01-09 17:14:25 +08:00
856 changed files with 521 additions and 45428 deletions
+1
View File
@@ -0,0 +1 @@
*.bak
+114
View 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
+57 -32
View File
@@ -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
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
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
wget -qO - http://git.anthonyaxenov.ru/anthony/my-env/archive/master.tar.gz | tar -zxf -
cd my-env
sudo ./start.sh
# from remote file
wget -qO - https://git.axenov.dev/anthony/my-env/raw/branch/master/install/apt.sh | bash
# 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
wget -qO - http://git.anthonyaxenov.ru/anthony/my-env/raw/branch/master/install/000-apt.sh | bash
You can create new file inside `./packs` dir.
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
...
...
```
После полного развёртывания репозитория (см. полную установку):
```shell
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
```
where:
* `mypack*` is the pack name
* `goal*` are script names in `./install`
-51
View File
@@ -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
View File
@@ -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
-95
View File
@@ -1,95 +0,0 @@
[user]
name = AnthonyAxenov
email = anthonyaxenov@gmail.com
signingkey =
[core]
editor = nano
autocrlf = input
[commit]
gpgSign = true
[tag]
gpgSign = true
[pull]
default = current
rebase = false
[push]
default = current
[alias]
# общее -----------------------------------------------------------------
aliases = config --get-regexp '^alias' # показать список доступных алиасов
head = log -1 HEAD # показать последний коммит в текущей ветке
# название текущей ветки или тега при detached head:
dehead = "!BR=$(git branch --show-current); if [ -n \"$BR\" ]; then echo $BR; else git describe --contains --all HEAD; fi;"
# ветки -------------------------------------------------------------------
bheads = branch -vv # ветки и их последние коммиты
# br = status -sb # показать название текущей ветки
# branch = branch --list -vv # показать текущую ветку в общем списке локальных веток
#mn = merge --no-ff # слить ветку с принудительным коммитом слияния
brd = branch -D # удалить ветку локально
brod = "!git push origin :"${1}";" # удалить ветку на origin
merged = branch --merged # показать список веток, слитых в текущую
review = "!git fetch origin pull/$1/head:pr/$1 && git checkout pr/$1" # github: встать на PR с указанным id
# удалить локальные ветки, слитые в текущую, плюс все мёртвые ссылки на ветки в origin:
trim = "!DEFAULT=master; git branch --merged ${1-$DEFAULT} | grep -v " ${1-$DEFAULT}$" | xargs git branch -d; git remote prune origin;"
# переключение ------------------------------------------------------------
co = checkout # переключиться на ветку/тег/коммит
cob = checkout -b # создание новое ветки
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 # прикрепляет все индексированные файлы к последнему коммиту, используя уже существующее сообщение
# amenda = commit --amend --no-edit -a
amendm = commit --amend -m # прикрепляет все индексированные файлы к последнему коммиту, спрашивает новое сообщение к коммиту
cp = cherry-pick # применить коммит поверх текущего HEAD
diffc = diff --cached # показать дельту staged-файла
uncommit = reset --soft HEAD~1
# управление изменениями, сброс состояний, откат --------------------------
st = status -sb # короткий status
rh = reset --hard # откат коммита с удалением всех изменений на указанный коммит
rhh = reset --hard HEAD # откат коммита с удалением всех изменений на последний коммит
reseth = reset --mixed HEAD # откат коммита с сохранением всех изменений
unstage = reset HEAD # переводит файл staged => unstaged без потери изменений
clear = checkout -- # удаляет изменения в файле
# алиасы для временной фиксации
# на самом деле, для таких дел надо использовать git stash
# save = !git add -A && git commit -m 'SAVEPOINT'
# wip = commit -am "WIP"
# undo = reset HEAD~1 --mixed
# работа с remote-репами --------------------------------------------------
pushf = push --force # отправить ветку принудительно
pushft = push --tags --force # отправить теги принудительно
pullf = pull --force # отправить ветки принудительно
pullt = pull --tags --force # получить теги принудительно
#ploh = pull origin HEAD # получить текущую ветку из origin
remotes = remote -v # показать список удалённых репозиториев
#sy = remote update origin --prune #
rso = remote show origin # показать состояние локальных веток относительно удалённых на origin bare
rpo = remote prune origin # удалить все мёртвые ссылки на ветки в origin
repush = 'git push origin :$1 && git push origin $1' # удалить ветку на origin и отправить её заново
# просмотр логов ----------------------------------------------------------
heads = log --graph --decorate --simplify-by-decoration --oneline # коммиты, которыми оканчиваются ветки
tree = log --graph --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset'
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
View File
@@ -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
View File
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.
-4
View File
@@ -1,4 +0,0 @@
<?php
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
-1
View File
@@ -1 +0,0 @@
#!/bin/bash
@@ -5,6 +5,8 @@ echo "Installing oci8..."
echo "==============================================="
echo
# https://www.oracle.com/cis/database/technologies/instant-client/downloads.html
#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
+46
View 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
+34
View 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
-29
View File
@@ -1,29 +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 config set --global user.name 'AnthonyAxenov'
git config set --global user.email 'anthonyaxenov@gmail.com'
git --version
# TODO: cp $DOTFILESDIR/.gitconfig $HOME/.gitconfig
-24
View File
@@ -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"
-28
View File
@@ -1,28 +0,0 @@
#!/bin/bash
echo
echo "==============================================="
echo "Installing golang..."
echo "==============================================="
echo
# 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.17.6"
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 anthony: -R /usr/local/go
echo "export PATH=$PATH:/usr/local/go/bin" >> /home/anthony/.profile
echo "export GOPATH=~/.go" >> /home/anthony/.profile
# source ~/.profile
echo
go version
echo "NOTE: now run 'source ~/.profile' to apply new env vars"
echo
-10
View File
@@ -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/Шаблоны
+2
View File
@@ -1,4 +1,6 @@
#!/bin/bash
##makedesc: Install apache2 (latest)
echo
echo "==============================================="
echo "Installing apache2..."
+5 -3
View File
@@ -1,4 +1,6 @@
#!/bin/bash
##makedesc: Install bunch of software from apt
echo
echo "==============================================="
echo "Installing software from apt..."
@@ -23,7 +25,6 @@ sudo apt install -y --autoremove \
gettext \
gnupg \
ubuntu-restricted-extras \
gnome-software \
unzip \
mc \
htop \
@@ -44,7 +45,8 @@ sudo apt install -y --autoremove \
net-tools \
nmap \
p7zip-full \
sqlitebrowser \
sqlitebrowser
# gnome-software \
# minder \
# redshift \
# redshift-gtk \
@@ -55,4 +57,4 @@ sudo apt install -y --autoremove \
# etckeeper \
# deepin-screenshot \
# geoclue-2.0 \
at
# at
+2
View File
@@ -1,4 +1,6 @@
#!/bin/bash
##makedesc: Install google chrome (latest)
echo
echo "==============================================="
echo "Installing google chrome (latest)..."
+3 -1
View File
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install composer (latest)
echo
echo "==============================================="
echo "Installing composer..."
echo "Installing composer (latest)..."
echo "==============================================="
echo
Executable
+34
View 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
View 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
View 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
Executable
+38
View 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
Executable
+27
View 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
##makedesc: Install grub-customizer (latest) + ppa
echo
echo "==============================================="
echo "Installing grub-customizer..."
echo "Installing grub-customizer (latest)..."
echo "==============================================="
echo
@@ -1,4 +1,6 @@
#!/bin/bash
#!/bin/bash (latest)
##makedesc: Install KDE Window AppMenu Applet
echo
echo "==============================================="
echo "Installing KDE Window AppMenu Applet..."
@@ -33,7 +35,7 @@ else
sudo rm -rf /usr/src/appmenu-applet/applet-window-appmenu-master
sudo rm -f /usr/src/appmenu-applet.zip
fi
sudo chown -R anthony: /usr/src/appmenu-applet
sudo chown -R $USER: /usr/src/appmenu-applet
cd /usr/src/appmenu-applet/
sh ./install.sh
echo
+34
View 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
+3 -1
View File
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install mariadb (latest) and php-mysql + phpMyAdmin (if php is installed)
echo
echo "==============================================="
echo "Installing mariadb..."
echo "Installing mariadb (latest)..."
echo "==============================================="
echo
+2
View File
@@ -1,4 +1,6 @@
#!/bin/bash
##makedesc: Install nodejs + npm via nvm
echo
echo "==============================================="
echo "Installing nodejs..."
+4 -2
View File
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install postgresql (latest) and php-pgsql (if php is installed)
echo
echo "==============================================="
echo "Installing postgresql..."
echo "Installing postgresql (latest)..."
echo "==============================================="
echo
@@ -11,4 +13,4 @@ installed() {
sudo apt install -y --autoremove postgresql postgresql-contrib
sudo service postgresql restart
installed php && sudo apt install -y --autoremove php-pgsql
installed 'php' && sudo apt install -y --autoremove php-pgsql
+3 -1
View File
@@ -1,5 +1,7 @@
#!/bin/bash
PHPVER="8.1"
##makedesc: Install php v8.1 + ppa
[ $1 ] && PHPVER="$1" || PHPVER="8.1"
echo
echo "==============================================="
echo "Installing php${PHPVER}..."
+3 -1
View File
@@ -1,4 +1,6 @@
#!/bin/bash
##makedesc: Install postman (latest)
echo
echo "==============================================="
echo "Installing postman (latest)..."
@@ -21,5 +23,5 @@ Categories=Utility,Network
Terminal=false
Type=Application
Encoding=UTF-8
" > /home/anthony/.local/share/applications/Postman.desktop
" > $HOME/.local/share/applications/Postman.desktop
sudo update-desktop-database
+16
View 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
+14 -12
View File
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install bunch of software from snap
echo
echo "==============================================="
echo "Installing flatpak and its software..."
echo "Installing software from snap..."
echo "==============================================="
echo
@@ -14,29 +16,29 @@ snapi() {
[[ $? -ne 0 ]] && snap install $1 --classic
}
if !installed snapd; then
if ! installed snapd; then
sudo apt update
sudo apt install -y --autoremove snapd gnome-software-plugin-snap
fi
snapi snap-store
# snapi snap-store
snapi telegram-desktop
snapi code
snapi phpstorm
# snapi phpstorm
snapi skype
snapi audacity
snapi flameshot
snapi gtk-common-themes
snapi gtk2-common-themes
snapi kde-frameworks-5-core18
# 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 certbot
# sudo ln -s /snap/bin/certbot /usr/bin/certbot
# snapi mysql-workbench-community
# snapi dbeaver-ce
snapi dbeaver-ce
# snapi discord
# snapi obs-studio
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install syncthing (latest) + ppa
echo
echo "==============================================="
echo "Installing syncthing..."
echo "Installing syncthing (latest) + ppa..."
echo "==============================================="
echo
@@ -20,7 +22,7 @@ echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://
sudo apt update
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-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
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/.local/share/applications/syncthing-ui.desktop
ln -s $HOME/.local/share/applications/syncthing-start.desktop $HOME/.config/autostart/syncthing-start.desktop
# или демоном: https://habr.com/ru/post/350892/
+3 -1
View File
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install telebit (latest)
echo
echo "==============================================="
echo "Installing telebit..."
echo "Installing telebit (latest)..."
echo "==============================================="
echo
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install ulauncher (latest) + ppa
echo
echo "==============================================="
echo "Installing ulauncher..."
echo "Installing ulauncher (latest) + ppa..."
echo "==============================================="
echo
+3 -1
View File
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install wine (latest) + ppa (focal)
echo
echo "==============================================="
echo "Installing wine..."
echo "Installing wine (latest)..."
echo "==============================================="
echo
+4 -2
View File
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install zint (latest)
echo
echo "==============================================="
echo "Installing zint..."
echo "Installing zint (latest)..."
echo "==============================================="
echo
@@ -14,7 +16,7 @@ sudo apt install -y --autoremove \
if installed git; then
# 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
sudo cmake .
sudo make
+3 -1
View File
@@ -1,7 +1,9 @@
#!/bin/bash
##makedesc: Install zsh + omz (latest)
echo
echo "==============================================="
echo "Installing zsh + oh-my-zsh"
echo "Installing zsh + omz (latest)..."
echo "==============================================="
echo
+2
View File
@@ -0,0 +1,2 @@
##lamp: Apache + php + mariadb
lamp: apache php mariadb
-11
View File
@@ -1,11 +0,0 @@
#!/bin/bash
set -e
OLDDIR=`pwd`
ENVDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
INSTALLDIR="$ENVDIR"/install
DOTFILESDIR="$ENVDIR"/dotfiles
for script in "$INSTALLDIR"/*.sh
do
. "$script"
done
-5
View File
@@ -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
View File
@@ -1 +0,0 @@
size_bdiag
-1
View File
@@ -1 +0,0 @@
size_fdiag
Binary file not shown.
Binary file not shown.
Binary file not shown.
-1
View File
@@ -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
View File
@@ -1 +0,0 @@
crosshair
-1
View File
@@ -1 +0,0 @@
not-allowed
Binary file not shown.
@@ -1 +0,0 @@
help
Binary file not shown.
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
alias
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
size_hor
@@ -1 +0,0 @@
pointer
@@ -1 +0,0 @@
closedhand
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More