Files
dotfiles/config/ansible/tasks/workstations/symlinks.yml
Menno van Leeuwen 1444cf0c6c
Some checks failed
Ansible Lint Check / check-ansible (push) Failing after 26s
Nix Format Check / check-format (push) Failing after 1m25s
Python Lint Check / check-python (push) Failing after 18s
refactor: consolidate workstation symlink definitions and ensure parent directories exist
2025-07-15 23:23:51 +00:00

28 lines
1.0 KiB
YAML

---
- name: Set user home directory
ansible.builtin.set_fact:
user_home: "{{ ansible_env.HOME if ansible_user_id == 'root' else lookup('env', 'HOME') }}"
- name: Define workstation symlinks
ansible.builtin.set_fact:
workstation_symlinks:
- { src: "$DOTFILES_PATH/vscode/settings.json", dest: "~/.config/Code/User/settings.json" }
- { src: "$DOTFILES_PATH/zed/settings.json", dest: "~/.config/zed/settings.json" }
- { src: "$DOTFILES_PATH/config/autostart", dest: "~/.config/autostart" }
- name: Ensure parent directories for workstation symlinks exist
ansible.builtin.file:
path: "{{ item.dest | replace('~', user_home) | dirname }}"
state: directory
mode: "0755"
loop: "{{ workstation_symlinks }}"
- name: Create workstation symlinks
ansible.builtin.file:
src: "{{ item.src | replace('~', user_home) | replace('$DOTFILES_PATH', lookup('env', 'DOTFILES_PATH')) }}"
dest: "{{ item.dest | replace('~', user_home) }}"
state: link
force: true
follow: false
loop: "{{ workstation_symlinks }}"