From 083961832713115ee4a152881962d94eae194a0c Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Fri, 31 Jan 2025 16:34:42 -0800 Subject: [PATCH] Ansible: Symlink dotfile tasks Add a new tasks file for symlinking a directory. Doing it this way instead of stat'ing the file and forking based on its type in symlink_dotfile.yml is more efficient, I think? Clean up file permissions: remove other permissions. Add a variable to toggle skipping symlink errors. --- Ansible/roles/eryn/tasks/symlink_dotfile.yml | 5 +++-- Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml diff --git a/Ansible/roles/eryn/tasks/symlink_dotfile.yml b/Ansible/roles/eryn/tasks/symlink_dotfile.yml index 1eb89a5..f03fbab 100644 --- a/Ansible/roles/eryn/tasks/symlink_dotfile.yml +++ b/Ansible/roles/eryn/tasks/symlink_dotfile.yml @@ -2,7 +2,8 @@ - name: "Symlink {{ dotfile_src }}" ansible.builtin.file: src: "{{ ansible_local.dotfiles.path }}/{{ dotfile_src }}" - dest: "~/.{{ dotfile_dest | default(dotfile_src) }}" + dest: "{{ dotfile_dest | default('~/.' + dotfile_src) }}" owner: "{{ ansible_user_id }}" - mode: 0644 + mode: 0640 state: link + ignore_errors: "{{ eryn_dotfiles_ignore_symlink_errors | default(false) }}" diff --git a/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml b/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml new file mode 100644 index 0000000..88da218 --- /dev/null +++ b/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml @@ -0,0 +1,9 @@ +--- +- name: "Symlink {{ dotfile_src }}" + ansible.builtin.file: + src: "{{ ansible_local.dotfiles.path }}/{{ dotfile_src }}" + dest: "{{ dotfile_dest | default('~/.' + dotfile_src) }}" + owner: "{{ ansible_user_id }}" + mode: 0750 + state: link + ignore_errors: "{{ eryn_dotfiles_ignore_symlink_errors | default(false) }}"