00_core.ymlΒΆ

---
- name: πŸ“‚ Include dependency 'dev-shell'
  include_role:
    name: dev-shell
  when: run_once_dev_shell is not defined

- name: ⬇️ pull ssh repository from {{desk_ssh_repository}}
  git:
    repo: "{{desk_ssh_repository}}"
    dest: "$HOME/.ssh"
    update: true
    depth: 1
  register: git_result
  ignore_errors: true
  become: false

- name: ⚠️ Warn if repo is not reachable
  debug:
    msg: "Warning: Repository is not reachable."
  when: git_result.failed and MODE_DEBUG | bool

- name: βœ… Ensure systemd user directory exists
  file:
    path: "{{ DIR_SYSTEM_SERVICE_USER }}"
    state: directory
    mode: "0700"
  become: false

- name: πŸ” Look for the unversioned ssh-agent unit
  stat:
    path: "{{ desk_ssh_legacy_unit }}"
  register: desk_ssh_legacy_unit_state
  become: false

- name: 🧹 Retire the unversioned ssh-agent unit
  block:
    - name: πŸ›‘ Stop and disable the unversioned ssh-agent unit
      systemd:
        name: "{{ desk_ssh_legacy_unit | basename }}"
        scope: user
        state: stopped
        enabled: false
      become: false

    - name: πŸ—‘οΈ Delete the unversioned ssh-agent unit
      file:
        path: "{{ desk_ssh_legacy_unit }}"
        state: absent
      become: false
  when: desk_ssh_legacy_unit_state.stat.exists

- name: πŸš€ Deploy ssh-agent systemd unit file
  include_role:
    name: sys-service
  vars:
    system_service_scope: user
    system_service_copy_files: false
    system_service_state: started
    system_service_tpl_on_failure: ""
    system_service_tpl_type: simple
    system_service_tpl_runtime: ""
    system_service_tpl_before: default.target
    system_service_tpl_wanted_by: default.target
    system_service_tpl_environment:
      - "SSH_AUTH_SOCK=%t/ssh-agent.socket"
    system_service_tpl_exec_start: "/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK"

- name: βœ… Ensure ~/.profile exists with common environment
  lineinfile:
    path: "$HOME/.profile"
    line: 'export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"'
    insertafter: EOF
    state: present
    create: true
    mode: "0644"
  become: false

- include_tasks: utils/once/flag.yml