ansible: refactor tasks into a common role
This commit is contained in:
parent
5b30d96507
commit
3542f4a741
43 changed files with 256 additions and 332 deletions
2
.gitattributes
vendored
2
.gitattributes
vendored
|
@ -1 +1 @@
|
||||||
roles/ssh/files/config filter=git-crypt diff=git-crypt
|
roles/common/files/ssh_config filter=git-crypt diff=git-crypt
|
||||||
|
|
|
@ -23,7 +23,7 @@ sudo apt-get install ansible
|
||||||
echo -e "Host git.schauenburg.me\nUser git\nPort 587" >>~/.ssh/config
|
echo -e "Host git.schauenburg.me\nUser git\nPort 587" >>~/.ssh/config
|
||||||
git clone git@git.schauenburg.me:fernando/dotfiles.git $HOME/.dotfiles
|
git clone git@git.schauenburg.me:fernando/dotfiles.git $HOME/.dotfiles
|
||||||
cd $HOME/.dotfiles
|
cd $HOME/.dotfiles
|
||||||
ansible-playbook -i hosts.ini dotfiles.yml
|
ansible-playbook -i inventory dotfiles.yml
|
||||||
gpg -d --output - <(base64 -d .key) | git crypt unlock -
|
gpg -d --output - <(base64 -d .key) | git crypt unlock -
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
27
dotfiles.yml
27
dotfiles.yml
|
@ -1,23 +1,12 @@
|
||||||
- name: Make myself at home :)
|
- name: Make myself at home :)
|
||||||
hosts: dotfiles
|
hosts: dotfiles
|
||||||
vars_prompt:
|
# vars_prompt:
|
||||||
- name: git_user
|
# - name: git_user
|
||||||
private: no
|
# private: no
|
||||||
default: Fernando Schauenburg
|
# default: Fernando Schauenburg
|
||||||
- name: git_email
|
# - name: git_email
|
||||||
private: no
|
# private: no
|
||||||
default: fernando@schauenburg.me
|
# default: fernando@schauenburg.me
|
||||||
roles:
|
roles:
|
||||||
- packages
|
- common
|
||||||
- bin
|
|
||||||
- bash
|
|
||||||
- dircolors
|
|
||||||
- git
|
|
||||||
- hushlogin
|
|
||||||
- mintty
|
|
||||||
- python
|
|
||||||
- readline
|
|
||||||
- ssh
|
|
||||||
- tmux
|
|
||||||
- vim
|
|
||||||
|
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
- name: Install latest bash with apt
|
|
||||||
when: ansible_os_family == "Debian"
|
|
||||||
become: yes
|
|
||||||
apt:
|
|
||||||
update_cache: yes
|
|
||||||
state: latest
|
|
||||||
name:
|
|
||||||
- bash
|
|
||||||
- bash-completion
|
|
||||||
|
|
||||||
|
|
||||||
- name: Install latest bash with homebrew
|
|
||||||
when: ansible_os_family == "Darwin"
|
|
||||||
homebrew:
|
|
||||||
state: latest
|
|
||||||
name:
|
|
||||||
- bash
|
|
||||||
- bash-completion
|
|
||||||
|
|
||||||
|
|
||||||
- name: Remove pre-installed bash configurations which could cause conflicts
|
|
||||||
file:
|
|
||||||
path: ~/{{ item }}
|
|
||||||
state: absent
|
|
||||||
loop:
|
|
||||||
- .bash_logout
|
|
||||||
- .profile
|
|
||||||
|
|
||||||
|
|
||||||
- name: Ensure existence of directories used in bashrc
|
|
||||||
file:
|
|
||||||
path: ~/{{ item }}
|
|
||||||
state: directory
|
|
||||||
loop:
|
|
||||||
- .config/bash
|
|
||||||
- .local/share/bash
|
|
||||||
- .local/share/bash-completion/completions
|
|
||||||
- .local/share/less
|
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy bash profile
|
|
||||||
file:
|
|
||||||
src: "{{ role_path }}/files/profile"
|
|
||||||
dest: ~/.config/bash/profile
|
|
||||||
state: link
|
|
||||||
force: yes
|
|
||||||
|
|
||||||
|
|
||||||
- name: Make sure bash will find our profile
|
|
||||||
file:
|
|
||||||
src: ~/.config/bash/profile
|
|
||||||
dest: ~/.{{ item }}
|
|
||||||
state: link
|
|
||||||
force: yes
|
|
||||||
loop:
|
|
||||||
- .bashrc
|
|
||||||
- .bash_profile
|
|
|
@ -89,7 +89,7 @@ endif
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
" Plugins {{{
|
" Plugins {{{
|
||||||
call plug#begin('$XDG_CONFIG_HOME/vim/bundle')
|
call plug#begin('$XDG_DATA_HOME/vim/plugged')
|
||||||
Plug 'altercation/vim-colors-solarized'
|
Plug 'altercation/vim-colors-solarized'
|
||||||
Plug 'bronson/vim-trailing-whitespace'
|
Plug 'bronson/vim-trailing-whitespace'
|
||||||
Plug 'elzr/vim-json'
|
Plug 'elzr/vim-json'
|
30
roles/common/tasks/bash.yml
Normal file
30
roles/common/tasks/bash.yml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
- name: bash | remove pre-installed profile
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: absent
|
||||||
|
loop:
|
||||||
|
- ~/.bash_logout
|
||||||
|
- ~/.profile
|
||||||
|
|
||||||
|
|
||||||
|
- name: bash | ensure existence of directories used in bashrc
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
loop:
|
||||||
|
- ~/.local/share/bash # for bash history
|
||||||
|
- ~/.local/share/bash-completion/completions # for custom completions
|
||||||
|
- ~/.local/share/less # for less history
|
||||||
|
|
||||||
|
|
||||||
|
- name: bash | deploy bash profile
|
||||||
|
file:
|
||||||
|
src: "{{ role_path }}/files/bashrc"
|
||||||
|
dest: "{{ item }}"
|
||||||
|
state: link
|
||||||
|
force: yes
|
||||||
|
loop:
|
||||||
|
- ~/.bash_profile # executed for login shells
|
||||||
|
- ~/.bashrc # executed for interactve shells
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
- name: Create local bin directory
|
---
|
||||||
|
- name: bin | create ~/.local/bin
|
||||||
file:
|
file:
|
||||||
path: ~/.local/bin
|
path: ~/.local/bin
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy local commands
|
- name: bin | deploy local commands
|
||||||
file:
|
file:
|
||||||
src: "{{ item }}"
|
src: "{{ item }}"
|
||||||
dest: ~/.local/bin/{{ item | basename }}
|
dest: ~/.local/bin/{{ item | basename }}
|
||||||
state: link
|
state: link
|
||||||
force: yes
|
force: yes
|
||||||
with_fileglob:
|
with_fileglob:
|
||||||
- "{{ role_path }}/files/*"
|
- "{{ role_path }}/files/bin/*"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
- name: Create the dircolors config directory
|
---
|
||||||
|
- name: dircolors | create config directory
|
||||||
file:
|
file:
|
||||||
path: ~/.config/dircolors
|
path: ~/.config/dircolors
|
||||||
state: directory
|
state: directory
|
||||||
|
@ -11,5 +12,5 @@
|
||||||
state: link
|
state: link
|
||||||
force: yes
|
force: yes
|
||||||
with_fileglob:
|
with_fileglob:
|
||||||
- "{{ role_path }}/files/*"
|
- "{{ role_path }}/files/dircolors/*"
|
||||||
|
|
26
roles/common/tasks/git.yml
Normal file
26
roles/common/tasks/git.yml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
- name: git | create config directories
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
loop:
|
||||||
|
- ~/.config/git
|
||||||
|
- ~/.local/etc/git
|
||||||
|
|
||||||
|
|
||||||
|
- name: git | deploy config
|
||||||
|
file:
|
||||||
|
src: "{{ role_path }}/files/{{ item.src }}"
|
||||||
|
dest: ~/.config/git/{{ item.dest }}
|
||||||
|
state: link
|
||||||
|
force: yes
|
||||||
|
loop:
|
||||||
|
- { src: gitconfig, dest: config }
|
||||||
|
- { src: gitignore, dest: ignore }
|
||||||
|
|
||||||
|
|
||||||
|
- name: git | deploy host-specific config
|
||||||
|
template:
|
||||||
|
src: gitconfig.host.j2
|
||||||
|
dest: ~/.local/etc/git/config.host
|
||||||
|
|
13
roles/common/tasks/hushlogin.yml
Normal file
13
roles/common/tasks/hushlogin.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
- name: hushlogin | exists?
|
||||||
|
stat:
|
||||||
|
path: ~/.hushlogin
|
||||||
|
register: hush
|
||||||
|
|
||||||
|
|
||||||
|
- name: hushlogin | create
|
||||||
|
when: hush.stat.exists == false
|
||||||
|
file:
|
||||||
|
path: ~/.hushlogin
|
||||||
|
state: touch
|
||||||
|
|
15
roles/common/tasks/main.yml
Normal file
15
roles/common/tasks/main.yml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
- block:
|
||||||
|
# - import_tasks: bash.yml
|
||||||
|
# - import_tasks: bin.yml
|
||||||
|
# - import_tasks: dircolors.yml
|
||||||
|
# - import_tasks: git.yml
|
||||||
|
# - import_tasks: hushlogin.yml
|
||||||
|
# - import_tasks: mintty.yml
|
||||||
|
- import_tasks: packages.yml # TODO
|
||||||
|
# - import_tasks: python.yml
|
||||||
|
# - import_tasks: readline.yml
|
||||||
|
# - import_tasks: ssh.yml
|
||||||
|
# - import_tasks: tmux.yml
|
||||||
|
# - import_tasks: vim.yml
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
- name: Create the mintty config directory
|
---
|
||||||
|
- name: mintty | create config directory
|
||||||
file:
|
file:
|
||||||
path: ~/.config/mintty
|
path: ~/.config/mintty
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy mintty config
|
- name: mintty | deploy config
|
||||||
file:
|
file:
|
||||||
src: "{{ role_path }}/files/config"
|
src: "{{ role_path }}/files/minttyrc"
|
||||||
dest: ~/.config/mintty/config
|
dest: ~/.config/mintty/config
|
||||||
state: link
|
state: link
|
||||||
force: yes
|
force: yes
|
73
roles/common/tasks/packages.yml
Normal file
73
roles/common/tasks/packages.yml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
---
|
||||||
|
- name: debian | install apt packages
|
||||||
|
when: ansible_facts['os_family']|lower == "debian"
|
||||||
|
become: yes
|
||||||
|
apt:
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
name:
|
||||||
|
- bash
|
||||||
|
- bash-completion
|
||||||
|
- curl
|
||||||
|
- exa
|
||||||
|
- exuberant-ctags
|
||||||
|
- ffmpeg
|
||||||
|
- git
|
||||||
|
- git-crypt
|
||||||
|
- git-lfs
|
||||||
|
- gpg
|
||||||
|
- htop
|
||||||
|
- nmap
|
||||||
|
- psmisc
|
||||||
|
- python3
|
||||||
|
- python3-pip
|
||||||
|
- shellcheck
|
||||||
|
- sqlite
|
||||||
|
- stow
|
||||||
|
- tmux
|
||||||
|
- tree
|
||||||
|
- vifm
|
||||||
|
- vim
|
||||||
|
- wget
|
||||||
|
- youtube-dl
|
||||||
|
|
||||||
|
|
||||||
|
- name: macOS | install homebrew packages
|
||||||
|
when: ansible_facts['os_family']|lower == "darwin"
|
||||||
|
homebrew:
|
||||||
|
state: latest
|
||||||
|
name:
|
||||||
|
- bash
|
||||||
|
- bash-completion
|
||||||
|
- coreutils
|
||||||
|
- ctags
|
||||||
|
- curl
|
||||||
|
- exa
|
||||||
|
- exiftool
|
||||||
|
- ffmpeg
|
||||||
|
- findutils
|
||||||
|
- git
|
||||||
|
- git-crypt
|
||||||
|
- git-lfs
|
||||||
|
- gnu-sed
|
||||||
|
- gpg
|
||||||
|
- grep
|
||||||
|
- gzip
|
||||||
|
- htop
|
||||||
|
- imagemagick
|
||||||
|
- jupyter
|
||||||
|
- make
|
||||||
|
- nmap
|
||||||
|
- pstree
|
||||||
|
- python3
|
||||||
|
- reattach-to-user-namespace
|
||||||
|
- shellcheck
|
||||||
|
- sqlite
|
||||||
|
- stow
|
||||||
|
- tmux
|
||||||
|
- tree
|
||||||
|
- vifm
|
||||||
|
- vim
|
||||||
|
- wget
|
||||||
|
- youtube-dl
|
||||||
|
|
17
roles/common/tasks/python.yml
Normal file
17
roles/common/tasks/python.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
- name: python | create config and data directories
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
loop:
|
||||||
|
- ~/.config/python
|
||||||
|
- ~/.local/share/python # for this history file
|
||||||
|
|
||||||
|
|
||||||
|
- name: python | deploy startup file
|
||||||
|
file:
|
||||||
|
src: "{{ role_path }}/files/python-startup.py"
|
||||||
|
dest: ~/.config/python/startup.py
|
||||||
|
state: link
|
||||||
|
force: yes
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
- name: Create the readline config directory
|
---
|
||||||
|
- name: readline | create config directory
|
||||||
file:
|
file:
|
||||||
path: ~/.config/readline
|
path: ~/.config/readline
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy inputrc
|
- name: readline | deploy inputrc
|
||||||
file:
|
file:
|
||||||
src: "{{ role_path }}/files/inputrc"
|
src: "{{ role_path }}/files/inputrc"
|
||||||
dest: ~/.config/readline/inputrc
|
dest: ~/.config/readline/inputrc
|
14
roles/common/tasks/ssh.yml
Normal file
14
roles/common/tasks/ssh.yml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
- name: ssh | create config diretory
|
||||||
|
file:
|
||||||
|
path: ~/.ssh
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
|
||||||
|
- name: ssh | deploy config
|
||||||
|
file:
|
||||||
|
src: "{{ role_path }}/files/ssh_config"
|
||||||
|
dest: ~/.ssh/config
|
||||||
|
state: link
|
||||||
|
force: yes
|
||||||
|
|
17
roles/common/tasks/tmux.yml
Normal file
17
roles/common/tasks/tmux.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
- name: tmux | create config directory
|
||||||
|
file:
|
||||||
|
path: ~/.config/tmux
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
|
||||||
|
- name: tmux | deploy config
|
||||||
|
file:
|
||||||
|
src: "{{ role_path }}/files/{{ item }}"
|
||||||
|
dest: ~/.config/tmux/{{ item }}
|
||||||
|
state: link
|
||||||
|
force: yes
|
||||||
|
loop:
|
||||||
|
- tmux.conf
|
||||||
|
- tmux-colors.conf
|
||||||
|
|
26
roles/common/tasks/vim.yml
Normal file
26
roles/common/tasks/vim.yml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
- name: vim | create directories
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
loop:
|
||||||
|
- ~/.config/vim # for vimrc
|
||||||
|
- ~/.config/vim/autoload # for plugin manager
|
||||||
|
- ~/.local/share/vim # for viminfo
|
||||||
|
- ~/.local/share/vim/plugged # for installing uplugins
|
||||||
|
|
||||||
|
|
||||||
|
- name: vim | deploy configuration
|
||||||
|
file:
|
||||||
|
src: "{{ role_path }}/files/{{ item.src }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
state: link
|
||||||
|
force: yes
|
||||||
|
loop:
|
||||||
|
- { src: vimrc, dest: ~/.config/vim/vimrc }
|
||||||
|
- { src: plug.vim, dest: ~/.config/vim/autoload/plug.vim }
|
||||||
|
|
||||||
|
|
||||||
|
- name: vim | install plugins
|
||||||
|
shell: vim -es -u ~/.config/vim/vimrc +PlugInstall +qall
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
- name: Install git with apt
|
|
||||||
when: ansible_os_family == "Debian"
|
|
||||||
become: yes
|
|
||||||
apt:
|
|
||||||
update_cache: yes
|
|
||||||
state: latest
|
|
||||||
name:
|
|
||||||
- git
|
|
||||||
- git-crypt
|
|
||||||
- git-lfs
|
|
||||||
|
|
||||||
|
|
||||||
- name: Install git with homebrew
|
|
||||||
when: ansible_os_family == "Darwin"
|
|
||||||
homebrew:
|
|
||||||
state: latest
|
|
||||||
name:
|
|
||||||
- git
|
|
||||||
- git-crypt
|
|
||||||
- git-lfs
|
|
||||||
|
|
||||||
|
|
||||||
- name: Create the git config directories
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
loop:
|
|
||||||
- ~/.config/git
|
|
||||||
- ~/.local/bin
|
|
||||||
- ~/.local/etc/git
|
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy git config
|
|
||||||
file:
|
|
||||||
src: "{{ role_path }}/files/{{ item }}"
|
|
||||||
dest: ~/.config/git/{{ item }}
|
|
||||||
state: link
|
|
||||||
force: yes
|
|
||||||
loop:
|
|
||||||
- config
|
|
||||||
- ignore
|
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy git host-specific config
|
|
||||||
template:
|
|
||||||
src: config.host.j2
|
|
||||||
dest: ~/.local/etc/git/config.host
|
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy additional git commands
|
|
||||||
file:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "~/.local/bin/{{ item | basename }}"
|
|
||||||
state: link
|
|
||||||
force: yes
|
|
||||||
with_fileglob:
|
|
||||||
- "{{ role_path }}/files/bin/*"
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
- name: Make sure hushlogin exists
|
|
||||||
file:
|
|
||||||
path: ~/.hushlogin
|
|
||||||
state: touch
|
|
||||||
|
|
|
@ -1,59 +0,0 @@
|
||||||
- name: Set up Debian machine
|
|
||||||
when: ansible_os_family == "Debian"
|
|
||||||
become: yes
|
|
||||||
block:
|
|
||||||
- name: Install apt packages
|
|
||||||
apt:
|
|
||||||
update_cache: yes
|
|
||||||
state: latest
|
|
||||||
name:
|
|
||||||
- curl
|
|
||||||
- exa
|
|
||||||
- exuberant-ctags
|
|
||||||
- ffmpeg
|
|
||||||
- gpg
|
|
||||||
- htop
|
|
||||||
- nmap
|
|
||||||
- psmisc
|
|
||||||
- shellcheck
|
|
||||||
- sqlite
|
|
||||||
- stow
|
|
||||||
- tree
|
|
||||||
- vifm
|
|
||||||
- wget
|
|
||||||
- youtube-dl
|
|
||||||
|
|
||||||
|
|
||||||
- name: Set up macOS machine
|
|
||||||
when: ansible_os_family == "Darwin"
|
|
||||||
block:
|
|
||||||
- name: Install homebrew packages
|
|
||||||
homebrew:
|
|
||||||
state: latest
|
|
||||||
name:
|
|
||||||
- coreutils
|
|
||||||
- ctags
|
|
||||||
- curl
|
|
||||||
- exa
|
|
||||||
- exiftool
|
|
||||||
- ffmpeg
|
|
||||||
- findutils
|
|
||||||
- gnu-sed
|
|
||||||
- gpg
|
|
||||||
- grep
|
|
||||||
- gzip
|
|
||||||
- htop
|
|
||||||
- imagemagick
|
|
||||||
- jupyter
|
|
||||||
- make
|
|
||||||
- nmap
|
|
||||||
- pstree
|
|
||||||
- reattach-to-user-namespace
|
|
||||||
- shellcheck
|
|
||||||
- sqlite
|
|
||||||
- stow
|
|
||||||
- tree
|
|
||||||
- vifm
|
|
||||||
- wget
|
|
||||||
- youtube-dl
|
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
- name: Install python3 with apt
|
|
||||||
when: ansible_os_family == "Debian"
|
|
||||||
become: yes
|
|
||||||
apt:
|
|
||||||
update_cache: yes
|
|
||||||
state: latest
|
|
||||||
name:
|
|
||||||
- python3
|
|
||||||
- python3-pip
|
|
||||||
|
|
||||||
|
|
||||||
- name: Install python3 with homebrew
|
|
||||||
when: ansible_os_family == "Darwin"
|
|
||||||
homebrew:
|
|
||||||
name: python3
|
|
||||||
state: latest
|
|
||||||
|
|
||||||
|
|
||||||
- name: Create the python config and data directories
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
loop:
|
|
||||||
- ~/.config/python
|
|
||||||
- ~/.local/share/python # for this history file
|
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy python startup file
|
|
||||||
file:
|
|
||||||
src: "{{ role_path }}/files/startup.py"
|
|
||||||
dest: ~/.config/python/startup.py
|
|
||||||
state: link
|
|
||||||
force: yes
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
- name: Create the SSH directory
|
|
||||||
file:
|
|
||||||
path: ~/.ssh
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy SSH config
|
|
||||||
file:
|
|
||||||
src: "{{ role_path }}/files/config"
|
|
||||||
dest: ~/.ssh/config
|
|
||||||
state: link
|
|
||||||
force: yes
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
- name: Install tmux with apt
|
|
||||||
when: ansible_os_family == "Debian"
|
|
||||||
become: yes
|
|
||||||
apt:
|
|
||||||
name: tmux
|
|
||||||
state: latest
|
|
||||||
update_cache: yes
|
|
||||||
|
|
||||||
|
|
||||||
- name: Install tmux with homebrew
|
|
||||||
when: ansible_os_family == "Darwin"
|
|
||||||
homebrew:
|
|
||||||
name: tmux
|
|
||||||
state: latest
|
|
||||||
|
|
||||||
|
|
||||||
- name: Create the tmux config directory
|
|
||||||
file:
|
|
||||||
path: ~/.config/tmux
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy tmux config
|
|
||||||
file:
|
|
||||||
src: "{{ role_path }}/files/{{ item }}"
|
|
||||||
dest: ~/.config/tmux/{{ item }}
|
|
||||||
state: link
|
|
||||||
force: yes
|
|
||||||
loop:
|
|
||||||
- tmux.conf
|
|
||||||
- tmux-colors.conf
|
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
- name: Install vim with apt
|
|
||||||
when: ansible_os_family == "Debian"
|
|
||||||
become: yes
|
|
||||||
apt:
|
|
||||||
name: vim
|
|
||||||
state: latest
|
|
||||||
update_cache: yes
|
|
||||||
|
|
||||||
|
|
||||||
- name: Install vim with homebrew
|
|
||||||
when: ansible_os_family == "Darwin"
|
|
||||||
homebrew:
|
|
||||||
name: vim
|
|
||||||
state: latest
|
|
||||||
|
|
||||||
|
|
||||||
- name: Create the vim cache and config directories
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
loop:
|
|
||||||
- ~/.cache/vim
|
|
||||||
- ~/.config/vim
|
|
||||||
- ~/.config/vim/autoload
|
|
||||||
|
|
||||||
|
|
||||||
- name: Deploy vim-plug and vimrc
|
|
||||||
file:
|
|
||||||
src: "{{ role_path }}/files/{{ item.src }}"
|
|
||||||
dest: ~/.config/vim/{{ item.dest }}
|
|
||||||
state: link
|
|
||||||
force: yes
|
|
||||||
loop:
|
|
||||||
- src: plug.vim
|
|
||||||
dest: autoload/plug.vim
|
|
||||||
- src: vimrc
|
|
||||||
dest: vimrc
|
|
||||||
|
|
||||||
|
|
||||||
- name: Install configured vim plugins
|
|
||||||
shell: vim -u "~/.config/vim/vimrc" +PlugInstall +qall
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue