commit a1e8f2391a11fb022d2ceee92e50a226bdb0e768 Author: pleb Date: Fri Jan 23 13:01:09 2026 -0800 init dotfiles repo diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c299f95 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +archive +authorized_keys \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..d123288 --- /dev/null +++ b/README.md @@ -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` \ No newline at end of file diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..3356edd --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,2 @@ +--- +sysadmin_username: admin diff --git a/files/bash_aliases b/files/bash_aliases new file mode 100644 index 0000000..80d2c2f --- /dev/null +++ b/files/bash_aliases @@ -0,0 +1,2 @@ +alias ll='ls -AlF --group-directories-first' +alias l='ls -lF --group-directories-first' diff --git a/files/inputrc b/files/inputrc new file mode 100644 index 0000000..ac01a21 --- /dev/null +++ b/files/inputrc @@ -0,0 +1,2 @@ +set completion-ignore-case On +set mark-directories On diff --git a/files/ir_black.vim b/files/ir_black.vim new file mode 100644 index 0000000..c642f57 --- /dev/null +++ b/files/ir_black.vim @@ -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 diff --git a/files/vim.sh b/files/vim.sh new file mode 100644 index 0000000..a3ff7ce --- /dev/null +++ b/files/vim.sh @@ -0,0 +1,2 @@ +export VISUAL=vim.basic +export EDITOR=vim.basic diff --git a/files/vimrc.local b/files/vimrc.local new file mode 100644 index 0000000..0802c5e --- /dev/null +++ b/files/vimrc.local @@ -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 and +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:~" + diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..6f11e52 --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: restart ssh + service: name=sshd state=restarted \ No newline at end of file diff --git a/meta/.galaxy_install_info b/meta/.galaxy_install_info new file mode 100644 index 0000000..285c3e9 --- /dev/null +++ b/meta/.galaxy_install_info @@ -0,0 +1,2 @@ +install_date: 'Mon 06 Jan 2025 07:19:19 PM ' +version: '' diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..6099501 --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,2 @@ +--- +dependencies: [] \ No newline at end of file diff --git a/tasks/ArchLinux.yml b/tasks/ArchLinux.yml new file mode 100644 index 0000000..76c9c66 --- /dev/null +++ b/tasks/ArchLinux.yml @@ -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 + } \ No newline at end of file diff --git a/tasks/Debian.yml b/tasks/Debian.yml new file mode 100644 index 0000000..517e0ca --- /dev/null +++ b/tasks/Debian.yml @@ -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 + } \ No newline at end of file diff --git a/tasks/RedHat-7.yml b/tasks/RedHat-7.yml new file mode 100644 index 0000000..9277419 --- /dev/null +++ b/tasks/RedHat-7.yml @@ -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 +# } \ No newline at end of file diff --git a/tasks/Ubuntu.yml b/tasks/Ubuntu.yml new file mode 100644 index 0000000..1a137e1 --- /dev/null +++ b/tasks/Ubuntu.yml @@ -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 + } \ No newline at end of file diff --git a/tasks/default.yml b/tasks/default.yml new file mode 100644 index 0000000..fac6c0f --- /dev/null +++ b/tasks/default.yml @@ -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 + } \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..d61e34e --- /dev/null +++ b/tasks/main.yml @@ -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" + diff --git a/tasks/vim.yml b/tasks/vim.yml new file mode 100644 index 0000000..83f35a3 --- /dev/null +++ b/tasks/vim.yml @@ -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/