--- - 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" } - { src: "$DOTFILES_PATH/config/nextcloud.cfg", dest: "~/.config/Nextcloud/nextcloud.cfg", } - 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: Remove existing autostart directory if it exists ansible.builtin.file: path: "{{ user_home }}/.config/autostart" state: absent - 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 }}"