--- - name: Include global symlinks tasks ansible.builtin.import_tasks: tasks/global/symlinks.yml - name: Gather package facts ansible.builtin.package_facts: manager: auto become: true - name: Include Tailscale tasks ansible.builtin.import_tasks: tasks/global/tailscale.yml become: true - name: Include Rust tasks ansible.builtin.import_tasks: tasks/global/rust.yml become: true - name: Include Docker tasks ansible.builtin.import_tasks: tasks/global/docker.yml become: true - name: Include Ollama tasks ansible.builtin.import_tasks: tasks/global/ollama.yml become: true - name: Include OpenSSH Server tasks ansible.builtin.import_tasks: tasks/global/openssh-server.yml become: true - name: Include Utils tasks ansible.builtin.import_tasks: tasks/global/utils.yml become: true - name: Ensure common packages are installed ansible.builtin.package: name: - git - vim - curl - wget - httpie # Python is used for the dotfiles CLI tools - python3 - python3-pip - python3-venv - pylint - black # Package manager wrapper - nala state: present become: true - name: Ensure ~/.hushlogin exists ansible.builtin.stat: path: ~/.hushlogin register: hushlogin_stat - name: Create ~/.hushlogin if it does not exist ansible.builtin.file: path: ~/.hushlogin state: touch mode: "0644" when: not hushlogin_stat.stat.exists