Compare commits

...

24 Commits

Author SHA1 Message Date
d821633ecb Move some of files to mycloud. 2021-10-24 20:29:27 +01:00
a8d89c343d tmux binding ctrl-b 2021-10-24 11:13:38 +01:00
313ef038ee tmux prefix restored 2021-10-24 11:11:27 +01:00
99aa330fbc Merge branch 'master' of github.com:vishap/scripts 2021-10-24 08:29:20 +01:00
b0761222e1 Fix: install.sh shebang 2021-09-30 09:32:53 -07:00
4b03ce1b3d Update ssh_socks5.service. 2021-08-31 09:20:43 +01:00
b5866c3ef0 Merge branch 'master' of github.com:vishap/scripts 2021-08-31 09:12:50 +01:00
34aaf2e37a Update nextcloud and gerbera docker-compose.yml 2021-08-31 09:12:46 +01:00
f3e4e0f3fe ssh_lusntag.service and ssh_yerevak.service 2021-08-10 22:04:33 +01:00
46685dd18e Fix find warnings. 2021-08-10 22:03:01 +01:00
fd800adfd7 fix install.sh 2021-07-27 13:21:33 -07:00
ea3717a930 Improved config setup via install.sh 2021-07-22 10:13:56 -07:00
b2d188344e vim: switching to plug.vim 2021-07-21 22:40:08 +01:00
ea10d5a0ad Fix bashrc.vahagn 2021-07-21 22:20:38 +01:00
25fe63e4f9 .profile.prompt show full host name. 2021-06-27 09:04:38 +01:00
d8de2dd2d4 .bashrc -> .bashrc.vahagn 2021-06-25 18:25:28 +01:00
4758e6b2f2 remove vundle as git submodule 2021-06-25 17:03:06 +01:00
094166bb4b Add local haskell to path. 2021-06-25 13:22:41 +01:00
3e6aba7331 fix .profile.dircolor 2021-06-25 13:22:01 +01:00
3d0c46888d completion for ondemand 2021-06-25 13:21:24 +01:00
687999be1a some more fixes that would work in fb devservers. 2021-06-25 03:12:38 -07:00
4609a035af .bashrc chopped into separate file. 2021-06-16 04:12:17 -07:00
3cb73cb62c fb prompt for mercurial 2021-06-15 13:03:47 -07:00
108ad9efd2 fb_dev local 2021-06-15 03:46:12 -07:00
49 changed files with 3398 additions and 755 deletions

4
.gitignore vendored
View File

@@ -1,4 +1,4 @@
*.swp
*.swo
vim/bundle
config/.vim/autoload
config/.vim/plugged

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "vim/bundle/Vundle.vim"]
path = vim/bundle/Vundle.vim
url = https://github.com/VundleVim/Vundle.vim.git

View File

@@ -1,67 +0,0 @@
#!/bin/bash
CD=cd
DATE=/bin/date
TAR=/bin/tar
BZIP2=/bin/bzip2
GIT=/usr/bin/git
GPG=/usr/bin/gpg
PASS=/home/vahagn/.gnupg/backup-passphrase
SRC=/home/vahagn/git
KEEP=5
BACKUP_DIR=/home/vahagn/gdrive/backup
TIMESTAMP=`$DATE +%Y%m%d-%H:%M%z`
LOG=/mnt/hdd/backup/backup.git.$TIMESTAMP.log
BACKUP=$BACKUP_DIR/git.$TIMESTAMP.tar.bz2.gpg
SIGNATURE=$BACKUP_DIR/git.$TIMESTAMP.tar.bz2.sig
#
# debug
#
#LOG=/home/vahagn/devel/scripts/backup/log.log
#BACKUP=/home/vahagn/devel/scripts/backup/git.tar.bz2.gpg
#SRC=/home/vahagn/git/scripts.git
#
# Header
#
echo Starting $LOG | tee -a $LOG
echo start `$DATE` | tee -a $LOG
#
# Sync with BitBucket upstream repos.
#
$CD $SRC/scripts.git
$GIT fetch
$CD $SRC/test.git
$GIT fetch
#
# cd to git directory and then bzip2 all content and crypt it.
#
$CD $SRC
($TAR -cvp . | $BZIP2 -c | $GPG -c --passphrase-file $PASS --output $BACKUP --batch --quiet ) 2>&1| tee -a $LOG
#
# Remove old files
#
$CD $BACKUP_DIR
i=0
for FILE in `ls -t git.*.tar.bz2.gpg`; do
if [ $i -ge $KEEP ]; then
echo "$FILE is removed to meet keep number of backups $KEEP." | tee -a $LOG
rm $FILE 2>&1| tee -a $LOG
fi;
i=$(($i+1))
done
i=0
for FILE in `ls -t git.*.tar.bz2.sig`; do
if [ $i -ge $KEEP ]; then
echo "$FILE is removed to meet keep number of backups $KEEP." | tee -a $LOG
rm $FILE 2>&1| tee -a $LOG
fi;
i=$(($i+1))
done
#
# Footer
#
echo end `$DATE` | tee -a $LOG

View File

@@ -1,12 +0,0 @@
#!/bin/bash
DATE=/bin/date
SYNC="/usr/bin/rsync -auAX --delete"
TIMESTAMP=`$DATE +%Y%m%d-%H:%M%z`
LOG=/mnt/hdd/backup/backup.mybook.vahagn.$TIMESTAMP.log
echo Starting $LOG | tee -a $LOG
echo start `$DATE` | tee -a $LOG
$SYNC /mnt/mybook/vahagn /mnt/hdd/backup | tee -a $LOG
echo end `$DATE` | tee -a $LOG

View File

@@ -1,102 +0,0 @@
#!/bin/bash
#set -x
DATE=/bin/date
RSYNC=/usr/bin/rsync
TIMESTAMP=`$DATE +%Y%m%d-%H:%M%z`
LOGFILE=/mnt/hdd/backup/log/backup.$TIMESTAMP.log
LOG="/usr/bin/tee -a $LOGFILE"
function term() {
echo "Terminating." | $LOG
exit 1
}
trap term INT
function backup() {
ORIG_DIR=$1
MIRROR_DIR=$2
shift 2
echo ""
echo "Sync $ORIG_DIR to $MIRROR_DIR"
echo "========================================================"
# Use --progress if interactive.
$RSYNC -aAXv --delete --force "$@" $ORIG_DIR $MIRROR_DIR 2>&1 | $LOG
if [ $? -ne 0 ]; then
echo "There were errors while backing up $ORIG_DIR"
fi
echo ""
}
function backuphdd() {
HDD_ORIG=/mnt/hdd
HDD_MIRROR=/mnt/hdd2
ORIG_DIR=$HDD_ORIG/$1
MIRROR_DIR=$HDD_MIRROR/$(dirname $1)
backup $ORIG_DIR $MIRROR_DIR
}
function backupwd() {
ORIG_DIR=$1
MIRROR_DIR=192.168.0.6:/DataVolume/$2
backup $ORIG_DIR $MIRROR_DIR
}
function backuplusntag() {
ORIG_DIR="vahagn@192.168.0.3:$1"
MIRROR_DIR=$2
backup $ORIG_DIR $MIRROR_DIR -e "ssh -i /home/vahagn/.ssh/id_rsa"
}
function backupyerevak() {
ORIG_DIR="vahagn@yerevak.vostan.org:$1"
MIRROR_DIR=$2
backup $ORIG_DIR $MIRROR_DIR -e "ssh -i /home/vahagn/.ssh/id_rsa -p 24"
}
#
# Log Header
#
echo Starting $LOGFILE | $LOG
echo start `$DATE` | $LOG
#
# Sync folders
#
backup "/srv/nextcloud" "/mnt/hdd/backup/docker"
backup "/var/lib/docker/volumes" "/mnt/hdd/backup/docker"
backup "/src/gerbera/music" "/mnt/hdd/public"
#backup "/srv/gitlab" "/mnt/hdd/backup/gitlab"
#backup "/srv/git" "/mnt/hdd/backup/git"
#
# Backup Lusntag
#
backuplusntag "/home/vahagn/msdos" "/mnt/hdd/backup"
backuplusntag "/home/vahagn/devel" "/mnt/hdd/backup/lusntag"
backuplusntag "/var/www" "/mnt/hdd/backup/lusntag"
backuplusntag "/etc/nginx" "/mnt/hdd/backup/lusntag/etc"
#
# Backup Yerevak
#
backupyerevak "/home/vahagn/devel" "/mnt/hdd/backup/yerevak"
#
# Backup hdd1 to hdd2
#
backuphdd "backup"
backuphdd "vahagn"
for i in $(ls /mnt/hdd/public); do
if [ $i != "movies" ]; then
backuphdd "public/$i"
fi
done
#
# Log Footer
#
echo end `$DATE` | $LOG

View File

@@ -1,8 +0,0 @@
sudo docker create \
--name=calibre --restart=always \
-v /srv/calibre/books:/books \
-v /srv/calibre/config:/calibre-web/config \
-v /etc/localtime:/etc/localtime:ro \
-e PGID=33 -e PUID=33 -p 8095:8083 \
technosoft2000/calibre-web

View File

@@ -1,13 +0,0 @@
docker run \
-d \
--net=host \
--name gerbera \
--hostname gerbera \
--restart always \
--volume /srv/gerbera/config:/root/.config \
--volume /srv/gerbera/music:/mnt/music \
--volume /srv/gerbera/video:/mnt/video \
--volume /mnt/hdd2/public/movies:/mnt/hdd_video \
--volume /mnt/hdd/public/music:/mnt/hdd_music \
gerbera/gerbera

View File

@@ -1,12 +0,0 @@
sudo docker run --detach \
--name gitlab \
--hostname gitlab \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.vostan.org/'; gitlab_rails['lfs_enabled'] = true; gitlab_rails['gitlab_signin_enabled'] = false;" \
--publish 8443:443 \
--publish 8080:80 \
--publish 8022:22 \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

View File

@@ -1,7 +0,0 @@
sudo docker run \
--name nextcloud \
-d \
--publish 8090:80 \
--restart always \
--volume /srv/nextcloud:/var/www/html \
nextcloud

View File

@@ -1 +0,0 @@
rsync -av --progress --inplace --append-verify --remove-source-files -e "ssh -p 24" /mnt/ssd/deluge/done/$1 lusntag.vostan.org:/mnt/home/vahagn/tmp/tmp

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,16 +0,0 @@
#!/bin/bash
set -x
if [ "$1" != "no-progress" ]; then
PROG=--progress
else
shift
fi
if [ ! -z "$*" ]; then
for i in "$@"; do
/usr/bin/rsync -av --inplace --progress --append-verify "/mnt/ssd/deluge/done/$i" "hrat:tmp/tmp/done/"
done
else
/usr/bin/rsync -av --inplace --append-verify $PROG /mnt/ssd/deluge/done hrat:tmp/tmp
fi

Binary file not shown.

62
config/.bash_profile.vahagn Executable file
View File

@@ -0,0 +1,62 @@
#!/bin/bash
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Find out system details.
#
os=`uname` #GNU/Linux AIX Solaris
cpu=`uname -p` #x86_64 powerpc sparc
kernel=`uname -s` #Linux AIX SunOS
kversion=`uname -v`
krelease=`uname -r`
hostnm=`hostname`
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Bash history
#
# 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=5000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# vi edit mode.
set -o vi
export EDITOR=vim
export LESS=-R
## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
##
## User specific environment and startup programs
##
#if [ -e $HOME/bin ]; then
# export PATH=$HOME/bin:$PATH
#fi
#export MYSCRIPTS=$HOME/devel/scripts
#if [ -e $MYSCRIPTS/bin ]; then
# export PATH=$MYSCRIPTS/bin:$PATH
#fi
#export MYCFG=${MYSCRIPTS}/config
## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
## Set command prompt
#[ -x ${MYCFG}/.profile.prompt ] && source ${MYCFG}/.profile.prompt
#[ -x ${MYCFG}/.profile.dircolor ] && source ${MYCFG}/.profile.dircolor
#[ -x ${MYCFG}/.profile.completion ] && source ${MYCFG}/.profile.completion
#[ -x ${MYCFG}/.profile.dev ] && source ${MYCFG}/.profile.dev
#[ -x ${MYCFG}/.profile.aliases ] && source ${MYCFG}/.profile.aliases
#
# Clean error level.
#
[ 1 ]

View File

@@ -1,197 +0,0 @@
#!/bin/bash
# ~/.bashrc skeleton
# ~/.bashrc runs ONLY on non-login subshells! (different from ksh)
# add lines here very carefully as this may execute when you don't i
# expect them to
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#echo "BASHRC has run"
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Source global definitions
#
if [ -f /etc/bashrc ]; then
. /etc/bashrc
else
if ! shopt -q login_shell ; then # We're not a login shell
for i in /etc/profile.d/*.sh; do
if [ -r "$i" ]; then
if [ "$PS1" ]; then
. $i
else
. $i &>/dev/null
fi
fi
done
unset i
fi
fi
umask 002
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Find out system details.
#
os=`uname` #GNU/Linux AIX Solaris
cpu=`uname -p` #x86_64 powerpc sparc
kernel=`uname -s` #Linux AIX SunOS
kversion=`uname -v`
krelease=`uname -r`
hostnm=`hostname`
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Bash history
#
# 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=5000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
set -o vi
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Set command prompt
[ -x ~/devel/scripts/config/.profile.prompt ] && source ~/devel/scripts/config/.profile.prompt
# [ -x ${MYDIR}/.profile.dircolor ] && source ${MYDIR}/.profile.dircolor
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# User specific environment and startup programs
#
if [ -e $HOME/bin ]; then
export PATH=$HOME/bin:$PATH
fi
MYSCRIPTS=$HOME/devel/scripts
if [ -e $MYSCRIPTS/bin ]; then
export PATH=$MYSCRIPTS/bin:$PATH
fi
#
# VIM
#
export EDITOR=vim
export LESS=-R
#
# 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
#
# GIT
#
[ -f $MYSCRIPTS/bash/git-completion.bash ] && . $MYSCRIPTSE/bash/git-completion.bash
#
# colored GCC warnings and errors
#
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Aliases
#
if [ $kernel == "Darwin" ]; then
alias ls='ls -a'
alias ll='ls -la'
alias pd='pushd >/dev/null'
alias bd='popd'
else
alias ls='ls -a --color=auto'
alias ll='ls -la --color=auto'
alias pd='pushd >/dev/null'
alias bd='popd'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
function cgrep() {
if [[ $# -eq 0 ]]
then
echo "Usage: codegrep <pattern> "
else
grep -nR --colour \
--include=\*.cpp \
--include=\*.c \
--include=\*.hpp \
--include=\*.h \
--include=\*.inc \
--include=\*.php \
--include=\*.py \
--include=\*.sh \
--exclude-dir=.git \
--exclude-dir=.svn \
--exclude-dir=llcalc* \
--exclude-dir=00* \
"$1" .
fi
}
function create_tags() {
#Bloomberg
if [ -e /opt/swt/bin/ctags ]; then
CTAGS=/opt/swt/bin/ctags
else
CTAGS=ctags
fi
CTAGS_OPT='--recurse=yes '
CTAGS_OPT+='--verbose '
CTAGS_OPT+='--totals=yes '
CTAGS_OPT+='--tag-relative=yes '
CTAGS_DIR_CFG='.ctags_dir'
CTAGS_ROOT="$PWD"
if [ ! -f $PWD/$CTAGS_DIR_CFG ]; then
GIT_ROOT=$(git top pwd)
if [ -f $GIT_ROOT/$CTAGS_DIR_CFG ]; then
CTAGS_ROOT="$GIT_ROOT"
fi
fi
if [ -f $CTAGS_ROOT/$CTAGS_DIR_CFG ]; then
CTAGS_SRC="-L $CTAGS_ROOT/$CTAGS_DIR"
else
CTAGS_SRC="$@"
fi
cd $CTAGS_ROOT
$CTAGS $CTAGS_OPT $CTAGS_SRC
cd -
}
# 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$//'\'')"'
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Run local settings.
#
[ -x $HOME/.bashrc.local ] && . $HOME/.bashrc.local
#
# Clean error level.
#
[ 1 ]

104
config/.bashrc.vahagn Executable file
View File

@@ -0,0 +1,104 @@
#!/bin/bash
# ~/.bashrc skeleton
# ~/.bashrc runs ONLY on non-login subshells! (different from ksh)
# add lines here very carefully as this may execute when you don't i
# expect them to
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#echo "BASHRC has run"
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Source global definitions
#
if [ -f /etc/bashrc ]; then
. /etc/bashrc
else
if ! shopt -q login_shell ; then # We're not a login shell
for i in /etc/profile.d/*.sh; do
if [ -r "$i" ]; then
if [ "$PS1" ]; then
. $i
else
. $i &>/dev/null
fi
fi
done
unset i
fi
fi
umask 002
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Find out system details.
#
os=`uname` #GNU/Linux AIX Solaris
cpu=`uname -p` #x86_64 powerpc sparc
kernel=`uname -s` #Linux AIX SunOS
kversion=`uname -v`
krelease=`uname -r`
hostnm=`hostname`
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Bash history
#
# 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=5000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# User specific environment and startup programs
#
if [ -e $HOME/bin ]; then
export PATH=$HOME/bin:$PATH
fi
export MYSCRIPTS=$HOME/devel/scripts
if [ -e $MYSCRIPTS/bin ]; then
export PATH=$MYSCRIPTS/bin:$PATH
fi
export MYCFG=${MYSCRIPTS}/config
#
# VIM
#
export EDITOR=vim
export LESS=-R
set -o vi
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Set command prompt
[ -f ${HOME}/.profile.prompt ] && source ${HOME}/.profile.prompt
[ -f ${HOME}/.profile.dircolor ] && source ${HOME}/.profile.dircolor
[ -f ${HOME}/.profile.completion ] && source ${HOME}/.profile.completion
[ -f ${HOME}/.profile.dev ] && source ${HOME}/.profile.dev
[ -f ${HOME}/.profile.aliases ] && source ${HOME}/.profile.aliases
# Haskell
if [ -f $HOME/.ghcup/env ]; then
export PATH=$HOME/.ghcup/env:$PATH
fi
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Run local settings.
#
[ -x ${HOME}/.bashrc.local ] && . ${HOME}/.bashrc.local
#
# Clean error level.
#
[ 1 ]

25
config/.profile.aliases Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
#
# Aliases
#
if [ $kernel == "Darwin" ]; then
alias ls='ls -a'
alias ll='ls -la'
alias pd='pushd >/dev/null'
alias bd='popd'
else
alias ls='ls -a --color=auto'
alias ll='ls -la --color=auto'
alias pd='pushd >/dev/null'
alias bd='popd'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# 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$//'\'')"'

29
config/.profile.completion Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
#
# 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
#
# GIT
#
[ -f $MYSCRIPTS/bash/git-completion.bash ] && source $MYSCRIPTSE/bash/git-completion.bash
[ -f /opt/facebook/share/bash_completion ] && source /opt/facebook/share/bash_completion
#
# Ondemand
#
complete -W "connect ineractive list release smartlog whoami help" ondemand
complete -W "connect ineractive list release smartlog whoami help" dev
complete -W "dev hrat lusntag --help" ssh

62
config/.profile.dev Executable file
View File

@@ -0,0 +1,62 @@
#!/bin/bash
#
# colored GCC warnings and errors
#
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
function cgrep() {
if [[ $# -eq 0 ]]
then
echo "Usage: cgrep <pattern> "
else
grep -nR --colour \
--include=\*.cpp \
--include=\*.c \
--include=\*.hpp \
--include=\*.h \
--include=\*.inc \
--include=\*.php \
--include=\*.py \
--include=\*.sh \
--exclude-dir=.git \
--exclude-dir=.svn \
--exclude-dir=llcalc* \
--exclude-dir=00* \
"$1" .
fi
}
function create_tags() {
#Bloomberg
if [ -e /opt/swt/bin/ctags ]; then
CTAGS=/opt/swt/bin/ctags
else
CTAGS=ctags
fi
CTAGS_OPT='--recurse=yes '
CTAGS_OPT+='--verbose '
CTAGS_OPT+='--totals=yes '
CTAGS_OPT+='--tag-relative=yes '
CTAGS_DIR_CFG='.ctags_dir'
CTAGS_ROOT="$PWD"
if [ ! -f $PWD/$CTAGS_DIR_CFG ]; then
GIT_ROOT=$(git top pwd)
if [ -f $GIT_ROOT/$CTAGS_DIR_CFG ]; then
CTAGS_ROOT="$GIT_ROOT"
fi
fi
if [ -f $CTAGS_ROOT/$CTAGS_DIR_CFG ]; then
CTAGS_SRC="-L $CTAGS_ROOT/$CTAGS_DIR"
else
CTAGS_SRC="$@"
fi
cd $CTAGS_ROOT
$CTAGS $CTAGS_OPT $CTAGS_SRC
cd -
}

View File

@@ -7,7 +7,7 @@ if [ -n "$PS1" ]; then
#
# Load better colors for ls.
#
if [ -x $(which /bin/dircolors) ] && [ $c_num -ge 256 ] && [ -f ~/.dir_colors ]; then
if [ -x "$(which /bin/dircolors)" -a $c_num -ge 256 -a -f ~/.dir_colors ]; then
eval $(dircolors ~/.dir_colors)
fi
fi

View File

@@ -49,9 +49,8 @@ if [ -n "$PS1" ]; then
c_info="$(tput setaf 3)" #Yellow
fi
[ -n "$(which svn)" ] && prompt_check_svn=true
[ -n "$(which git)" ] && prompt_check_git=true
[ -n "$(which hg)" ] && prompt_check_hg=true
[ ! -z "$(which svn 2> /dev/null )" ] && prompt_check_svn=true
[ ! -z "$(which git 2> /dev/null )" ] && prompt_check_git=true
if [ -n "$ZSH_VERSION" ]; then
s_host="%m"
@@ -61,13 +60,21 @@ if [ -n "$PS1" ]; then
fi
if [ -n "$BASH_VERSION" ]; then
export PROMPT_COMMAND="__prompt_command"
s_host="\h"
s_host="\H"
s_user="\u"
s_cwd="\w"
s_time="\t"
# Turn on checkwinsize
shopt -s checkwinsize
fi
# For hg from FB
if [ -f /usr/share/scm/scm-prompt.sh ]; then
source /usr/share/scm/scm-prompt.sh
prompt_check_hg=true
elif [ -f /opt/facebook/hg/share/scm-prompt ]; then
source /opt/facebook/hg/share/scm-prompt
prompt_check_hg=true
fi
# zsh
function precmd() {
@@ -82,59 +89,74 @@ if [ -n "$PS1" ]; then
prompt_extra=""
PS1=""
if [ "$USER" != "vahagnk" -a "$USER" != "vahagn" ]; then
PS1+="${c_user}${s_user}@" # username@
PS1+="\[${c_user}\]${s_user}@" # username@
fi
PS1+="${c_host}${s_host}:" # hostname
PS1+="${c_time}${s_time}" # time
PS1+=" ${c_cwd}${s_cwd}" # working_dir
PS1+="\[${c_host}\]${s_host}:" # hostname
PS1+="\[${c_time}\]${s_time}" # time
PS1+=" \[${c_cwd}\]${s_cwd}" # working_dir
#
# git branch if exist
#
if [ -n "$prompt_check_git" ]; then
local git_branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null | tr -d ' ')
if [ -n "$git_branch" ]; then
PS1+="${c_branch}@${git_branch}"
fi
PS1+="\[${c_branch}\]@${git_branch}"
fi
fi
#
# hg branch if exist
#
if [ -n "$prompt_check_hg" -a -z "$git_branch" ]; then
local hg_branch=$(_scm_prompt %s)
if [ -n "$hg_branch" ]; then
PS1+="\[${c_branch}\]@${hg_branch}"
fi
fi
#
# svn branch if exist
#
if [ -n "$prompt_check_svn" ]; then
local svn_rev=$(svn info . 2> /dev/null | awk -F ':' '/Revision:/ { print $2 }')
if [ -n "$svn_rev" ]; then
PS1+="${c_branch}@${svn_rev}" # svn revision
fi
local svn_rev=$(svn info . 2> /dev/null | awk -F ':' '/Revision:/ { print $2 }')
if [ -n "$svn_rev" ]; then
PS1+="\[${c_branch}\]@${svn_rev}" # svn revision
fi
fi
#
# Python venv.
# Python venv
#
local jobs_bg=$(jobs -r | wc -l | tr -d ' ')
if [ -n "$VIRTUAL_ENV" ]; then
# PS1+=",\[${c_info}\]$(realpath --relative-to=$PWD $VIRTUAL_ENV)"
PS1+=",${c_info}$(basename $VIRTUAL_ENV)"
PS1+=",\[${c_info}\]$(basename $VIRTUAL_ENV)"
fi
#
# Info about jobs.
#
local jobs_bg=$(jobs -r | wc -l | tr -d ' ')
if [ $jobs_bg -gt 0 ]; then
PS1+=",${c_info}bg=${jobs_bg}"
PS1+=",\[${c_info}\]bg=${jobs_bg}"
fi
local jobs_stopped=$(jobs -s | wc -l | tr -d ' ')
if [ $jobs_stopped -gt 0 ]; then
PS1+=",${c_info}stp=${jobs_stopped}"
PS1+=",\[${c_info}\]stp=${jobs_stopped}"
fi
#
# exit code if not zero
#
if [ "$exit_code" -ne "0" ]; then
PS1+=",${c_error}rc=${exit_code}"
PS1+=",\[${c_error}\]rc=${exit_code}"
fi
#
# Colors should be set here and surrounded with \[\]otherwise bash fails to
# calculate prompt length. The text is set through PROMPT_COMMAND
PS1+="${c_reset}\$ " # reset colors and print $
PS1+="\[${c_reset}\]\$ " # reset colors and print $
}
if [ -n "$BASH_VERSION" ]; then
# shopt -s checkwinsize
export -f __prompt_command
export -f term_colors
fi
fi

View File

@@ -1,9 +1,9 @@
#
# Ctrl-a is the prefix.
#
set -g prefix C-a
bind C-a send-prefix
unbind C-b
# unbind C-b
# set-option -g prefix C-a
# bind-key C-a send-prefix
# Start windows from #1 (default #0)
set -g base-index 1
@@ -16,8 +16,9 @@ set -g status-position top
set -g history-limit 100000
# 256color mode.
set -g default-terminal "screen-256color"
setw -g xterm-keys on
#set -g default-terminal "tmux-256color"
set -g default-terminal "xterm-256color"
# setw -g xterm-keys on
# VI mode
set -g status-keys vi
@@ -30,22 +31,28 @@ setw -g mode-keys vi
#bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
#bind p paste-buffer
bind -n C-1 select-pane -t 1
bind -n C-2 select-pane -t 2
bind -n C-3 select-pane -t 3
bind -n C-4 select-pane -t 4
bind -n C-5 select-pane -t 5
bind -n C-6 select-pane -t 6
bind -n C-7 select-pane -t 7
bind -n C-8 select-pane -t 8
bind -n C-9 select-pane -t 9
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
#bind -r C-h resize-pane -L
#bind -r C-j resize-pane -D
#bind -r C-k resize-pane -U
#bind -r C-l resize-pane -R
#No mouse
#set -g mode-mouse off
#set -g mouse-select-pane off
#set -g mouse-resize-pane off
#set -g mouse-select-window off
bind -r M-h resize-pane -L
bind -r M-j resize-pane -D
bind -r M-k resize-pane -U
bind -r M-l resize-pane -R
# Mouse on/off
# bind m \
# set -g mode-mouse on \;\
# set -g mouse-resize=pane on \;\

File diff suppressed because it is too large Load Diff

View File

@@ -359,7 +359,7 @@ map <C-\> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>
" Grep options affect GNU grep. The intend is that greps not supporting the
" options will continue working without options.
"
let $GREP_OPTIONS.=' --exclude-dir=.git --exclude-dir=.svn'
let $GREP_OPTIONS.=' --exclude-dir=.git --exclude-dir=.svn --exclude-dir=.hg'
let $GREP_OPTIONS.=' --exclude=tags --exclude=*.o --exclude=*.log'
let $GREP_OPTIONS.=' --exclude=*.swp'
let $GREP_OPTIONS.=' --exclude-dir=llcalc* --exclude-dir=00*'
@@ -388,39 +388,27 @@ noremap <Down> gj
"
" Working with tabs especially if using console version.
"
nnoremap th :tabfirst<CR>
nnoremap tj :tabnext<CR>
nnoremap tk :tabprev<CR>
nnoremap tl :tablast<CR>
nnoremap tm :tabm<Space>
nnoremap td :tabclose<CR>
" nnoremap th :tabfirst<CR>
" nnoremap tj :tabnext<CR>
" nnoremap tk :tabprev<CR>
" nnoremap tl :tablast<CR>
" nnoremap tm :tabm<Space>
" nnoremap td :tabclose<CR>
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Plugins
"
"
" Detect Vundle
"
let s:vundle_path = '~/.vim/bundle/Vundle.vim'
if filereadable(expand('C:/devel/scripts/vim/bundle/Vundle.vim/README.md'))
let s:vundle_path = 'C:/devel/scripts/vim/bundle/Vundle.vim'
endif
"
" Vundle stuff here.
"
if filereadable(expand(s:vundle_path.'/README.md'))
filetype off
let &rtp=&rtp.','.s:vundle_path
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
if filereadable(expand("~/.vim/autoload/plug.vim"))
" Specify a directory for plugins
" - For Neovim: stdpath('data') . '/plugged'
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')
"
" Adds nice status and tabline.
"
Plugin 'vim-airline/vim-airline'
"Plugin 'vim-airline/vim-airline-themes'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
@@ -428,7 +416,7 @@ if filereadable(expand(s:vundle_path.'/README.md'))
"
Plugin 'scrooloose/nerdtree'
Plug 'scrooloose/nerdtree'
let g:NERDTreeQuitOnOpen = 1
let g:NERDTreeDirArrows = 1
let g:NERDTreeDirArrowExpandable = '+'
@@ -439,7 +427,7 @@ if filereadable(expand(s:vundle_path.'/README.md'))
"
" Commented out in favour of NERDTree
"
"Plugin 'eiginn/netrw'
"Plug 'eiginn/netrw'
"let g:netrw_altv = 1
"let g:netrw_fastbrowse = 2
"let g:netrw_keepdir = 0
@@ -452,7 +440,7 @@ if filereadable(expand(s:vundle_path.'/README.md'))
"
" Manipulation with buffers and tabs.
"
Plugin 'vim-scripts/Buffergator'
Plug 'vim-scripts/Buffergator'
let g:buffergator_autodismiss_on_select = 0
let g:buffergator_autoupdate = 1
let g:buffergator_suppress_keymaps = 1
@@ -475,7 +463,7 @@ if filereadable(expand(s:vundle_path.'/README.md'))
" cursor (e.g. on <foo.h> switches to foo.cpp)
" <Leader>ihn cycles through matches
"
Plugin 'vim-scripts/a.vim'
Plug 'vim-scripts/a.vim'
let g:alternateExtensions_h = "cpp,c"
let g:alternateExtensions_cpp = "h"
let g:alternateExtensions_c = "h"
@@ -484,31 +472,31 @@ if filereadable(expand(s:vundle_path.'/README.md'))
"
" Tmux integration.
"
Plugin 'benmills/vimux'
Plug 'benmills/vimux'
"
" Extends modeline to variables.
" Needed by CF5 compile to read options right from file.
"
Plugin 'vim-scripts/let-modeline.vim'
Plug 'vim-scripts/let-modeline.vim'
"
" CF5 compile.
" Compiling cpp files without make file.
"
Plugin 'vishap/cf5-compile'
Plug 'vishap/cf5-compile'
map <silent> ac :call CF5CompileOnly()<CR>
map <silent> ar :call CF5CompileAndRun()<CR>
"
" Provide templates
"
Plugin 'aperezdc/vim-template'
Plug 'aperezdc/vim-template'
"let g:templates_no_autocmd = 1
let g:templates_no_builtin_templates = 1
"
" Local vimrc
"
Plugin 'embear/vim-localvimrc'
Plug 'embear/vim-localvimrc'
let g:localvimrc_name = [ ".vimrc.local" ]
let g:localvimrc_ask = 0
@@ -516,15 +504,17 @@ if filereadable(expand(s:vundle_path.'/README.md'))
" Comment code.
" gc - visual mode - comment selection.
"
Plugin 'tpope/vim-commentary'
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-surround'
" Plug 'tpope/vim-repeat'
nmap al <Plug>CommentaryLine
vmap al <Plug>Commentary
"
" Git wrapper.
"
Plugin 'tpope/vim-fugitive'
nmap git :Git
nmap gst :Gstatus
Plug 'tpope/vim-fugitive'
" nmap git :Git
" nmap gst :Gstatus
"
" Shows git diff.
" [c - jump prev diff
@@ -538,7 +528,7 @@ if filereadable(expand(s:vundle_path.'/README.md'))
" :GitGutterToggle
" :GitGutterLineHighlightsToggle
"
Plugin 'airblade/vim-gitgutter'
Plug 'airblade/vim-gitgutter'
let g:gitgutter_map_keys = 0
let g:gitgutter_realtime = 0
let g:gitgutter_eager = 0
@@ -547,7 +537,7 @@ if filereadable(expand(s:vundle_path.'/README.md'))
"
" Check syntaxis on fly.
"
"Plugin 'scrooloose/syntastic'
"Plug 'scrooloose/syntastic'
"let g:syntastic_cpp_compiler_options = ' -std=c++1y'
"let g:syntastic_mode_map = {
" \ "mode": "active",
@@ -559,29 +549,16 @@ if filereadable(expand(s:vundle_path.'/README.md'))
" Actual colorscheme is set outside as vundle resets it.
"
if &t_Co >= 256 || has('gui_running')
Plugin 'nanotech/jellybeans.vim'
Plug 'nanotech/jellybeans.vim'
let g:jellybeans_use_lowcolor_black = 0
let g:jellybeans_use_gui_italics = 0
"colorscheme jellybeans
endif
if &t_Co >= 256 || has('gui_running')
Plugin 'altercation/vim-colors-solarized.git'
let g:solarized_termcolors=256
"set backgroung=dark
"set backgroung=light
"colorscheme solarized
endif
if &t_Co >= 256 || has('gui_running')
Plugin 'morhetz/gruvbox.git'
"set backgroung=dark
"set backgroung=light
"colorscheme solarized
endif
"
" :set syntax=cpp.doxygen to highlight doxygen comments.
"
Plugin 'vim-scripts/DoxyGen-Syntax'
Plug 'vim-scripts/DoxyGen-Syntax'
"
" In vim, place the cursor on the line and
" :DoxLic - generates license comment.
@@ -591,24 +568,47 @@ if filereadable(expand(s:vundle_path.'/README.md'))
" DEBUG.
" :DoxBlock -
"
Plugin 'vim-scripts/DoxygenToolkit.vim'
Plug 'vim-scripts/DoxygenToolkit.vim'
"
" Color table and picker.
" :XtermColorTable
" press: # to yank, t to toggle, f to set text color
"
"Plugin 'xterm-color-table.vim'
"Plug 'xterm-color-table.vim'
" Promising GDB manager.
"
Plugin 'vim-scripts/gdbmgr'
Plug 'vim-scripts/gdbmgr'
" Completion
"
call vundle#end()
filetype plugin indent on
filetype plugin on
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" See configuration below
Plug 'w0rp/ale'
" Set up hack support through vim-hack and ale
let g:ale_hack_hack_executable = 'hh'
let g:ale_linters = { 'hack': ['hack', 'aurora'] }
let g:ale_echo_msg_format = '[%linter%]% [code]% %s'
" Set up haskell support though ale
" Some suggestions oh how it works.
" First start haxlsh with `haxlsh --lsp`
" Then start `sigma_lsp` (proxy for the LSP client)
" Load the module in haxlsh and voila
" Some wiki: https://fburl.com/wiki/grt9tzi1
let g:ale_haskell_hie_executable = 'sigma_lsp'
" let g:ale_haskell_hie_executable = '/home/nedyalkop/nedy_sigma_lsp'
let g:ale_haskell_hdevtools_options = ''
" Set up IDE type bindings with ALE
nnoremap <leader>K :ALEHover<CR>
nnoremap <leader>. :ALEGoToDefinition<CR>
nnoremap <leader>fr :ALEFindReferences<CR>
Plug 'hhvm/vim-hack'
Plug 'raichoo/haskell-vim'
endif
call plug#end()
"
" Vundle resets this if set inside vundle section.
@@ -621,21 +621,21 @@ endif
if exists("dddd")
"Plugin 'Rip-Rip/clang_complete'
"Plugin 'flazz/vim-colorschemes'
"Plugin 'Valloric/YouCompleteMe'
"Plugin 'rhysd/vim-clang-format'
Plugin 'vim-scripts/Mark'
Plugin 'danro/rename.vim'
Plugin 'kana/vim-operator-user'
"Plug 'Rip-Rip/clang_complete'
"Plug 'flazz/vim-colorschemes'
"Plug 'Valloric/YouCompleteMe'
"Plug 'rhysd/vim-clang-format'
Plug 'vim-scripts/Mark'
Plug 'danro/rename.vim'
Plug 'kana/vim-operator-user'
Plugin 'kien/ctrlp.vim'
Plug 'kien/ctrlp.vim'
let g:ctrlp_root_markers = ['.ctrlp']
let g:ctrlp_custom_ignore = {
\ 'file': '\v\.(o|d|dd)$',
\ }
Plugin 'majutsushi/tagbar'
Plug 'majutsushi/tagbar'
map <C-t> :TagbarToggle<CR>
let g:tagbar_autoclose = 1
let g:tagbar_autofocus = 1
@@ -646,19 +646,19 @@ let g:tagbar_sort = 1
let g:tagbar_width = 60
let g:tagbar_ctags_bin = "/opt/swt/bin/ctags"
Plugin 'mattn/emmet-vim'
Plugin 'tmhedberg/matchit'
Plugin 'tpope/vim-dispatch'
Plugin 'tpope/vim-unimpaired'
Plugin 'vim-scripts/Align'
Plugin 'vim-scripts/taglist.vim'
Plugin 'vim-scripts/xml.vim'
Plugin 'junegunn/vim-easy-align'
Plugin 'ntpeters/vim-better-whitespace'
Plug 'mattn/emmet-vim'
Plug 'tmhedberg/matchit'
Plug 'tpope/vim-dispatch'
Plug 'tpope/vim-unimpaired'
Plug 'vim-scripts/Align'
Plug 'vim-scripts/taglist.vim'
Plug 'vim-scripts/xml.vim'
Plug 'junegunn/vim-easy-align'
Plug 'ntpeters/vim-better-whitespace'
let g:strip_whitespace_on_save = 1
"Plugin 'vim-scripts/TagHighlight'
"Plugin 'gcmt/taboo.vim'
"Plug 'vim-scripts/TagHighlight'
"Plug 'gcmt/taboo.vim'
"let g:taboo_tab_format = "[%m:%N:%W] %f"
" - - - - - - - - - - - - - -
@@ -667,10 +667,137 @@ let g:strip_whitespace_on_save = 1
let g:Powerline_symbols = "unicode"
" Ack
Plugin 'mileszs/ack.vim'
Plug 'mileszs/ack.vim'
let g:ack_default_options = " --ignore-file=is:tags -s -H --nocolor --nogroup --column"
let g:ack_highlight = 1
endif
"------------------------------------------------------------
" COC configuration
"
if 1
" if hidden is not set, TextEdit might fail.
" set hidden
" Some servers have issues with backup files, see #649
" set nobackup
" set nowritebackup
" Better display for messages
" set cmdheight=2
" You will have bad experience for diagnostic messages when it's default 4000.
set updatetime=300
" don't give |ins-completion-menu| messages.
" set shortmess+=c
" always show signcolumns
set signcolumn=yes
" Use tab for trigger completion with characters ahead and navigate.
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Use <c-space> to trigger completion.
inoremap <silent><expr> <c-space> coc#refresh()
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position.
" Coc only does snippet and additional edit on confirm.
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
" Use `[c` and `]c` to navigate diagnostics
nmap <silent> [c <Plug>(coc-diagnostic-prev)
nmap <silent> ]c <Plug>(coc-diagnostic-next)
" Remap keys for gotos
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window
nnoremap <silent> K :call <SID>show_documentation()<CR>
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
" Highlight symbol under cursor on CursorHold
autocmd CursorHold * silent call CocActionAsync('highlight')
" Remap for rename current word
nmap <leader>rn <Plug>(coc-rename)
" Remap for format selected region
xmap <leader>f <Plug>(coc-format-selected)
nmap <leader>f <Plug>(coc-format-selected)
augroup mygroup
autocmd!
" Setup formatexpr specified filetype(s).
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
" Update signature help on jump placeholder
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
augroup end
" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph
xmap <leader>a <Plug>(coc-codeaction-selected)
nmap <leader>a <Plug>(coc-codeaction-selected)
" Remap for do codeAction of current line
nmap <leader>ac <Plug>(coc-codeaction)
" Fix autofix problem of current line
nmap <leader>qf <Plug>(coc-fix-current)
" Use <tab> for select selections ranges, needs server support, like: coc-tsserver, coc-python
nmap <silent> <TAB> <Plug>(coc-range-select)
xmap <silent> <TAB> <Plug>(coc-range-select)
xmap <silent> <S-TAB> <Plug>(coc-range-select-backword)
" Use `:Format` to format current buffer
command! -nargs=0 Format :call CocAction('format')
" Use `:Fold` to fold current buffer
command! -nargs=? Fold :call CocAction('fold', <f-args>)
" use `:OR` for organize import of current buffer
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
" Add status line support, for integration with other plugin, checkout `:h coc-status`
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
" Using CocList
" Show all diagnostics
nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr>
" Manage extensions
nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
" Show commands
nnoremap <silent> <space>c :<C-u>CocList commands<cr>
" Find symbol of current document
nnoremap <silent> <space>o :<C-u>CocList outline<cr>
" Search workspace symbols
nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
" Do default action for next item.
nnoremap <silent> <space>j :<C-u>CocNext<CR>
" Do default action for previous item.
nnoremap <silent> <space>k :<C-u>CocPrev<CR>
" Resume latest coc list
nnoremap <silent> <space>p :<C-u>CocListResume<CR>
endif

View File

@@ -1,17 +0,0 @@
version: '2'
services:
gerbera:
hostname: gerbera
image: gerbera/gerbera:latest
network_mode: host
volumes:
- /srv/nextcloud:/var/www/html
- gerbera:/root/.config
- /srv/gerbera/music:/music
- /mnt/hdd2_2/movies:/video
restart: always
volumes:
gerbera:

View File

@@ -1,27 +0,0 @@
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:1.12.6
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- gitea
volumes:
- gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
volumes:
gitea:

View File

@@ -1,14 +0,0 @@
version: '2'
services:
nextcloud:
image: nextcloud:18
ports:
- 8090:80
volumes:
- /srv/nextcloud:/var/www/html
- nextcloud:/var/www/html2
restart: always
volumes:
nextcloud:

27
install.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/sh
if [ ! -z "$1" ]; then
SCRIPTS=$1
else
SCRIPTS=${HOME}/devel/scripts
fi
find ${SCRIPTS}/config -maxdepth 1 -name .\* -type f -exec ln -i \{\} . \;
find ${SCRIPTS}/config -maxdepth 1 -name .\* -type d x ln -i -s \{\} . \;
#mkdir -p .vim/autoload .vim/bundle
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# curl -LSso .vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
# git clone https://github.com/VundleVim/Vundle.vim.git .vim/bundle/Vundle.vim
#
# Add .bashrc.vahagn to .bashrc
#
grep .bashrc.vahagn .bashrc
if [ $? != 0 ]; then
printf "# Load Vahagn's standard environment.\n"
printf "[ -f ~/.bashrc.vahagn ] && source ~/.bashrc.vahagn\n" >> .bashrc
printf "[ -f ~/.bashrc.local ] && source ~/.bashrc.local\n" >> .bashrc
fi

View File

@@ -0,0 +1,4 @@
[http "https://github.com"]
proxy = https://fwdproxy:8082
proxySSLCert=/var/facebook/credentials/vahagnk/x509/vahagnk.pem
proxySSLKey=/var/facebook/credentials/vahagnk/x509/vahagnk.pem

7
local/fb_dev/ssh_config Normal file
View File

@@ -0,0 +1,7 @@
Host github.com
HostName github.com
User vishap
IdentityFile ~/.ssh/id_rsa_github
ProxyCommand=fwdproxy_ssh_proxy %h %p
ServerAliveInterval 300
PreferredAuthentications publickey

View File

@@ -1,3 +0,0 @@
[user]
email = vahagn.khachatryan@gmail.com
name = Vahagn Khachatryan

View File

@@ -1,24 +0,0 @@
# Note that value for 'User' must be 'git'.
Host lusntag
HostName lusntag.vostan.org
Port 8080
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
User vahagn
Host yerevak
HostName yerevak.vostan.org
Port 24
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
User vahagn
Host hrat
HostName 192.168.0.4
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
User vahagn
ProxyCommand=ssh -W %h:%p lusntag

View File

@@ -1,7 +0,0 @@
__
\ \ _____ _ _ _ _ ____
/ / / _ | | | | | | | / _ \
/ /___| | |_| |_| |_| | |_| | | |
(______| | \________/\_____/ |_|
|_|

View File

@@ -1,7 +0,0 @@
_ _
| | ____ _ |_\_ ___ _ _ _ ___
| | / _ \ _ | | | | | __/ _ \| | | | | |/ _ \
| |__| | | | |_| |_| | |_) | |/) / |_| | | | (_) |_
\____|_| |_|___,\___/ \___/| |\_/\_________/\__ _|
|_| |_|

View File

@@ -1,9 +0,0 @@

_ _ _
| |__ ____ | |_ _ _ _| |
| __|_/ _ \| _|_ _ | | | | | | | _
| |__| | | |_| |_| | |_| |_| |_| | |_| |
\____/| | \____/\___\_______ _/\__ |
|_| |_|


View File

@@ -1,22 +0,0 @@
# Automatically generated by systemd-sysv-generator
[Unit]
#SourcePath=/etc/init.d/rpcbind
Description=SSH SOCKS5 to yerevak.vostan.org
#DefaultDependencies=no
Before=shutdown.target
After=network-online.target local-fs.target
Wants=network-online.target
Conflicts=shutdown.target
[Service]
Type=simple
User=vahagn
Group=vahagn
Restart=always
RestartSec=2s
WorkingDirectory=/tmp
ExecStart=/usr/bin/ssh -N -D 0.0.0.0:1080 -i /home/vahagn/.ssh/id_rsa vahagn@yerevak.vostan.org
[Install]
WantedBy=multi-user.target

View File

@@ -1,20 +0,0 @@
# Automatically generated by systemd-sysv-generator
[Unit]
Description=tun0 to SOCKS5 tunel
Before=shutdown.target
After=network-online.target local-fs.target
Wants=network-online.target ssh_socks5.service
Conflicts=shutdown.target
[Service]
Type=simple
Restart=always
GuessMainPID=no
RemainAfterExit=yes
WorkingDirectory=/tmp
ExecStartPre=/usr/local/sbin/tun2socks_pre.sh
ExecStart=/sbin/ip netns exec soghancq /usr/local/sbin/tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080 --udpgw-remote-server-addr 127.0.0.1:7300
[Install]
WantedBy=multi-user.target

View File

@@ -1,45 +0,0 @@
#!/bin/sh
NETNS=soghancq
IP=/sbin/ip
NS="$IP netns exec $NETNS"
#
# Set ip forwarding.
# Do it from /ete/sysctl.conf
#sysctl -w net.ipv4.ip_forward=1
#
# Create network namesapce.
#
$IP netns add $NETNS
#
# Peer to peer to default namespace.
#
$IP link add veth0 type veth peer name veth1
$IP addr add 10.1.1.1/30 dev veth0
$IP link set veth0 up
$IP link set veth1 netns $NETNS
$NS $IP addr add 10.1.1.2/30 dev veth1
$NS $IP link set veth1 up
$NS $IP route add 127.0.0.0/24 via 10.1.1.1 metric 5
$NS $IP route add 192.168.0.0/24 via 10.1.1.1 metric 5
#$NS $IP route add 8.8.8.8 via 10.1.1.1 metric 5
#
# Configure tun0 which goes through socks5.
#
$NS $IP tuntap add dev tun0 mode tun user root
$IP link set tun0 netns $NETNS
$NS $IP addr add 10.0.0.1/24 dev tun0
$NS $IP link set dev tun0 up
$NS $IP route add default via 10.0.0.2 metric 6
#$NS /usr/local/sbin/tun2socks \
# --tundev tun0 \
# --netif-ipaddr 10.0.0.2 \
# --netif-netmask 255.255.255.0 \
# --socks-server-addr 127.0.0.1:1080 \
# --udpgw-remote-server-addr 127.0.0.1:7300 &