init dotfiles repo
This commit is contained in:
commit
a1e8f2391a
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
archive
|
||||
authorized_keys
|
||||
36
README.md
Normal file
36
README.md
Normal file
@ -0,0 +1,36 @@
|
||||
# Ansible Role: dotfiles
|
||||
|
||||
This role sets up my dotfiles.
|
||||
|
||||
Tested on:
|
||||
|
||||
* Archlinux
|
||||
* Debian 10, 11, 12
|
||||
* Ubuntu 20.04, 22.04
|
||||
* RedHat 7.9
|
||||
|
||||
## Requirements
|
||||
|
||||
None.
|
||||
|
||||
## Example Playbook
|
||||
|
||||
```yaml
|
||||
- hosts: all
|
||||
roles:
|
||||
- pleb.dotfiles
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
* [GNU Readline Init File Syntax](http://www.gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html)
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
```vim
|
||||
:scriptnames
|
||||
:set runtimepath?
|
||||
:version
|
||||
```
|
||||
|
||||
Also `vim -V`
|
||||
2
defaults/main.yml
Normal file
2
defaults/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
sysadmin_username: admin
|
||||
2
files/bash_aliases
Normal file
2
files/bash_aliases
Normal file
@ -0,0 +1,2 @@
|
||||
alias ll='ls -AlF --group-directories-first'
|
||||
alias l='ls -lF --group-directories-first'
|
||||
2
files/inputrc
Normal file
2
files/inputrc
Normal file
@ -0,0 +1,2 @@
|
||||
set completion-ignore-case On
|
||||
set mark-directories On
|
||||
218
files/ir_black.vim
Normal file
218
files/ir_black.vim
Normal file
@ -0,0 +1,218 @@
|
||||
" ir_black color scheme
|
||||
" More at: http://blog.infinitered.com
|
||||
|
||||
|
||||
" ********************************************************************************
|
||||
" Standard colors used in all ir_black themes:
|
||||
" Note, x:x:x are RGB values
|
||||
"
|
||||
" normal: #f6f3e8
|
||||
"
|
||||
" string: #A8FF60 168:255:96
|
||||
" string inner (punc, code, etc): #00A0A0 0:160:160
|
||||
" number: #FF73FD 255:115:253
|
||||
" comments: #7C7C7C 124:124:124
|
||||
" keywords: #96CBFE 150:203:254
|
||||
" operators: white
|
||||
" class: #FFFFB6 255:255:182
|
||||
" method declaration name: #FFD2A7 255:210:167
|
||||
" regular expression: #E9C062 233:192:98
|
||||
" regexp alternate: #FF8000 255:128:0
|
||||
" regexp alternate 2: #B18A3D 177:138:61
|
||||
" variable: #C6C5FE 198:197:254
|
||||
"
|
||||
" Misc colors:
|
||||
" red color (used for whatever): #FF6C60 255:108:96
|
||||
" light red: #FFB6B0 255:182:176
|
||||
"
|
||||
" brown: #E18964 good for special
|
||||
"
|
||||
" lightpurpleish: #FFCCFF
|
||||
"
|
||||
" Interface colors:
|
||||
" background color: black
|
||||
" cursor (where underscore is used): #FFA560 255:165:96
|
||||
" cursor (where block is used): white
|
||||
" visual selection: #1D1E2C
|
||||
" current line: #151515 21:21:21
|
||||
" search selection: #07281C 7:40:28
|
||||
" line number: #3D3D3D 61:61:61
|
||||
|
||||
|
||||
" ********************************************************************************
|
||||
" The following are the preferred 16 colors for your terminal
|
||||
" Colors Bright Colors
|
||||
" Black #4E4E4E #7C7C7C
|
||||
" Red #FF6C60 #FFB6B0
|
||||
" Green #A8FF60 #CEFFAB
|
||||
" Yellow #FFFFB6 #FFFFCB
|
||||
" Blue #96CBFE #B5DCFE
|
||||
" Magenta #FF73FD #FF9CFE
|
||||
" Cyan #C6C5FE #DFDFFE
|
||||
" White #EEEEEE #FFFFFF
|
||||
|
||||
|
||||
" ********************************************************************************
|
||||
set background=dark
|
||||
hi clear
|
||||
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
|
||||
let colors_name = "ir_black"
|
||||
|
||||
|
||||
"hi Example guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
|
||||
" General colors
|
||||
hi Normal guifg=#f6f3e8 guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi NonText guifg=#070707 guibg=black gui=NONE ctermfg=black ctermbg=NONE cterm=NONE
|
||||
|
||||
hi Cursor guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=reverse
|
||||
hi LineNr guifg=#3D3D3D guibg=black gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE
|
||||
|
||||
hi VertSplit guifg=#202020 guibg=#202020 gui=NONE ctermfg=darkgray ctermbg=darkgray cterm=NONE
|
||||
hi StatusLine guifg=#CCCCCC guibg=#202020 gui=italic ctermfg=white ctermbg=darkgray cterm=NONE
|
||||
hi StatusLineNC guifg=black guibg=#202020 gui=NONE ctermfg=blue ctermbg=darkgray cterm=NONE
|
||||
|
||||
hi Folded guifg=#a0a8b0 guibg=#384048 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Title guifg=#f6f3e8 guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual guifg=NONE guibg=#262D51 gui=NONE ctermfg=NONE ctermbg=NONE cterm=REVERSE
|
||||
|
||||
hi SpecialKey guifg=#808080 guibg=#343434 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
|
||||
hi WildMenu guifg=green guibg=yellow gui=NONE ctermfg=black ctermbg=yellow cterm=NONE
|
||||
hi PmenuSbar guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=NONE
|
||||
"hi Ignore guifg=gray guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
|
||||
hi Error guifg=NONE guibg=NONE gui=undercurl ctermfg=white ctermbg=red cterm=NONE guisp=#FF6C60 " undercurl color
|
||||
hi ErrorMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE
|
||||
hi WarningMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE
|
||||
hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
|
||||
" Message displayed in lower left, such as --INSERT--
|
||||
hi ModeMsg guifg=black guibg=#C6C5FE gui=BOLD ctermfg=black ctermbg=cyan cterm=BOLD
|
||||
|
||||
if version >= 700 " Vim 7.x specific colors
|
||||
hi CursorLine guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD
|
||||
hi CursorColumn guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD
|
||||
hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=BOLD ctermfg=white ctermbg=darkgray cterm=NONE
|
||||
hi Pmenu guifg=#f6f3e8 guibg=#444444 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel guifg=#000000 guibg=#cae682 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Search guifg=NONE guibg=#2F2F00 gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
endif
|
||||
|
||||
" Syntax highlighting
|
||||
hi Comment guifg=#7C7C7C guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE
|
||||
hi String guifg=#A8FF60 guibg=NONE gui=NONE ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi Number guifg=#FF73FD guibg=NONE gui=NONE ctermfg=magenta ctermbg=NONE cterm=NONE
|
||||
|
||||
hi Keyword guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi PreProc guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi Conditional guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE " if else end
|
||||
|
||||
hi Todo guifg=#8f8f8f guibg=NONE gui=NONE ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi Constant guifg=#99CC99 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
|
||||
hi Identifier guifg=#C6C5FE guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Function guifg=#FFD2A7 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE
|
||||
hi Type guifg=#FFFFB6 guibg=NONE gui=NONE ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Statement guifg=#6699CC guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE
|
||||
|
||||
hi Special guifg=#E18964 guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE
|
||||
hi Delimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Operator guifg=white guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE
|
||||
|
||||
hi link Character Constant
|
||||
hi link Boolean Constant
|
||||
hi link Float Number
|
||||
hi link Repeat Statement
|
||||
hi link Label Statement
|
||||
hi link Exception Statement
|
||||
hi link Include PreProc
|
||||
hi link Define PreProc
|
||||
hi link Macro PreProc
|
||||
hi link PreCondit PreProc
|
||||
hi link StorageClass Type
|
||||
hi link Structure Type
|
||||
hi link Typedef Type
|
||||
hi link Tag Special
|
||||
hi link SpecialChar Special
|
||||
hi link SpecialComment Special
|
||||
hi link Debug Special
|
||||
|
||||
|
||||
" Special for Ruby
|
||||
hi rubyRegexp guifg=#B18A3D guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE
|
||||
hi rubyRegexpDelimiter guifg=#FF8000 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE
|
||||
hi rubyEscape guifg=white guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi rubyInterpolationDelimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi rubyControl guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE "and break, etc
|
||||
"hi rubyGlobalVariable guifg=#FFCCFF guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE "yield
|
||||
hi rubyStringDelimiter guifg=#336633 guibg=NONE gui=NONE ctermfg=lightgreen ctermbg=NONE cterm=NONE
|
||||
"rubyInclude
|
||||
"rubySharpBang
|
||||
"rubyAccess
|
||||
"rubyPredefinedVariable
|
||||
"rubyBoolean
|
||||
"rubyClassVariable
|
||||
"rubyBeginEnd
|
||||
"rubyRepeatModifier
|
||||
"hi link rubyArrayDelimiter Special " [ , , ]
|
||||
"rubyCurlyBlock { , , }
|
||||
|
||||
hi link rubyClass Keyword
|
||||
hi link rubyModule Keyword
|
||||
hi link rubyKeyword Keyword
|
||||
hi link rubyOperator Operator
|
||||
hi link rubyIdentifier Identifier
|
||||
hi link rubyInstanceVariable Identifier
|
||||
hi link rubyGlobalVariable Identifier
|
||||
hi link rubyClassVariable Identifier
|
||||
hi link rubyConstant Type
|
||||
|
||||
|
||||
" Special for Java
|
||||
" hi link javaClassDecl Type
|
||||
hi link javaScopeDecl Identifier
|
||||
hi link javaCommentTitle javaDocSeeTag
|
||||
hi link javaDocTags javaDocSeeTag
|
||||
hi link javaDocParam javaDocSeeTag
|
||||
hi link javaDocSeeTagParam javaDocSeeTag
|
||||
|
||||
hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE
|
||||
hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE
|
||||
"hi javaClassDecl guifg=#CCFFCC guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE
|
||||
|
||||
|
||||
" Special for XML
|
||||
hi link xmlTag Keyword
|
||||
hi link xmlTagName Conditional
|
||||
hi link xmlEndTag Identifier
|
||||
|
||||
|
||||
" Special for HTML
|
||||
hi link htmlTag Keyword
|
||||
hi link htmlTagName Conditional
|
||||
hi link htmlEndTag Identifier
|
||||
|
||||
|
||||
" Special for Javascript
|
||||
hi link javaScriptNumber Number
|
||||
|
||||
|
||||
" Special for Python
|
||||
"hi link pythonEscape Keyword
|
||||
|
||||
|
||||
" Special for CSharp
|
||||
hi link csXmlTag Keyword
|
||||
|
||||
|
||||
" Special for PHP
|
||||
|
||||
" Line length highlighting
|
||||
hi ColorColumn ctermbg=Black
|
||||
hi TabLine term=NONE cterm=NONE ctermfg=12 ctermbg=0
|
||||
hi TabLineFill term=NONE cterm=NONE gui=NONE
|
||||
2
files/vim.sh
Normal file
2
files/vim.sh
Normal file
@ -0,0 +1,2 @@
|
||||
export VISUAL=vim.basic
|
||||
export EDITOR=vim.basic
|
||||
42
files/vimrc.local
Normal file
42
files/vimrc.local
Normal file
@ -0,0 +1,42 @@
|
||||
let skip_defaults_vim=1
|
||||
|
||||
" -- General Settings
|
||||
set mouse-=a " No mouse, see https://github.com/vim/vim/issues/12621
|
||||
set encoding=utf-8 " Necessary to show Unicode glyphs
|
||||
set scrolloff=4 " keep at least 4 lines above/below cursor visible
|
||||
set linebreak " last word line wrapping, instead of last character
|
||||
set ttyfast " fast terminal
|
||||
set incsearch " search as we type
|
||||
set smartcase " case (in)sensitive searching
|
||||
set nobackup " declutter backups (handled elsewhere)
|
||||
set noswapfile " declutter temp files (live fast, die hard)
|
||||
set number
|
||||
|
||||
" -- Syntax Highlighting
|
||||
"set background=dark " tell vim the background is dark
|
||||
colorscheme ir_black " via http://toddwerth.com/2008/04/30/the-last-vim-color-scheme-youll-ever-need/
|
||||
syntax on " enable syntax highlighting
|
||||
set hlsearch " highlight/underline search results
|
||||
"au BufRead,BufNewFile *.md setfiletype markdown
|
||||
"au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/conf/* setfiletype nginx
|
||||
|
||||
" -- Tabs
|
||||
" :h tabstop
|
||||
" http://tedlogan.com/techblog3.html
|
||||
set tabstop=4 " existing tab column length
|
||||
set softtabstop=4 " spaces per <TAB> and <BS>
|
||||
set shiftwidth=4 " spaces per indent
|
||||
set expandtab " whether to prefer spaces
|
||||
set cindent " auto-indenting for code blocks
|
||||
|
||||
" -- Keys
|
||||
" insert mode with semi-colon, because save the pinkies
|
||||
noremap ; :
|
||||
noremap , ;
|
||||
" center search results on the screen
|
||||
map N Nzz
|
||||
map n nzz
|
||||
|
||||
" Make tabs, trailing whitespace, and non-breaking spaces visible for list
|
||||
exec "set listchars=tab:\uBB\uBB,trail:\uB7,nbsp:~"
|
||||
|
||||
3
handlers/main.yml
Normal file
3
handlers/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
- name: restart ssh
|
||||
service: name=sshd state=restarted
|
||||
2
meta/.galaxy_install_info
Normal file
2
meta/.galaxy_install_info
Normal file
@ -0,0 +1,2 @@
|
||||
install_date: 'Mon 06 Jan 2025 07:19:19 PM '
|
||||
version: ''
|
||||
2
meta/main.yml
Normal file
2
meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
dependencies: []
|
||||
61
tasks/ArchLinux.yml
Normal file
61
tasks/ArchLinux.yml
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
- import_tasks: vim.yml
|
||||
|
||||
- name: Copy the global vim configuration
|
||||
ansible.builtin.copy:
|
||||
src: vimrc.local
|
||||
dest: /etc/
|
||||
|
||||
- name: Ensure Arch Linux sources bash_aliases
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
# regexp: '\.bash_aliases'
|
||||
line: '[ -f ~/.bash_aliases ] && source ~/.bash_aliases'
|
||||
create: yes
|
||||
|
||||
- name: Copy shell configuration
|
||||
ansible.builtin.copy:
|
||||
src: inputrc
|
||||
dest: "{{ item }}/.inputrc"
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.PWD }}/"
|
||||
|
||||
- name: Copy bash aliases
|
||||
ansible.builtin.copy:
|
||||
src: bash_aliases
|
||||
dest: "{{ item }}/.bash_aliases"
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.PWD }}/"
|
||||
|
||||
- name: Add root bashrc shell history configuration
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
regexp: '^(export )?HISTCONTROL='
|
||||
line: 'HISTCONTROL=ignoreboth'
|
||||
state: present
|
||||
|
||||
- name: Add root bashrc and vim configuration for RedHat
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
regexp: "{{ item.regexp }}"
|
||||
line: "{{ item.line }}"
|
||||
state: present
|
||||
with_items:
|
||||
- regexp: '^(export )?VISUAL='
|
||||
line: 'export VISUAL=vim'
|
||||
- regexp: '^(export )?EDITOR='
|
||||
line: 'export EDITOR=vim'
|
||||
- regexp: '^(export )?SUDO_EDITOR='
|
||||
line: 'export SUDO_EDITOR=vim'
|
||||
|
||||
- name: Add functional alias to restart a service and show the log
|
||||
blockinfile:
|
||||
path: /root/.bashrc
|
||||
block: |
|
||||
pheonix() {
|
||||
systemctl restart $1;journalctl -fu $1
|
||||
}
|
||||
70
tasks/Debian.yml
Normal file
70
tasks/Debian.yml
Normal file
@ -0,0 +1,70 @@
|
||||
---
|
||||
- import_tasks: vim.yml
|
||||
|
||||
- name: Copy the global vim configuration
|
||||
ansible.builtin.copy:
|
||||
src: vimrc.local
|
||||
dest: /etc/vim/
|
||||
|
||||
- name: Ensure vim will source a global configuration file
|
||||
ansible.builtin.blockinfile:
|
||||
path: /etc/vim/vimrc
|
||||
marker: '" {mark} ANSIBLE MANAGED BLOCK'
|
||||
block: |
|
||||
set runtimepath+=/var/lib/vim/addons
|
||||
if filereadable("/etc/vimrc.local")
|
||||
source /etc/vimrc.local
|
||||
endif
|
||||
|
||||
- name: Ensure Debian sources .bash_aliases
|
||||
ansible.builtin.lineinfile:
|
||||
path: /root/.bashrc
|
||||
# regexp: '\.bash_aliases'
|
||||
line: 'source ~/.bash_aliases'
|
||||
|
||||
- name: Copy shell configuration
|
||||
ansible.builtin.copy:
|
||||
src: inputrc
|
||||
dest: "{{ item }}/.inputrc"
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.PWD }}/"
|
||||
|
||||
- name: Copy bash aliases
|
||||
ansible.builtin.copy:
|
||||
src: bash_aliases
|
||||
dest: "{{ item }}/.bash_aliases"
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.HOME }}/"
|
||||
|
||||
- name: Add root bashrc shell history configuration
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
regexp: '^(export )?HISTCONTROL='
|
||||
line: 'HISTCONTROL=ignoreboth'
|
||||
state: present
|
||||
|
||||
- name: Add root bashrc and vim configuration.
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
regexp: "{{ item.regexp }}"
|
||||
line: "{{ item.line }}"
|
||||
state: present
|
||||
with_items:
|
||||
- regexp: '^(export )?VISUAL='
|
||||
line: 'export VISUAL=vim.basic'
|
||||
- regexp: '^(export )?EDITOR='
|
||||
line: 'export EDITOR=vim.basic'
|
||||
- regexp: '^(export )?SUDO_EDITOR='
|
||||
line: 'export SUDO_EDITOR=vim.basic'
|
||||
|
||||
- name: Add functional alias to restart a service and show the log
|
||||
blockinfile:
|
||||
path: /root/.bashrc
|
||||
block: |
|
||||
pheonix() {
|
||||
systemctl restart $1;journalctl -fu $1
|
||||
}
|
||||
53
tasks/RedHat-7.yml
Normal file
53
tasks/RedHat-7.yml
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
- import_tasks: vim.yml
|
||||
|
||||
- name: Copy the global vim configuration
|
||||
ansible.builtin.copy:
|
||||
src: vimrc.local
|
||||
dest: /etc/
|
||||
|
||||
- name: Copy shell configuration
|
||||
ansible.builtin.copy:
|
||||
src: inputrc
|
||||
dest: "{{ dotfile_path }}/.inputrc"
|
||||
loop_control:
|
||||
loop_var: dotfile_path
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.PWD }}/"
|
||||
|
||||
- name: Install global bash aliases
|
||||
ansible.builtin.copy:
|
||||
src: bash_aliases
|
||||
dest: /etc/profile.d/zz_aliases.sh
|
||||
mode: '0755'
|
||||
|
||||
#- name: Add root bashrc shell history configuration
|
||||
# lineinfile:
|
||||
# path: /root/.bashrc
|
||||
# regexp: '^(export )?HISTCONTROL='
|
||||
# line: 'HISTCONTROL=ignoreboth'
|
||||
# state: present
|
||||
#
|
||||
#- name: Add root bashrc and vim configuration for RedHat
|
||||
# lineinfile:
|
||||
# path: /root/.bashrc
|
||||
# regexp: "{{ item.regexp }}"
|
||||
# line: "{{ item.line }}"
|
||||
# state: present
|
||||
# with_items:
|
||||
# - regexp: '^(export )?VISUAL='
|
||||
# line: 'export VISUAL=vim'
|
||||
# - regexp: '^(export )?EDITOR='
|
||||
# line: 'export EDITOR=vim'
|
||||
# - regexp: '^(export )?SUDO_EDITOR='
|
||||
# line: 'export SUDO_EDITOR=vim'
|
||||
#
|
||||
#- name: Add functional alias to restart a service and show the log
|
||||
# blockinfile:
|
||||
# path: /root/.bashrc
|
||||
# block: |
|
||||
# pheonix() {
|
||||
# systemctl restart $1;journalctl -fu $1
|
||||
# }
|
||||
65
tasks/Ubuntu.yml
Normal file
65
tasks/Ubuntu.yml
Normal file
@ -0,0 +1,65 @@
|
||||
---
|
||||
- import_tasks: vim.yml
|
||||
|
||||
- name: Copy the global vim configuration
|
||||
ansible.builtin.copy:
|
||||
src: vimrc.local
|
||||
dest: /etc/vim/
|
||||
|
||||
- name: Ensure vim will source a global configuration file
|
||||
ansible.builtin.blockinfile:
|
||||
path: /etc/vim/vimrc
|
||||
marker: '" {mark} ANSIBLE MANAGED BLOCK'
|
||||
block: |
|
||||
set runtimepath+=/var/lib/vim/addons
|
||||
if filereadable("/etc/vimrc.local")
|
||||
source /etc/vimrc.local
|
||||
endif
|
||||
|
||||
- name: Copy shell configuration
|
||||
ansible.builtin.copy:
|
||||
src: inputrc
|
||||
dest: "{{ item }}/.inputrc"
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.HOME }}/"
|
||||
|
||||
- name: Copy bash aliases
|
||||
ansible.builtin.copy:
|
||||
src: bash_aliases
|
||||
dest: "{{ item }}/.bash_aliases"
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.HOME }}/"
|
||||
|
||||
- name: Add root bashrc shell history configuration
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
regexp: '^(export )?HISTCONTROL='
|
||||
line: 'HISTCONTROL=ignoreboth'
|
||||
state: present
|
||||
|
||||
- name: Add root bashrc and vim configuration.
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
regexp: "{{ item.regexp }}"
|
||||
line: "{{ item.line }}"
|
||||
state: present
|
||||
with_items:
|
||||
- regexp: '^(export )?VISUAL='
|
||||
line: 'export VISUAL=vim.basic'
|
||||
- regexp: '^(export )?EDITOR='
|
||||
line: 'export EDITOR=vim.basic'
|
||||
- regexp: '^(export )?SUDO_EDITOR='
|
||||
line: 'export SUDO_EDITOR=vim.basic'
|
||||
when: ansible_os_family == 'Debian'
|
||||
|
||||
- name: Add functional alias to restart a service and show the log
|
||||
blockinfile:
|
||||
path: /root/.bashrc
|
||||
block: |
|
||||
pheonix() {
|
||||
systemctl restart $1;journalctl -fu $1
|
||||
}
|
||||
54
tasks/default.yml
Normal file
54
tasks/default.yml
Normal file
@ -0,0 +1,54 @@
|
||||
---
|
||||
- import_tasks: vim.yml
|
||||
|
||||
- name: Copy the global vim configuration
|
||||
ansible.builtin.copy:
|
||||
src: vimrc.local
|
||||
dest: /etc/
|
||||
|
||||
- name: Copy shell configuration
|
||||
ansible.builtin.copy:
|
||||
src: inputrc
|
||||
dest: "{{ item }}/.inputrc"
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.PWD }}/"
|
||||
|
||||
- name: Copy bash aliases
|
||||
ansible.builtin.copy:
|
||||
src: bash_aliases
|
||||
dest: "{{ item }}/.bash_aliases"
|
||||
loop:
|
||||
- /etc/skel
|
||||
- /root
|
||||
- "{{ ansible_env.HOME }}/"
|
||||
|
||||
- name: Add root bashrc shell history configuration
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
regexp: '^(export )?HISTCONTROL='
|
||||
line: 'HISTCONTROL=ignoreboth'
|
||||
state: present
|
||||
|
||||
- name: Add root bashrc and vim configuration for RedHat
|
||||
lineinfile:
|
||||
path: /root/.bashrc
|
||||
regexp: "{{ item.regexp }}"
|
||||
line: "{{ item.line }}"
|
||||
state: present
|
||||
with_items:
|
||||
- regexp: '^(export )?VISUAL='
|
||||
line: 'export VISUAL=vim'
|
||||
- regexp: '^(export )?EDITOR='
|
||||
line: 'export EDITOR=vim'
|
||||
- regexp: '^(export )?SUDO_EDITOR='
|
||||
line: 'export SUDO_EDITOR=vim'
|
||||
|
||||
- name: Add functional alias to restart a service and show the log
|
||||
blockinfile:
|
||||
path: /root/.bashrc
|
||||
block: |
|
||||
pheonix() {
|
||||
systemctl restart $1;journalctl -fu $1
|
||||
}
|
||||
18
tasks/main.yml
Normal file
18
tasks/main.yml
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
- name: Show (ansible_distribution)-(ansible_facts.distribution_major_version)
|
||||
debug:
|
||||
msg: "{{ ansible_distribution }}-{{ ansible_facts.distribution_major_version }}.yml"
|
||||
|
||||
- name: Run tasks based on the OS type, or a default if not found.
|
||||
include_tasks:
|
||||
file: "{{ task_target }}"
|
||||
apply:
|
||||
become: yes
|
||||
loop_control:
|
||||
loop_var: task_target
|
||||
with_first_found:
|
||||
- "{{ ansible_distribution }}-{{ ansible_facts.distribution_major_version }}.yml"
|
||||
- "{{ ansible_distribution }}.yml"
|
||||
- "{{ ansible_os_family }}.yml"
|
||||
- "default.yml"
|
||||
|
||||
10
tasks/vim.yml
Normal file
10
tasks/vim.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
- name: Ensure a path for vim addons exists.
|
||||
ansible.builtin.file:
|
||||
path: /var/lib/vim/addons/colors
|
||||
state: directory
|
||||
|
||||
- name: Copy the vim colorscheme
|
||||
ansible.builtin.copy:
|
||||
src: ir_black.vim
|
||||
dest: /var/lib/vim/addons/colors/
|
||||
Loading…
x
Reference in New Issue
Block a user