Move common env role to configure-env playbook
This commit is contained in:
parent
fd2989cd66
commit
0b214f734c
29
playbooks/configure-env.yml
Normal file
29
playbooks/configure-env.yml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
- import_playbook: meta.yml
|
||||||
|
|
||||||
|
- name: Configure environment
|
||||||
|
hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: Set hostname
|
||||||
|
become: true
|
||||||
|
hostname:
|
||||||
|
name: "{{ ansible_host }}"
|
||||||
|
|
||||||
|
- import_tasks: tasks/preprocess-users.yml
|
||||||
|
|
||||||
|
- name: Install network bash profile
|
||||||
|
become: true
|
||||||
|
copy:
|
||||||
|
src: bashrc.sh
|
||||||
|
dest: /home/{{ item.name }}/.bashrc
|
||||||
|
mode: 0644
|
||||||
|
loop: "{{ _users_local }}"
|
||||||
|
|
||||||
|
- name: Disable case-sensitive autocomplete
|
||||||
|
become: true
|
||||||
|
lineinfile:
|
||||||
|
path: /home/{{ item.name }}/.inputrc
|
||||||
|
line: set completion-ignore-case On
|
||||||
|
create: true
|
||||||
|
mode: 0644
|
||||||
|
loop: "{{ _users_local }}"
|
@ -1,5 +1,11 @@
|
|||||||
# Global network bashrc/profile file
|
# Global network bashrc/profile file
|
||||||
# Updated 2019-11-12
|
# Updated 2020-03-18
|
||||||
|
|
||||||
|
function parse_git_branch() {
|
||||||
|
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
|
||||||
|
}
|
||||||
|
|
||||||
|
export PS1="\[\e[0;97m\]\[\e[37m\e[1m\]\u\[\e[1;94m\]@\[\e[94m\]\H\[\e[0;33m\]$(parse_git_branch) \[\e[37m\]\w\[\e[33m\] \[\e[0;97m\]$\[\e[0m\] "
|
||||||
|
|
||||||
function venv() {
|
function venv() {
|
||||||
DIR="/home/$USERNAME/.venvs"
|
DIR="/home/$USERNAME/.venvs"
|
||||||
@ -34,10 +40,6 @@ Commands:
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function parse_git_branch() {
|
|
||||||
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
|
|
||||||
}
|
|
||||||
|
|
||||||
function up() { cd $(eval printf '../'%.0s {1..$1}); }
|
function up() { cd $(eval printf '../'%.0s {1..$1}); }
|
||||||
|
|
||||||
function pipin() { pip freeze | grep $1; }
|
function pipin() { pip freeze | grep $1; }
|
||||||
@ -55,6 +57,7 @@ alias gg='cd ~/Git'
|
|||||||
alias gmtime='/usr/bin/date -u --iso-8601=seconds'
|
alias gmtime='/usr/bin/date -u --iso-8601=seconds'
|
||||||
alias date='/usr/bin/date --iso-8601=seconds'
|
alias date='/usr/bin/date --iso-8601=seconds'
|
||||||
alias whatismyip='curl https://icanhazip.com/'
|
alias whatismyip='curl https://icanhazip.com/'
|
||||||
|
alias uuid="python3 -c 'import uuid; print(uuid.uuid4());'"
|
||||||
|
alias epoch="python3 -c 'import time; print(time.time());'"
|
||||||
|
|
||||||
export rc=/home/$USERNAME/.bashrc
|
export rc=/home/$USERNAME/.bashrc
|
||||||
export PS1="\[\e[0;97m\]\[\e[37m\e[1m\]\u\[\e[1;94m\]@\[\e[94m\]\H\[\e[0;33m\]$(parse_git_branch) \[\e[37m\]\w\[\e[33m\] \[\e[0;97m\]$\[\e[0m\] "
|
|
||||||
|
12
playbooks/files/powerline-env.sh
Normal file
12
playbooks/files/powerline-env.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
alias powerline='/opt/powerline/bin/powerline'
|
||||||
|
alias powerline-config='/opt/powerline/bin/powerline-config'
|
||||||
|
alias powerline-daemon='/opt/powerline/bin/powerline-daemon'
|
||||||
|
alias powerline-lint='/opt/powerline/bin/powerline-lint'
|
||||||
|
alias powerline-render='/opt/powerline/bin/powerline-render'
|
||||||
|
|
||||||
|
if [ -z ${DISABLE_POWERLINE} ]; then
|
||||||
|
powerline-daemon -q
|
||||||
|
POWERLINE_BASH_CONTINUATION=1
|
||||||
|
POWERLINE_BASH_SELECT=1
|
||||||
|
source /opt/powerline/powerline.sh
|
||||||
|
fi
|
153
playbooks/files/powerline-init.sh
Normal file
153
playbooks/files/powerline-init.sh
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
_powerline_columns_fallback() {
|
||||||
|
if which stty &>/dev/null ; then
|
||||||
|
local cols="$(stty size 2>/dev/null)"
|
||||||
|
if ! test -z "$cols" ; then
|
||||||
|
echo "${cols#* }"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo 0
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_tmux_pane() {
|
||||||
|
echo "${TMUX_PANE:-`TMUX="$_POWERLINE_TMUX" tmux display -p "#D"`}" | \
|
||||||
|
tr -d ' %'
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_tmux_setenv() {
|
||||||
|
TMUX="$_POWERLINE_TMUX" tmux setenv -g TMUX_"$1"_`_powerline_tmux_pane` "$2"
|
||||||
|
TMUX="$_POWERLINE_TMUX" tmux refresh -S
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_tmux_set_pwd() {
|
||||||
|
if test "$_POWERLINE_SAVED_PWD" != "$PWD" ; then
|
||||||
|
_POWERLINE_SAVED_PWD="$PWD"
|
||||||
|
_powerline_tmux_setenv PWD "$PWD"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_return() {
|
||||||
|
return $1
|
||||||
|
}
|
||||||
|
|
||||||
|
_POWERLINE_HAS_PIPESTATUS="$(
|
||||||
|
_powerline_return 0 | _powerline_return 43
|
||||||
|
test "${PIPESTATUS[*]}" = "0 43"
|
||||||
|
echo "$?"
|
||||||
|
)"
|
||||||
|
|
||||||
|
_powerline_has_pipestatus() {
|
||||||
|
return $_POWERLINE_HAS_PIPESTATUS
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_status_wrapper() {
|
||||||
|
local last_exit_code=$? last_pipe_status=( "${PIPESTATUS[@]}" )
|
||||||
|
|
||||||
|
if ! _powerline_has_pipestatus \
|
||||||
|
|| test "${#last_pipe_status[@]}" -eq "0" \
|
||||||
|
|| test "$last_exit_code" != "${last_pipe_status[$(( ${#last_pipe_status[@]} - 1 ))]}" ; then
|
||||||
|
last_pipe_status=()
|
||||||
|
fi
|
||||||
|
"$@" $last_exit_code "${last_pipe_status[*]}"
|
||||||
|
return $last_exit_code
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_add_status_wrapped_command() {
|
||||||
|
local action="$1" ; shift
|
||||||
|
local cmd="$1" ; shift
|
||||||
|
full_cmd="_powerline_status_wrapper $cmd"
|
||||||
|
if test "$action" = "append" ; then
|
||||||
|
PROMPT_COMMAND="$PROMPT_COMMAND"$'\n'"$full_cmd"
|
||||||
|
else
|
||||||
|
PROMPT_COMMAND="$full_cmd"$'\n'"$PROMPT_COMMAND"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_tmux_set_columns() {
|
||||||
|
_powerline_tmux_setenv COLUMNS "${COLUMNS:-`_powerline_columns_fallback`}"
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_init_tmux_support() {
|
||||||
|
if test -n "$TMUX" && tmux refresh -S &>/dev/null ; then
|
||||||
|
# TMUX variable may be unset to create new tmux session inside this one
|
||||||
|
_POWERLINE_TMUX="$TMUX"
|
||||||
|
|
||||||
|
trap '_powerline_tmux_set_columns' WINCH
|
||||||
|
_powerline_tmux_set_columns
|
||||||
|
|
||||||
|
test "$PROMPT_COMMAND" != "${PROMPT_COMMAND/_powerline_tmux_set_pwd}" \
|
||||||
|
|| _powerline_add_status_wrapped_command append _powerline_tmux_set_pwd
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_local_prompt() {
|
||||||
|
# Arguments:
|
||||||
|
# 1: side
|
||||||
|
# 2: renderer_module arg
|
||||||
|
# 3: last_exit_code
|
||||||
|
# 4: last_pipe_status
|
||||||
|
# 5: jobnum
|
||||||
|
# 6: local theme
|
||||||
|
"$POWERLINE_COMMAND" $POWERLINE_COMMAND_ARGS shell $1 \
|
||||||
|
$2 \
|
||||||
|
--last-exit-code=$3 \
|
||||||
|
--last-pipe-status="$4" \
|
||||||
|
--jobnum=$5 \
|
||||||
|
--renderer-arg="client_id=$$" \
|
||||||
|
--renderer-arg="local_theme=$6"
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_prompt() {
|
||||||
|
# Arguments:
|
||||||
|
# 1: side
|
||||||
|
# 2: last_exit_code
|
||||||
|
# 3: last_pipe_status
|
||||||
|
# 4: jobnum
|
||||||
|
"$POWERLINE_COMMAND" $POWERLINE_COMMAND_ARGS shell $1 \
|
||||||
|
--width="${COLUMNS:-$(_powerline_columns_fallback)}" \
|
||||||
|
-r.bash \
|
||||||
|
--last-exit-code=$2 \
|
||||||
|
--last-pipe-status="$3" \
|
||||||
|
--jobnum=$4 \
|
||||||
|
--renderer-arg="client_id=$$"
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_set_prompt() {
|
||||||
|
local last_exit_code=$1 ; shift
|
||||||
|
local last_pipe_status=$1 ; shift
|
||||||
|
local jobnum="$(jobs -p|wc -l)"
|
||||||
|
PS1="$(_powerline_prompt aboveleft $last_exit_code "$last_pipe_status" $jobnum)"
|
||||||
|
if test -n "$POWERLINE_SHELL_CONTINUATION$POWERLINE_BASH_CONTINUATION" ; then
|
||||||
|
PS2="$(_powerline_local_prompt left -r.bash $last_exit_code "$last_pipe_status" $jobnum continuation)"
|
||||||
|
fi
|
||||||
|
if test -n "$POWERLINE_SHELL_SELECT$POWERLINE_BASH_SELECT" ; then
|
||||||
|
PS3="$(_powerline_local_prompt left '' $last_exit_code "$last_pipe_status" $jobnum select)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_powerline_setup_prompt() {
|
||||||
|
VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||||
|
if test -z "${POWERLINE_COMMAND}" ; then
|
||||||
|
POWERLINE_COMMAND="$("$POWERLINE_CONFIG_COMMAND" shell command)"
|
||||||
|
fi
|
||||||
|
test "$PROMPT_COMMAND" != "${PROMPT_COMMAND%_powerline_set_prompt*}" \
|
||||||
|
|| _powerline_add_status_wrapped_command prepend _powerline_set_prompt
|
||||||
|
PS2="$(_powerline_local_prompt left -r.bash 0 0 0 continuation)"
|
||||||
|
PS3="$(_powerline_local_prompt left '' 0 0 0 select)"
|
||||||
|
}
|
||||||
|
|
||||||
|
if test -z "${POWERLINE_CONFIG_COMMAND}" ; then
|
||||||
|
if which powerline-config >/dev/null ; then
|
||||||
|
POWERLINE_CONFIG_COMMAND=powerline-config
|
||||||
|
else
|
||||||
|
POWERLINE_CONFIG_COMMAND="$(dirname "$BASH_SOURCE")/../../../scripts/powerline-config"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if "${POWERLINE_CONFIG_COMMAND}" shell --shell=bash uses prompt ; then
|
||||||
|
_powerline_setup_prompt
|
||||||
|
fi
|
||||||
|
if "${POWERLINE_CONFIG_COMMAND}" shell --shell=bash uses tmux ; then
|
||||||
|
_powerline_init_tmux_support
|
||||||
|
fi
|
53
playbooks/files/powerline.json
Normal file
53
playbooks/files/powerline.json
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
"common": {
|
||||||
|
"term_truecolor": false
|
||||||
|
},
|
||||||
|
"ext": {
|
||||||
|
"ipython": {
|
||||||
|
"colorscheme": "default",
|
||||||
|
"theme": "in",
|
||||||
|
"local_themes": {
|
||||||
|
"rewrite": "rewrite",
|
||||||
|
"out": "out",
|
||||||
|
"in2": "in2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pdb": {
|
||||||
|
"colorscheme": "default",
|
||||||
|
"theme": "default"
|
||||||
|
},
|
||||||
|
"shell": {
|
||||||
|
"colorscheme": "default",
|
||||||
|
"theme": "default_leftonly",
|
||||||
|
"local_themes": {
|
||||||
|
"continuation": "continuation",
|
||||||
|
"select": "select"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tmux": {
|
||||||
|
"colorscheme": "default",
|
||||||
|
"theme": "default"
|
||||||
|
},
|
||||||
|
"vim": {
|
||||||
|
"colorscheme": "default",
|
||||||
|
"theme": "default",
|
||||||
|
"local_themes": {
|
||||||
|
"__tabline__": "tabline",
|
||||||
|
|
||||||
|
"cmdwin": "cmdwin",
|
||||||
|
"help": "help",
|
||||||
|
"quickfix": "quickfix",
|
||||||
|
|
||||||
|
"powerline.matchers.vim.plugin.nerdtree.nerdtree": "plugin_nerdtree",
|
||||||
|
"powerline.matchers.vim.plugin.commandt.commandt": "plugin_commandt",
|
||||||
|
"powerline.matchers.vim.plugin.gundo.gundo": "plugin_gundo",
|
||||||
|
"powerline.matchers.vim.plugin.gundo.gundo_preview": "plugin_gundo-preview"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wm": {
|
||||||
|
"colorscheme": "default",
|
||||||
|
"theme": "default",
|
||||||
|
"update_interval": 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Set hostname
|
|
||||||
become: true
|
|
||||||
hostname:
|
|
||||||
name: "{{ ansible_host }}"
|
|
||||||
|
|
||||||
- name: Install global bashrc
|
|
||||||
become: true
|
|
||||||
copy:
|
|
||||||
src: bashrc.sh
|
|
||||||
dest: /etc/profile.d/ZA-enpn-bashrc.sh
|
|
||||||
mode: 0644
|
|
Reference in New Issue
Block a user