homeserver/roles/mgrote.dotfiles/tasks/main.yml
mg 36b214401d Bugfix: git: unsafe repository (REPO is owned by someone else) (#354)
Co-authored-by: Michael Grote <michael.grote@posteo.de>
Reviewed-on: mg/ansible#354
Co-authored-by: mg <michael.grote@posteo.de>
Co-committed-by: mg <michael.grote@posteo.de>
2022-04-14 12:29:00 +02:00

63 lines
1.6 KiB
YAML

---
- name: install acl package
become: yes
ansible.builtin.package:
name: acl
state: present
- name: check if repo exists
stat:
path: "{{ dotfiles_repo_path }}"
register: repo_exists
- name: set safe directory
become: true
ansible.builtin.shell:
cmd: git config --global --add safe.directory "{{ dotfiles_repo_path }}"
changed_when: false
- name: stash changes
ansible.builtin.shell: git stash
args:
chdir: "{{ dotfiles_repo_path }}"
changed_when: false
when: repo_exists.stat.exists == true
- name: Ensure dotfiles repository is cloned locally.
git:
repo: "{{ dotfiles_repo_url }}"
dest: "{{ dotfiles_repo_path }}"
depth: 1
version: "{{ dotfiles_repo_branch }}"
register: git_clone
- name: set owner recursive for repo
file:
path: "{{ dotfiles_repo_path }}"
owner: "{{ dotfiles_owner }}"
group: "{{ dotfiles_owner }}"
recurse: yes
when: (git_clone.changed == true)
- name: Ensure needed dirs exist.
file:
path: "{{ item.path }}"
state: directory
with_items: "{{ dotfiles_dirs }}"
- name: Link dotfiles into home folder
file:
src: "{{ item.repo_path }}"
dest: "{{ item.local_path }}"
state: link
force: yes
owner: "{{ dotfiles_owner }}"
group: "{{ dotfiles_owner }}"
with_items: "{{ dotfiles_files }}"
- name: add .bash_extra to .bashrc
ansible.builtin.lineinfile:
path: /home/{{ dotfiles_owner }}/.bashrc
line: "source {{ dotfiles_repo_path }}/.bash_extra"
state: present