From 6d415e7d0ec15a9963cfd630644dc9930b014fd4 Mon Sep 17 00:00:00 2001 From: Fernando Schauenburg Date: Tue, 22 Dec 2020 12:58:54 +0100 Subject: [PATCH] ansible: simplify common role --- roles/common/tasks/bash.yml | 30 --------- roles/common/tasks/bin.yml | 16 ----- roles/common/tasks/dircolors.yml | 16 ----- roles/common/tasks/git.yml | 26 -------- roles/common/tasks/hushlogin.yml | 13 ---- roles/common/tasks/main.yml | 111 +++++++++++++++++++++++++++---- roles/common/tasks/mintty.yml | 14 ---- roles/common/tasks/python.yml | 17 ----- roles/common/tasks/readline.yml | 14 ---- roles/common/tasks/ssh.yml | 14 ---- roles/common/tasks/tmux.yml | 17 ----- roles/common/tasks/vim.yml | 26 -------- 12 files changed, 98 insertions(+), 216 deletions(-) delete mode 100644 roles/common/tasks/bash.yml delete mode 100644 roles/common/tasks/bin.yml delete mode 100644 roles/common/tasks/dircolors.yml delete mode 100644 roles/common/tasks/git.yml delete mode 100644 roles/common/tasks/hushlogin.yml delete mode 100644 roles/common/tasks/mintty.yml delete mode 100644 roles/common/tasks/python.yml delete mode 100644 roles/common/tasks/readline.yml delete mode 100644 roles/common/tasks/ssh.yml delete mode 100644 roles/common/tasks/tmux.yml delete mode 100644 roles/common/tasks/vim.yml diff --git a/roles/common/tasks/bash.yml b/roles/common/tasks/bash.yml deleted file mode 100644 index 9b7ff05..0000000 --- a/roles/common/tasks/bash.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -- 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 - diff --git a/roles/common/tasks/bin.yml b/roles/common/tasks/bin.yml deleted file mode 100644 index 2bb5ca3..0000000 --- a/roles/common/tasks/bin.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: bin | create ~/.local/bin - file: - path: ~/.local/bin - state: directory - - -- name: bin | deploy local commands - file: - src: "{{ item }}" - dest: ~/.local/bin/{{ item | basename }} - state: link - force: yes - with_fileglob: - - "{{ role_path }}/files/bin/*" - diff --git a/roles/common/tasks/dircolors.yml b/roles/common/tasks/dircolors.yml deleted file mode 100644 index efe148c..0000000 --- a/roles/common/tasks/dircolors.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: dircolors | create config directory - file: - path: ~/.config/dircolors - state: directory - - -- name: Deploy dircolors - file: - src: "{{ item }}" - dest: ~/.config/dircolors/{{ item | basename }} - state: link - force: yes - with_fileglob: - - "{{ role_path }}/files/dircolors/*" - diff --git a/roles/common/tasks/git.yml b/roles/common/tasks/git.yml deleted file mode 100644 index 6901837..0000000 --- a/roles/common/tasks/git.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- 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 - diff --git a/roles/common/tasks/hushlogin.yml b/roles/common/tasks/hushlogin.yml deleted file mode 100644 index a9eb644..0000000 --- a/roles/common/tasks/hushlogin.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: hushlogin | exists? - stat: - path: ~/.hushlogin - register: hush - - -- name: hushlogin | create - when: hush.stat.exists == false - file: - path: ~/.hushlogin - state: touch - diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index 7dc4c1f..9f175e3 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -1,15 +1,100 @@ --- -- 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 +- name: remove pre-installed bash profile + file: + path: "{{ item }}" + state: absent + loop: + - ~/.bash_logout + - ~/.profile + + +- name: ensure existence of directories used by dotfiles + file: + path: "{{ item }}" + state: directory + loop: + - ~/.config/dircolors + - ~/.config/git + - ~/.config/mintty + - ~/.config/python + - ~/.config/readline + - ~/.config/tmux + - ~/.config/vim + - ~/.config/vim/autoload # vim plugin manager + - ~/.local/bin # local commands + - ~/.local/etc/git # local git config + - ~/.local/share/bash # for bash history + - ~/.local/share/bash-completion/completions # custom bash completions + - ~/.local/share/less # less history + - ~/.local/share/python # python history + - ~/.local/share/vim # viminfo + - ~/.local/share/vim/plugged # vim plugins + - ~/.ssh + + +- name: link dotfiles + file: + src: "{{ role_path }}/files/{{ item.src }}" + dest: "{{ item.dest }}" + state: link + force: yes + loop: + - { src: bashrc, dest: ~/.bash_profile } + - { src: bashrc, dest: ~/.bashrc } + - { src: gitconfig, dest: ~/.config/git/config } + - { src: gitignore, dest: ~/.config/git/ignore } + - { src: inputrc, dest: ~/.config/readline/inputrc } + - { src: minttyrc, dest: ~/.config/mintty/config } + - { src: plug.vim, dest: ~/.config/vim/autoload/plug.vim } + - { src: python-startup.py, dest: ~/.config/python/startup.py } + - { src: ssh_config, dest: ~/.ssh/config } + - { src: tmux-colors.conf, dest: ~/.config/tmux/tmux-colors.conf } + - { src: tmux.conf, dest: ~/.config/tmux/tmux.conf } + - { src: vimrc, dest: ~/.config/vim/vimrc } + + +- name: deploy templates + template: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - src: gitconfig.host.j2 + dest: ~/.local/etc/git/config.host + + +- name: link local commands + file: + src: "{{ item }}" + dest: ~/.local/bin/{{ item | basename }} + state: link + force: yes + with_fileglob: + - "{{ role_path }}/files/bin/*" + + +- name: link dircolors + file: + src: "{{ item }}" + dest: ~/.config/dircolors/{{ item | basename }} + state: link + force: yes + with_fileglob: + - "{{ role_path }}/files/dircolors/*" + + +- block: + - name: hushlogin exists? + stat: + path: ~/.hushlogin + register: hush + + - name: create hushlogin + when: hush.stat.exists == false + file: + path: ~/.hushlogin + state: touch + + +- name: install vim plugins + shell: vim -es -u ~/.config/vim/vimrc +PlugInstall +qall diff --git a/roles/common/tasks/mintty.yml b/roles/common/tasks/mintty.yml deleted file mode 100644 index 3a69580..0000000 --- a/roles/common/tasks/mintty.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: mintty | create config directory - file: - path: ~/.config/mintty - state: directory - - -- name: mintty | deploy config - file: - src: "{{ role_path }}/files/minttyrc" - dest: ~/.config/mintty/config - state: link - force: yes - diff --git a/roles/common/tasks/python.yml b/roles/common/tasks/python.yml deleted file mode 100644 index 204b27c..0000000 --- a/roles/common/tasks/python.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- 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 - diff --git a/roles/common/tasks/readline.yml b/roles/common/tasks/readline.yml deleted file mode 100644 index 0b6eb3d..0000000 --- a/roles/common/tasks/readline.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: readline | create config directory - file: - path: ~/.config/readline - state: directory - - -- name: readline | deploy inputrc - file: - src: "{{ role_path }}/files/inputrc" - dest: ~/.config/readline/inputrc - state: link - force: yes - diff --git a/roles/common/tasks/ssh.yml b/roles/common/tasks/ssh.yml deleted file mode 100644 index 32677b7..0000000 --- a/roles/common/tasks/ssh.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- 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 - diff --git a/roles/common/tasks/tmux.yml b/roles/common/tasks/tmux.yml deleted file mode 100644 index 2b2b99b..0000000 --- a/roles/common/tasks/tmux.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- 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 - diff --git a/roles/common/tasks/vim.yml b/roles/common/tasks/vim.yml deleted file mode 100644 index a2520ca..0000000 --- a/roles/common/tasks/vim.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- 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 -