Init
This commit is contained in:
commit
5ac9ed8242
5
README
Normal file
5
README
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Здесь лежат конфиги vim, screen, bash, mc
|
||||||
|
|
||||||
|
Ставит пакеты ['mc', 'htop', 'vim', 'screen', 'tmux', 'curl', 'wget', 'bash-completion', 'tree']
|
||||||
|
|
||||||
|
Fork of "lulzette/devops-shit"
|
10
ansible.cfg
Normal file
10
ansible.cfg
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[defaults]
|
||||||
|
INVENTORY = ~/inventory
|
||||||
|
pipelining = True
|
||||||
|
|
||||||
|
#strategy = free
|
||||||
|
|
||||||
|
[ssh_connection]
|
||||||
|
ssh_args = -o ControlMaster=auto -o ControlPersist=60s
|
||||||
|
pipelining = True
|
||||||
|
|
8
playbook.yml
Normal file
8
playbook.yml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
# strategy: free
|
||||||
|
roles:
|
||||||
|
- { role: packages, become: true}
|
||||||
|
- { role: ssh, become: true}
|
||||||
|
- configs
|
||||||
|
|
102
roles/coding_vim/files/omb-bashrc
Normal file
102
roles/coding_vim/files/omb-bashrc
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
# Path to your oh-my-bash installation.
|
||||||
|
export OSH=/root/.oh-my-bash
|
||||||
|
|
||||||
|
# Set name of the theme to load. Optionally, if you set this to "random"
|
||||||
|
# it'll load a random theme each time that oh-my-bash is loaded.
|
||||||
|
OSH_THEME="90210"
|
||||||
|
|
||||||
|
# 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 change how often to auto-update (in days).
|
||||||
|
# export UPDATE_OSH_DAYS=13
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $OSH/custom?
|
||||||
|
# OSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*)
|
||||||
|
# Custom completions may be added to ~/.oh-my-bash/custom/completions/
|
||||||
|
# Example format: completions=(ssh git bundler gem pip pip3)
|
||||||
|
# Add wisely, as too many completions slow down shell startup.
|
||||||
|
completions=(
|
||||||
|
git
|
||||||
|
composer
|
||||||
|
ssh
|
||||||
|
)
|
||||||
|
|
||||||
|
# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*)
|
||||||
|
# Custom aliases may be added to ~/.oh-my-bash/custom/aliases/
|
||||||
|
# Example format: aliases=(vagrant composer git-avh)
|
||||||
|
# Add wisely, as too many aliases slow down shell startup.
|
||||||
|
aliases=(
|
||||||
|
general
|
||||||
|
)
|
||||||
|
|
||||||
|
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-bash/plugins/*)
|
||||||
|
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(
|
||||||
|
git
|
||||||
|
bashmarks
|
||||||
|
)
|
||||||
|
|
||||||
|
source $OSH/oh-my-bash.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"
|
||||||
|
|
||||||
|
# ssh
|
||||||
|
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-bash libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-bash
|
||||||
|
# users are encouraged to define aliases within the OSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias bashconfig="mate ~/.bashrc"
|
||||||
|
# alias ohmybash="mate ~/.oh-my-bash"
|
||||||
|
|
40
roles/coding_vim/files/vimrc
Normal file
40
roles/coding_vim/files/vimrc
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
set nocompatible " be iMproved, required
|
||||||
|
filetype off " required
|
||||||
|
|
||||||
|
"=====================================================
|
||||||
|
" Vundle settings
|
||||||
|
"=====================================================
|
||||||
|
" set the runtime path to include Vundle and initialize
|
||||||
|
set rtp+=~/.vim/bundle/Vundle.vim
|
||||||
|
call vundle#begin()
|
||||||
|
|
||||||
|
Plugin 'gmarik/Vundle.vim' " let Vundle manage Vundle, required
|
||||||
|
|
||||||
|
"---------=== Code/project navigation ===-------------
|
||||||
|
Plugin 'scrooloose/nerdtree' " Project and file navigation
|
||||||
|
Plugin 'majutsushi/tagbar' " Class/module browser
|
||||||
|
|
||||||
|
"------------------=== Other ===----------------------
|
||||||
|
Plugin 'bling/vim-airline' " Lean & mean status/tabline for vim
|
||||||
|
Plugin 'fisadev/FixedTaskList.vim' " Pending tasks list
|
||||||
|
Plugin 'rosenfeld/conque-term' " Consoles as buffers
|
||||||
|
Plugin 'tpope/vim-surround' " Parentheses, brackets, quotes, XML tags, and more
|
||||||
|
|
||||||
|
"--------------=== Snippets support ===---------------
|
||||||
|
"Plugin 'garbas/vim-snipmate' " Snippets manager
|
||||||
|
Plugin 'MarcWeber/vim-addon-mw-utils' " dependencies #1
|
||||||
|
Plugin 'tomtom/tlib_vim' " dependencies #2
|
||||||
|
Plugin 'honza/vim-snippets' " snippets repo
|
||||||
|
|
||||||
|
"---------------=== Languages support ===-------------
|
||||||
|
" --- Python ---
|
||||||
|
Plugin 'klen/python-mode' " Python mode (docs, refactor, lints, highlighting, run and ipdb and more)
|
||||||
|
Plugin 'davidhalter/jedi-vim' " Jedi-vim autocomplete plugin
|
||||||
|
Plugin 'mitsuhiko/vim-jinja' " Jinja support for vim
|
||||||
|
Plugin 'mitsuhiko/vim-python-combined' " Combined Python 2/3 for Vim
|
||||||
|
|
||||||
|
call vundle#end() " required
|
||||||
|
filetype on
|
||||||
|
filetype plugin on
|
||||||
|
filetype plugin indent on
|
||||||
|
|
6
roles/coding_vim/tasks/main.yml
Normal file
6
roles/coding_vim/tasks/main.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Put vim config
|
||||||
|
template:
|
||||||
|
src: files/vimrc
|
||||||
|
dest: /etc/vimrc
|
287
roles/configs/files/bashrc
Normal file
287
roles/configs/files/bashrc
Normal file
@ -0,0 +1,287 @@
|
|||||||
|
# ~/.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 -CFl'
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# custom aliases
|
||||||
|
alias gc='git clone'
|
||||||
|
alias g=git
|
||||||
|
alias ga='git add'
|
||||||
|
alias gaa='git add --all'
|
||||||
|
alias gam='git am'
|
||||||
|
alias gama='git am --abort'
|
||||||
|
alias gamc='git am --continue'
|
||||||
|
alias gams='git am --skip'
|
||||||
|
alias gamscp='git am --show-current-patch'
|
||||||
|
alias gap='git apply'
|
||||||
|
alias gapa='git add --patch'
|
||||||
|
alias gapt='git apply --3way'
|
||||||
|
alias gau='git add --update'
|
||||||
|
alias gav='git add --verbose'
|
||||||
|
alias gb='git branch'
|
||||||
|
alias gbD='git branch -D'
|
||||||
|
alias gba='git branch -a'
|
||||||
|
alias gbd='git branch -d'
|
||||||
|
alias gbda='git branch --no-color --merged | command grep -vE "^([+*]|\s*($(git_main_branch)|$(git_develop_branch))\s*$)" | command xargs git branch -d 2>/dev/null'
|
||||||
|
alias gbl='git blame -b -w'
|
||||||
|
alias gbnm='git branch --no-merged'
|
||||||
|
alias gbr='git branch --remote'
|
||||||
|
alias gbs='git bisect'
|
||||||
|
alias gbsb='git bisect bad'
|
||||||
|
alias gbsg='git bisect good'
|
||||||
|
alias gbsr='git bisect reset'
|
||||||
|
alias gbss='git bisect start'
|
||||||
|
alias gc='git commit -v'
|
||||||
|
alias 'gc!'='git commit -v --amend'
|
||||||
|
alias gca='git commit -v -a'
|
||||||
|
alias 'gca!'='git commit -v -a --amend'
|
||||||
|
alias gcam='git commit -a -m'
|
||||||
|
alias 'gcan!'='git commit -v -a --no-edit --amend'
|
||||||
|
alias 'gcans!'='git commit -v -a -s --no-edit --amend'
|
||||||
|
alias gcas='git commit -a -s'
|
||||||
|
alias gcasm='git commit -a -s -m'
|
||||||
|
alias gcb='git checkout -b'
|
||||||
|
alias gcd='git checkout $(git_develop_branch)'
|
||||||
|
alias gcf='git config --list'
|
||||||
|
alias gcl='git clone --recurse-submodules'
|
||||||
|
alias gclean='git clean -id'
|
||||||
|
alias gcm='git checkout $(git_main_branch)'
|
||||||
|
alias gcmsg='git commit -m'
|
||||||
|
alias 'gcn!'='git commit -v --no-edit --amend'
|
||||||
|
alias gco='git checkout'
|
||||||
|
alias gcor='git checkout --recurse-submodules'
|
||||||
|
alias gcount='git shortlog -sn'
|
||||||
|
alias gcp='git cherry-pick'
|
||||||
|
alias gcpa='git cherry-pick --abort'
|
||||||
|
alias gcpc='git cherry-pick --continue'
|
||||||
|
alias gcs='git commit -S'
|
||||||
|
alias gcsm='git commit -s -m'
|
||||||
|
alias gcss='git commit -S -s'
|
||||||
|
alias gcssm='git commit -S -s -m'
|
||||||
|
alias gd='git diff'
|
||||||
|
alias gdca='git diff --cached'
|
||||||
|
alias gdct='git describe --tags $(git rev-list --tags --max-count=1)'
|
||||||
|
alias gdcw='git diff --cached --word-diff'
|
||||||
|
alias gds='git diff --staged'
|
||||||
|
alias gdt='git diff-tree --no-commit-id --name-only -r'
|
||||||
|
alias gdup='git diff @{upstream}'
|
||||||
|
alias gdw='git diff --word-diff'
|
||||||
|
alias gf='git fetch'
|
||||||
|
alias gfa='git fetch --all --prune --jobs=10'
|
||||||
|
alias gfg='git ls-files | grep'
|
||||||
|
alias gfo='git fetch origin'
|
||||||
|
alias gg='git gui citool'
|
||||||
|
alias gga='git gui citool --amend'
|
||||||
|
alias ggpull='git pull origin "$(git_current_branch)"'
|
||||||
|
alias ggpush='git push origin "$(git_current_branch)"'
|
||||||
|
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
|
||||||
|
alias ghh='git help'
|
||||||
|
alias gignore='git update-index --assume-unchanged'
|
||||||
|
alias gignored='git ls-files -v | grep "^[[:lower:]]"'
|
||||||
|
alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk'
|
||||||
|
alias gk='\gitk --all --branches &!'
|
||||||
|
alias gke='\gitk --all $(git log -g --pretty=%h) &!'
|
||||||
|
alias gl='git pull'
|
||||||
|
alias glg='git log --stat'
|
||||||
|
alias glgg='git log --graph'
|
||||||
|
alias glgga='git log --graph --decorate --all'
|
||||||
|
alias glgm='git log --graph --max-count=10'
|
||||||
|
alias glgp='git log --stat -p'
|
||||||
|
alias glo='git log --oneline --decorate'
|
||||||
|
alias glod='git log --graph --pretty='\''%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'\'
|
||||||
|
alias glods='git log --graph --pretty='\''%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'\'' --date=short'
|
||||||
|
alias glog='git log --oneline --decorate --graph'
|
||||||
|
alias gloga='git log --oneline --decorate --graph --all'
|
||||||
|
alias glol='git log --graph --pretty='\''%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'\'
|
||||||
|
alias glola='git log --graph --pretty='\''%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'\'' --all'
|
||||||
|
alias glols='git log --graph --pretty='\''%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'\'' --stat'
|
||||||
|
alias glp=_git_log_prettily
|
||||||
|
alias glum='git pull upstream $(git_main_branch)'
|
||||||
|
alias gm='git merge'
|
||||||
|
alias gma='git merge --abort'
|
||||||
|
alias gmom='git merge origin/$(git_main_branch)'
|
||||||
|
alias gmtl='git mergetool --no-prompt'
|
||||||
|
alias gmtlvim='git mergetool --no-prompt --tool=vimdiff'
|
||||||
|
alias gmum='git merge upstream/$(git_main_branch)'
|
||||||
|
alias gp='git push'
|
||||||
|
alias gpd='git push --dry-run'
|
||||||
|
alias gpf='git push --force-with-lease'
|
||||||
|
alias 'gpf!'='git push --force'
|
||||||
|
alias gpoat='git push origin --all && git push origin --tags'
|
||||||
|
alias gpr='git pull --rebase'
|
||||||
|
alias gpristine='git reset --hard && git clean -dffx'
|
||||||
|
alias gpsup='git push --set-upstream origin $(git_current_branch)'
|
||||||
|
alias gpu='git push upstream'
|
||||||
|
alias gpv='git push -v'
|
||||||
|
alias gr='git remote'
|
||||||
|
alias gra='git remote add'
|
||||||
|
alias grb='git rebase'
|
||||||
|
alias grba='git rebase --abort'
|
||||||
|
alias grbc='git rebase --continue'
|
||||||
|
alias grbd='git rebase $(git_develop_branch)'
|
||||||
|
alias grbi='git rebase -i'
|
||||||
|
alias grbm='git rebase $(git_main_branch)'
|
||||||
|
alias grbo='git rebase --onto'
|
||||||
|
alias grbom='git rebase origin/$(git_main_branch)'
|
||||||
|
alias grbs='git rebase --skip'
|
||||||
|
alias grep='grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}'
|
||||||
|
alias grev='git revert'
|
||||||
|
alias grh='git reset'
|
||||||
|
alias grhh='git reset --hard'
|
||||||
|
alias grm='git rm'
|
||||||
|
alias grmc='git rm --cached'
|
||||||
|
alias grmv='git remote rename'
|
||||||
|
alias groh='git reset origin/$(git_current_branch) --hard'
|
||||||
|
alias grrm='git remote remove'
|
||||||
|
alias grs='git restore'
|
||||||
|
alias grset='git remote set-url'
|
||||||
|
alias grss='git restore --source'
|
||||||
|
alias grst='git restore --staged'
|
||||||
|
alias grt='cd "$(git rev-parse --show-toplevel || echo .)"'
|
||||||
|
alias gru='git reset --'
|
||||||
|
alias grup='git remote update'
|
||||||
|
alias grv='git remote -v'
|
||||||
|
alias gsb='git status -sb'
|
||||||
|
alias gsd='git svn dcommit'
|
||||||
|
alias gsh='git show'
|
||||||
|
alias gsi='git submodule init'
|
||||||
|
alias gsps='git show --pretty=short --show-signature'
|
||||||
|
alias gsr='git svn rebase'
|
||||||
|
alias gss='git status -s'
|
||||||
|
alias gst='git status'
|
||||||
|
alias gsta='git stash push'
|
||||||
|
alias gstaa='git stash apply'
|
||||||
|
alias gstall='git stash --all'
|
||||||
|
alias gstc='git stash clear'
|
||||||
|
alias gstd='git stash drop'
|
||||||
|
alias gstl='git stash list'
|
||||||
|
alias gstp='git stash pop'
|
||||||
|
alias gsts='git stash show --text'
|
||||||
|
alias gsu='git submodule update'
|
||||||
|
alias gsw='git switch'
|
||||||
|
alias gswc='git switch -c'
|
||||||
|
alias gswd='git switch $(git_develop_branch)'
|
||||||
|
alias gswm='git switch $(git_main_branch)'
|
||||||
|
alias gtl='gtl(){ git tag --sort=-v:refname -n -l "${1}*" }; noglob gtl'
|
||||||
|
alias gts='git tag -s'
|
||||||
|
alias gtv='git tag | sort -V'
|
||||||
|
alias gunignore='git update-index --no-assume-unchanged'
|
||||||
|
alias gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1'
|
||||||
|
alias gup='git pull --rebase'
|
||||||
|
alias gupa='git pull --rebase --autostash'
|
||||||
|
alias gupav='git pull --rebase --autostash -v'
|
||||||
|
alias gupv='git pull --rebase -v'
|
||||||
|
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
|
||||||
|
alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign -m "--wip-- [skip ci]"'
|
||||||
|
|
||||||
|
export PS1='\e[0;35m\t \e[0;32m\u@\h:\w\e[m\n\$ '
|
||||||
|
figlet `hostname`
|
26
roles/configs/files/htoprc
Normal file
26
roles/configs/files/htoprc
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||||
|
# The parser is also very primitive, and not human-friendly.
|
||||||
|
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||||
|
sort_key=46
|
||||||
|
sort_direction=1
|
||||||
|
hide_threads=1
|
||||||
|
hide_kernel_threads=1
|
||||||
|
hide_userland_threads=1
|
||||||
|
shadow_other_users=0
|
||||||
|
show_thread_names=0
|
||||||
|
show_program_path=1
|
||||||
|
highlight_base_name=0
|
||||||
|
highlight_megabytes=1
|
||||||
|
highlight_threads=1
|
||||||
|
tree_view=1
|
||||||
|
header_margin=1
|
||||||
|
detailed_cpu_time=0
|
||||||
|
cpu_count_from_zero=0
|
||||||
|
update_process_names=0
|
||||||
|
account_guest_in_cpu_meter=0
|
||||||
|
color_scheme=0
|
||||||
|
delay=15
|
||||||
|
left_meters=AllCPUs Memory Swap
|
||||||
|
left_meter_modes=1 1 1
|
||||||
|
right_meters=Tasks LoadAverage Uptime
|
||||||
|
right_meter_modes=2 2 2
|
143
roles/configs/files/mcrc
Normal file
143
roles/configs/files/mcrc
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
[Midnight-Commander]
|
||||||
|
verbose=true
|
||||||
|
shell_patterns=true
|
||||||
|
auto_save_setup=true
|
||||||
|
preallocate_space=false
|
||||||
|
auto_menu=false
|
||||||
|
use_internal_view=true
|
||||||
|
use_internal_edit=false
|
||||||
|
clear_before_exec=true
|
||||||
|
confirm_delete=true
|
||||||
|
confirm_overwrite=true
|
||||||
|
confirm_execute=false
|
||||||
|
confirm_history_cleanup=true
|
||||||
|
confirm_exit=false
|
||||||
|
confirm_directory_hotlist_delete=false
|
||||||
|
confirm_view_dir=false
|
||||||
|
safe_delete=false
|
||||||
|
safe_overwrite=false
|
||||||
|
use_8th_bit_as_meta=false
|
||||||
|
mouse_move_pages_viewer=true
|
||||||
|
mouse_close_dialog=false
|
||||||
|
fast_refresh=false
|
||||||
|
drop_menus=false
|
||||||
|
wrap_mode=true
|
||||||
|
old_esc_mode=true
|
||||||
|
cd_symlinks=true
|
||||||
|
show_all_if_ambiguous=false
|
||||||
|
use_file_to_guess_type=true
|
||||||
|
alternate_plus_minus=false
|
||||||
|
only_leading_plus_minus=true
|
||||||
|
show_output_starts_shell=false
|
||||||
|
xtree_mode=false
|
||||||
|
file_op_compute_totals=true
|
||||||
|
classic_progressbar=true
|
||||||
|
use_netrc=true
|
||||||
|
ftpfs_always_use_proxy=false
|
||||||
|
ftpfs_use_passive_connections=true
|
||||||
|
ftpfs_use_passive_connections_over_proxy=false
|
||||||
|
ftpfs_use_unix_list_options=true
|
||||||
|
ftpfs_first_cd_then_ls=true
|
||||||
|
ignore_ftp_chattr_errors=true
|
||||||
|
editor_fill_tabs_with_spaces=false
|
||||||
|
editor_return_does_auto_indent=false
|
||||||
|
editor_backspace_through_tabs=false
|
||||||
|
editor_fake_half_tabs=true
|
||||||
|
editor_option_save_position=true
|
||||||
|
editor_option_auto_para_formatting=false
|
||||||
|
editor_option_typewriter_wrap=false
|
||||||
|
editor_edit_confirm_save=true
|
||||||
|
editor_syntax_highlighting=true
|
||||||
|
editor_persistent_selections=true
|
||||||
|
editor_drop_selection_on_copy=true
|
||||||
|
editor_cursor_beyond_eol=false
|
||||||
|
editor_cursor_after_inserted_block=false
|
||||||
|
editor_visible_tabs=true
|
||||||
|
editor_visible_spaces=true
|
||||||
|
editor_line_state=false
|
||||||
|
editor_simple_statusbar=false
|
||||||
|
editor_check_new_line=false
|
||||||
|
editor_show_right_margin=false
|
||||||
|
editor_group_undo=true
|
||||||
|
editor_state_full_filename=true
|
||||||
|
editor_ask_filename_before_edit=false
|
||||||
|
nice_rotating_dash=true
|
||||||
|
mcview_remember_file_position=false
|
||||||
|
auto_fill_mkdir_name=true
|
||||||
|
copymove_persistent_attr=true
|
||||||
|
pause_after_run=1
|
||||||
|
mouse_repeat_rate=100
|
||||||
|
double_click_speed=250
|
||||||
|
old_esc_mode_timeout=1000000
|
||||||
|
max_dirt_limit=10
|
||||||
|
num_history_items_recorded=60
|
||||||
|
vfs_timeout=60
|
||||||
|
ftpfs_directory_timeout=900
|
||||||
|
ftpfs_retry_seconds=30
|
||||||
|
fish_directory_timeout=900
|
||||||
|
editor_tab_spacing=8
|
||||||
|
editor_word_wrap_line_length=72
|
||||||
|
editor_option_save_mode=0
|
||||||
|
editor_backup_extension=~
|
||||||
|
editor_filesize_threshold=64M
|
||||||
|
editor_stop_format_chars=-+*\\,.;:&>
|
||||||
|
mcview_eof=
|
||||||
|
skin=modarcon16root-defbg-thin
|
||||||
|
|
||||||
|
[Layout]
|
||||||
|
output_lines=0
|
||||||
|
left_panel_size=118
|
||||||
|
top_panel_size=0
|
||||||
|
message_visible=true
|
||||||
|
keybar_visible=true
|
||||||
|
xterm_title=true
|
||||||
|
command_prompt=true
|
||||||
|
menubar_visible=true
|
||||||
|
free_space=true
|
||||||
|
horizontal_split=false
|
||||||
|
vertical_equal=true
|
||||||
|
horizontal_equal=true
|
||||||
|
|
||||||
|
[Misc]
|
||||||
|
timeformat_recent=%b %e %H:%M
|
||||||
|
timeformat_old=%b %e %Y
|
||||||
|
ftp_proxy_host=gate
|
||||||
|
ftpfs_password=anonymous@
|
||||||
|
display_codepage=UTF-8
|
||||||
|
source_codepage=Other_8_bit
|
||||||
|
autodetect_codeset=
|
||||||
|
spell_language=en
|
||||||
|
clipboard_store=
|
||||||
|
clipboard_paste=
|
||||||
|
|
||||||
|
[Colors]
|
||||||
|
base_color=
|
||||||
|
xterm-256color=
|
||||||
|
color_terminals=
|
||||||
|
|
||||||
|
[Panels]
|
||||||
|
show_mini_info=true
|
||||||
|
kilobyte_si=false
|
||||||
|
mix_all_files=false
|
||||||
|
show_backups=true
|
||||||
|
show_dot_files=true
|
||||||
|
fast_reload=false
|
||||||
|
fast_reload_msg_shown=false
|
||||||
|
mark_moves_down=true
|
||||||
|
reverse_files_only=true
|
||||||
|
auto_save_setup_panels=false
|
||||||
|
navigate_with_arrows=false
|
||||||
|
panel_scroll_pages=true
|
||||||
|
panel_scroll_center=false
|
||||||
|
mouse_move_pages=true
|
||||||
|
filetype_mode=true
|
||||||
|
permission_mode=false
|
||||||
|
torben_fj_mode=false
|
||||||
|
quick_search_mode=2
|
||||||
|
select_flags=6
|
||||||
|
|
||||||
|
[Panelize]
|
||||||
|
Find *.orig after patching=find . -name \\*.orig -print
|
||||||
|
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
|
||||||
|
Find rejects after patching=find . -name \\*.rej -print
|
||||||
|
Modified git files=git ls-files --modified
|
10
roles/configs/files/screenrc
Normal file
10
roles/configs/files/screenrc
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
startup_message off
|
||||||
|
|
||||||
|
# Disable visual bell
|
||||||
|
vbell off
|
||||||
|
|
||||||
|
# Set scrollback buffer to 10000
|
||||||
|
defscrollback 10000
|
||||||
|
|
||||||
|
hardstatus alwayslastline
|
||||||
|
hardstatus string '%{= kG}[ %{G}%H %{g} - %S ][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d.%m %{W}%c %{g}]'
|
7
roles/configs/files/vimrc
Normal file
7
roles/configs/files/vimrc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
set mouse=
|
||||||
|
syntax on
|
||||||
|
"colorscheme desert
|
||||||
|
colorscheme zellner
|
||||||
|
set shiftwidth=2
|
||||||
|
set tabstop=2
|
||||||
|
set expandtab
|
32
roles/configs/tasks/main.yml
Normal file
32
roles/configs/tasks/main.yml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
- name: Do root tasks
|
||||||
|
import_tasks: root.yml
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Check for OMB
|
||||||
|
stat:
|
||||||
|
path: "{{ ansible_user_dir }}/.oh-my-bash"
|
||||||
|
register: omb_flag
|
||||||
|
|
||||||
|
- debug:
|
||||||
|
msg: 'OMB is not installed, run: bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"'
|
||||||
|
when: not omb_flag.stat.exists
|
||||||
|
|
||||||
|
- name: Put simple bashrc config
|
||||||
|
template:
|
||||||
|
src: files/bashrc
|
||||||
|
dest: "{{ ansible_user_dir }}/.bashrc"
|
||||||
|
when: not omb_flag.stat.exists
|
||||||
|
|
||||||
|
# - name: Put omb config
|
||||||
|
#template:
|
||||||
|
# src: files/omb-bashrc
|
||||||
|
# dest: "{{ ansible_user_dir }}/.bashrc"
|
||||||
|
#when: omb_flag.stat.exists
|
||||||
|
|
||||||
|
# FIXME: logout from shell
|
||||||
|
# - name: Install OMB
|
||||||
|
# shell: bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
|
||||||
|
# when: not omb_flag.stat.exists
|
||||||
|
|
||||||
|
|
56
roles/configs/tasks/root.yml
Normal file
56
roles/configs/tasks/root.yml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
---
|
||||||
|
- name: Create wheel group
|
||||||
|
group:
|
||||||
|
name: wheel
|
||||||
|
state: present
|
||||||
|
when: "'localgroup' in group_names"
|
||||||
|
|
||||||
|
- name: Create losted user
|
||||||
|
user:
|
||||||
|
name: losted
|
||||||
|
state: present
|
||||||
|
group: wheel
|
||||||
|
shell: /bin/bash
|
||||||
|
when: "'localgroup' in group_names"
|
||||||
|
|
||||||
|
- name: Set NOPASSWORD in sudoers
|
||||||
|
lineinfile:
|
||||||
|
dest: /etc/sudoers
|
||||||
|
state: present
|
||||||
|
regexp: '^%sudo'
|
||||||
|
line: '%sudo ALL=(ALL) NOPASSWD: ALL'
|
||||||
|
validate: 'visudo -cf %s'
|
||||||
|
when: "'localgroup' in group_names"
|
||||||
|
|
||||||
|
- name: Put htop config
|
||||||
|
template:
|
||||||
|
src: files/htoprc
|
||||||
|
dest: /etc/htoprc
|
||||||
|
- name: Put mc config
|
||||||
|
template:
|
||||||
|
src: files/mcrc
|
||||||
|
dest: /etc/mc/mc.ini
|
||||||
|
- name: Remove vim root config
|
||||||
|
become: yes
|
||||||
|
file:
|
||||||
|
path: /root/.viminfo
|
||||||
|
state: absent
|
||||||
|
- name: Put vim config
|
||||||
|
template:
|
||||||
|
src: files/vimrc
|
||||||
|
dest: /etc/vimrc
|
||||||
|
- name: Put screen config
|
||||||
|
template:
|
||||||
|
src: files/screenrc
|
||||||
|
dest: /etc/screenrc
|
||||||
|
- name: Change hostname
|
||||||
|
ansible.builtin.hostname:
|
||||||
|
name: "{{ inventory_hostname }}"
|
||||||
|
- name: Do not show news on login
|
||||||
|
file:
|
||||||
|
path: /etc/update-motd.d/50-motd-news
|
||||||
|
mode: 644
|
||||||
|
- name: Do not show help on login
|
||||||
|
file:
|
||||||
|
path: /etc/update-motd.d/10-help-text
|
||||||
|
mode: 644
|
21
roles/packages/tasks/main.yml
Normal file
21
roles/packages/tasks/main.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
- name: Install Debian packages
|
||||||
|
apt:
|
||||||
|
name: ['mc', 'htop', 'vim', 'screen', 'tmux', 'curl', 'wget', 'bash-completion', 'tree', 'figlet']
|
||||||
|
state: present
|
||||||
|
update_cache: yes
|
||||||
|
when: ansible_facts['os_family'] == "Debian"
|
||||||
|
|
||||||
|
- name: Install CentOS epel
|
||||||
|
yum:
|
||||||
|
name: 'epel-release'
|
||||||
|
update_cache: yes
|
||||||
|
state: present
|
||||||
|
when: ansible_facts['os_family'] == "RedHat"
|
||||||
|
|
||||||
|
- name: Install RedHat packages
|
||||||
|
yum:
|
||||||
|
name: ['epel-release', 'mc', 'htop', 'vim', 'screen', 'tmux', 'curl', 'wget', 'bash-completion']
|
||||||
|
update_cache: yes
|
||||||
|
state: present
|
||||||
|
when: ansible_facts['os_family'] == "RedHat"
|
2
roles/ssh/files/auth_keys
Normal file
2
roles/ssh/files/auth_keys
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3b/t76DskXtbMwVpyjpXoOKG/ezcLVGPM1l3OAU2mBon9qdt2WgLCiwSiFdbrEbWKLFP7+bEHkmcj5XWCBGpLlKQUn3GsnLqJu16ue+2qI3jHv4TTyNwN3AzERz5BQdPgat1qYTZ6UTkLdT208RDhVn7/sSx+zmdHbuX3kR9TgF43RjS2ijV5/9iaPbgnXIEL74eeJ2Fl8z+FaCWpe7Ja12R+rZKtpBGZQy4L37KlSPw8CC5vVkrmfvriSmV2J/OaaleosDqENFRVUHzzFTIt+CARMMkSKqLmFausb1I00vcL9iuh3islJIZvidfZKL20eRxauK3Q2dyH+cFu90yx knflkr@arch-llz
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCkRVTyHkfuF2m061Pz0HK2hWf8ZySByDaLK23L0AJTM9xZ1tGktUOm/qtJ0vV5fgv+OPrdb3s+e2QXpSMlUcqaxyV8Q1rGx4cWnEBtmITSp6cMeKNPtAUC6HBt4rVT5grDR+N3ZmmjoiaYqFzvN6cGiSsgoRfi9BKfyz5vN/pi4EYPaQNE7UXja0NCHBSGVp6Cc+bs6XFcpCaUZ81DDcrNMKURW0nLKdHCSswvd+ep0jP1znGnvFF1uZLcFLmsWX8kpd5aUFWHk4JT8yZNhnCYhVOOTc2/O3mVKeAF+SR+2BOV03Iu6M4QHsRC8PAHRVIcnrDDr2/0rmEm8c58d8AZ7j/4P5ckZ5uBmDE6LNJ3C4JA6/tTSWNCuDgV6igCc15LVuuW/ZpSxk+/247q2boVdnumD1bXtx/lcSwb4+KEIqlXc1pIvX6hcN/aT3nuDpcWZPAZFCPUrxCVvJCET6XklycqRqJrVaCqraTWuJv9TmY8i19eZzL1Q8e9jfXDgZs= root@playground-clo
|
65
roles/ssh/files/sshd_config
Normal file
65
roles/ssh/files/sshd_config
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
Port {{ ssh_port }}
|
||||||
|
#AddressFamily any
|
||||||
|
#ListenAddress 0.0.0.0
|
||||||
|
#ListenAddress ::
|
||||||
|
|
||||||
|
#HostKey /etc/ssh/ssh_host_rsa_key
|
||||||
|
#HostKey /etc/ssh/ssh_host_ecdsa_key
|
||||||
|
#HostKey /etc/ssh/ssh_host_ed25519_key
|
||||||
|
|
||||||
|
# Ciphers and keying
|
||||||
|
#RekeyLimit default none
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
#SyslogFacility AUTH
|
||||||
|
#LogLevel INFO
|
||||||
|
|
||||||
|
# Authentication:
|
||||||
|
|
||||||
|
#LoginGraceTime 2m
|
||||||
|
PermitRootLogin prohibit-password
|
||||||
|
#StrictModes yes
|
||||||
|
#MaxAuthTries 6
|
||||||
|
#MaxSessions 10
|
||||||
|
|
||||||
|
|
||||||
|
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 /etc/ssh/auth_keys
|
||||||
|
PasswordAuthentication no
|
||||||
|
PermitEmptyPasswords no
|
||||||
|
|
||||||
|
# Change to yes to enable challenge-response passwords (beware issues with
|
||||||
|
# some PAM modules and threads)
|
||||||
|
ChallengeResponseAuthentication no
|
||||||
|
|
||||||
|
UsePAM yes
|
||||||
|
|
||||||
|
#AllowAgentForwarding yes
|
||||||
|
#AllowTcpForwarding yes
|
||||||
|
#GatewayPorts no
|
||||||
|
X11Forwarding yes
|
||||||
|
#X11DisplayOffset 10
|
||||||
|
#X11UseLocalhost yes
|
||||||
|
#PermitTTY yes
|
||||||
|
PrintMotd no
|
||||||
|
PrintLastLog yes
|
||||||
|
#TCPKeepAlive yes
|
||||||
|
#PermitUserEnvironment no
|
||||||
|
#Compression delayed
|
||||||
|
#ClientAliveInterval 0
|
||||||
|
#ClientAliveCountMax 3
|
||||||
|
UseDNS no
|
||||||
|
#PidFile /var/run/sshd.pid
|
||||||
|
#MaxStartups 10:30:100
|
||||||
|
#PermitTunnel no
|
||||||
|
#ChrootDirectory none
|
||||||
|
#VersionAddendum none
|
||||||
|
|
||||||
|
# no default banner path
|
||||||
|
#Banner none
|
||||||
|
|
||||||
|
# Allow client to pass locale environment variables
|
||||||
|
AcceptEnv LANG LC_*
|
||||||
|
|
||||||
|
# override default of no subsystems
|
||||||
|
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||||
|
|
4
roles/ssh/handlers/main.yml
Normal file
4
roles/ssh/handlers/main.yml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- name: Reload sshd
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: sshd
|
||||||
|
state: restarted
|
22
roles/ssh/tasks/main.yml
Normal file
22
roles/ssh/tasks/main.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
- name: Put authorized keys
|
||||||
|
template:
|
||||||
|
src: files/auth_keys
|
||||||
|
dest: /etc/ssh/auth_keys
|
||||||
|
|
||||||
|
- name: Put sshd config
|
||||||
|
template:
|
||||||
|
src: files/sshd_config
|
||||||
|
dest: /etc/ssh/sshd_config
|
||||||
|
notify: Reload sshd
|
||||||
|
|
||||||
|
- name: Set different SSH port
|
||||||
|
lineinfile:
|
||||||
|
dest: /etc/ssh/sshd_config
|
||||||
|
state: present
|
||||||
|
regexp: '^Port'
|
||||||
|
line: 'Port 6666'
|
||||||
|
validate: 'sshd -t -f %s'
|
||||||
|
notify: Reload sshd
|
||||||
|
when: "'publicservices' in group_names"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user