From 3e0dacc51941eca5d5d018562cbd97d9cbd6c48d Mon Sep 17 00:00:00 2001 From: vrubelroman Date: Sat, 6 Jun 2026 22:46:22 +0300 Subject: [PATCH] Add docker installation, fix LazyVim clone, add Fedora docker-ce support --- playbooks/shell-setup.yml | 63 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/playbooks/shell-setup.yml b/playbooks/shell-setup.yml index 122341c..757fbc8 100644 --- a/playbooks/shell-setup.yml +++ b/playbooks/shell-setup.yml @@ -70,18 +70,79 @@ executable: /usr/bin/fish changed_when: true + - name: Remove old nvim config + ansible.builtin.file: + path: "/home/{{ target_user }}/.config/nvim" + state: absent + - name: Clone LazyVim starter become_user: "{{ target_user }}" ansible.builtin.git: repo: https://github.com/LazyVim/starter dest: "/home/{{ target_user }}/.config/nvim" - force: true - name: Remove .git from nvim config ansible.builtin.file: path: "/home/{{ target_user }}/.config/nvim/.git" state: absent + - name: Check if Docker is already installed + ansible.builtin.shell: docker --version 2>/dev/null && docker compose version 2>/dev/null + register: docker_check + failed_when: false + changed_when: false + + - name: Install Docker on Debian + ansible.builtin.apt: + name: + - docker.io + - docker-compose-v2 + state: present + when: + - ansible_facts["os_family"] == "Debian" + - docker_check.rc != 0 + + - name: Install Docker on Fedora + block: + - name: Remove moby-engine if present + ansible.builtin.dnf: + name: moby-engine + state: absent + failed_when: false + + - name: Add Docker CE repo + ansible.builtin.get_url: + url: https://download.docker.com/linux/fedora/docker-ce.repo + dest: /etc/yum.repos.d/docker-ce.repo + mode: "0644" + + - name: Install Docker CE + ansible.builtin.dnf: + name: + - docker-ce + - docker-ce-cli + - containerd.io + - docker-compose-plugin + state: present + when: + - ansible_facts["os_family"] == "RedHat" + - docker_check.rc != 0 + + - name: Ensure Docker service is running + ansible.builtin.systemd: + name: docker + state: started + enabled: true + + - name: Add user to docker group + ansible.builtin.user: + name: "{{ target_user }}" + groups: docker + append: true + + - name: Reset SSH connection for group membership + ansible.builtin.meta: reset_connection + - name: Set fish as default shell ansible.builtin.user: name: "{{ target_user }}"