From b0286eed03fc2fa23f92704ce21fe8bfa6b8bbf4 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 18 Apr 2026 11:36:05 +0200 Subject: [PATCH] Add bookokrat to source tools with build_output_path support --- ansible/inventory/group_vars/desktop.yml | 6 ++++++ ansible/roles/profile_desktop_common/tasks/main.yml | 6 +++++- .../roles/profile_desktop_common/tasks/source_tool.yml | 8 ++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index bc2ad9b..db2aab2 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -132,6 +132,12 @@ desktop_source_tools: build_cmd: ./build.sh binary_name: gf2 install_name: gf + - name: bookokrat + repo: https://github.com/bugzmanov/bookokrat + build_cmd: cargo build --release + binary_name: bookokrat + install_name: bookokrat + build_output_path: target/release/bookokrat desktop_npm_packages: - name: "opencode-ai" diff --git a/ansible/roles/profile_desktop_common/tasks/main.yml b/ansible/roles/profile_desktop_common/tasks/main.yml index 31e2e2a..0deaac4 100644 --- a/ansible/roles/profile_desktop_common/tasks/main.yml +++ b/ansible/roles/profile_desktop_common/tasks/main.yml @@ -434,8 +434,12 @@ - name: Build and install desktop source tools tags: [packages] - ansible.builtin.include_tasks: source_tool.yml + ansible.builtin.include_tasks: + file: source_tool.yml + apply: + tags: [packages] loop: "{{ desktop_source_tools }}" + when: desktop_source_tools | length > 0 loop_control: loop_var: source_tool label: "{{ source_tool.name }}" diff --git a/ansible/roles/profile_desktop_common/tasks/source_tool.yml b/ansible/roles/profile_desktop_common/tasks/source_tool.yml index c5d7d37..55d6fc2 100644 --- a/ansible/roles/profile_desktop_common/tasks/source_tool.yml +++ b/ansible/roles/profile_desktop_common/tasks/source_tool.yml @@ -16,19 +16,23 @@ - name: Check built {{ source_tool.name }} binary ansible.builtin.stat: - path: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.binary_name | default(source_tool.name) }}" + path: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.build_output_path | default(source_tool.binary_name) }}" register: source_tool_built_binary - name: Build {{ source_tool.name }} ansible.builtin.command: cmd: "{{ source_tool.build_cmd }}" chdir: "{{ user_home }}/.local/src/{{ source_tool.name }}" + become_user: "{{ username }}" + environment: + HOME: "{{ user_home }}" + PATH: "{{ user_home }}/.cargo/bin:{{ ansible_facts.env.PATH }}" when: - source_tool_repo_state.changed or not source_tool_built_binary.stat.exists - name: Install {{ source_tool.name }} ansible.builtin.copy: - src: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.binary_name | default(source_tool.name) }}" + src: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.build_output_path | default(source_tool.binary_name) }}" dest: "/usr/local/bin/{{ source_tool.install_name | default(source_tool.name) }}" remote_src: true owner: root