1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_dotfiles.git synced 2024-08-16 16:09:49 +02:00
ansible_role_dotfiles/tasks/main.yml
2019-05-19 20:23:55 +02:00

136 lines
3.3 KiB
YAML

---
- name: Create directory for versionscheck
become: yes
file:
path: '/etc/ansible-version'
state: directory
mode: 0755
when: submodules_versioncheck|bool
- name: check playbook version
become: yes
slurp:
src: "{{ playbook_version_path }}"
register: playbook_version
when: submodules_versioncheck|bool
ignore_errors: yes
- name: Print local version
debug:
msg: "Local role version: '{{ playbook_version_number|string }}'."
when: submodules_versioncheck|bool
- name: Print remote version
debug:
msg: "Remote role version: '{{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}'."
when: submodules_versioncheck|bool
- name: Check if your version is outdated
fail:
msg: "Your current ansible module has the version '{{ playbook_version_number }}' and is outdated. Please update it!"
when:
- playbook_version.content|default("Mgo=")|b64decode|int - 1 >= playbook_version_number|int and submodules_versioncheck|bool
- name: write new version to remote disk
become: yes
copy:
content: "{{ playbook_version_number }}"
dest: "{{ playbook_version_path }}"
when: submodules_versioncheck|bool
- name: install the latest libselinux-python package
become: yes
dnf:
name: libselinux-python
state: latest
when:
- ansible_distribution == "Fedora"
- name: install keychain to support ssh agent
become: yes
package:
name: keychain
state: latest
when:
- ansible_os_family != 'RedHat'
- install_keychain|bool
- name: install keychain on centos
become: yes
yum:
name:
- http://packages.psychotic.ninja/7/base/x86_64/RPMS//keychain-2.8.0-3.el7.psychotic.noarch.rpm
- libselinux-python
state: present
when:
- ansible_os_family == 'RedHat'
- install_keychain|bool
- name: Create a global bashrc configuration
become: yes
template:
src: 'templates/bash.bashrc'
dest: '/etc/bash.bashrc'
owner: root
group: root
mode: 'u=rw,g=r,o=r'
- name: Copy bashrc configuration to admin users
become: yes
template:
src: 'templates/bashrc'
dest: '/home/{{ item }}/.bashrc'
owner: '{{ item }}'
group: '{{ item }}'
mode: 'u=rw,g=r,o='
with_items: '{{ admins }}'
when: admins is defined
- name: Copy bashrc configuration to non admin users
become: yes
template:
src: 'templates/bashrc'
dest: '/home/{{ item }}/.bashrc'
owner: '{{ item }}'
group: '{{ item }}'
mode: 'u=rw,g=r,o='
with_items: '{{ accounts }}'
when: accounts is defined
- name: Copy vimrc configuration to root
become: yes
copy:
src: 'templates/vimrc'
dest: '/root/.vimrc'
owner: root
group: root
mode: 'u=rw,g=r,o='
- name: Copy vimrc configuration to non admin users
become: yes
copy:
src: 'templates/vimrc'
dest: '/home/{{ item }}/.vimrc'
owner: '{{ item }}'
group: '{{ item }}'
mode: 'u=rw,g=r,o='
with_items: "{{ accounts }}"
when: accounts is defined
- name: Copy vimrc configuration to admin users
become: yes
copy:
src: 'templates/vimrc'
dest: '/home/{{ item }}/.vimrc'
owner: '{{ item }}'
group: '{{ item }}'
mode: 'u=rw,g=r,o='
with_items: "{{ admins }}"
when: admins is defined
- name: delete root .bashrc
become: yes
file:
state: absent
path: "/root/.bashrc"
when: not allow_own_root_bashrc|bool