Fix borgmatic LaunchAgent TCC dialog hang by removing mise wrapper
LaunchAgents now call borgmatic directly at its mise-installed path instead of routing through `mise x`, which triggered macOS TCC permission dialogs (e.g. "mise wants to access Documents") that hung headless sessions and caused backup failures. Also adds `mise install` to the ansible role so borgmatic installation is fully managed, and pins the version in both mise.toml and the role defaults. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
30ed018fd8
commit
519175c672
7 changed files with 24 additions and 13 deletions
|
|
@ -6,6 +6,16 @@ borgmatic_log_dir: /Users/erichblume/Library/Logs
|
|||
# Full path to borg binary since LaunchAgent doesn't have homebrew in PATH
|
||||
borgmatic_local_path: /opt/homebrew/bin/borg
|
||||
|
||||
# Borgmatic version — keep in sync with mise.toml in the repo root.
|
||||
# Ansible installs this via `mise install` so indri doesn't need the repo cloned.
|
||||
borgmatic_version: "2.1.4"
|
||||
|
||||
# Full path to borgmatic binary — called directly by LaunchAgents to avoid
|
||||
# routing through mise, which triggers macOS TCC permission dialogs for
|
||||
# protected folders (e.g. ~/Documents) that hang headless LaunchAgent sessions.
|
||||
# Uses mise's "latest" symlink so version bumps don't break the LaunchAgent path.
|
||||
borgmatic_bin: /Users/erichblume/.local/share/mise/installs/pipx-borgmatic/latest/bin/borgmatic
|
||||
|
||||
# Schedule: runs daily at 2:00 AM
|
||||
borgmatic_schedule_hour: 2
|
||||
borgmatic_schedule_minute: 0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
---
|
||||
# Note: borgmatic is installed via mise (pipx), not managed here.
|
||||
# This role manages the config file and scheduled LaunchAgent.
|
||||
# Borgmatic is installed via mise (pipx) and called directly by LaunchAgents.
|
||||
# This role manages installation, config, and the scheduled LaunchAgents.
|
||||
|
||||
- name: Install borgmatic via mise
|
||||
ansible.builtin.command: mise install pipx:borgmatic@{{ borgmatic_version }}
|
||||
register: borgmatic_install
|
||||
changed_when: "'installed' in borgmatic_install.stderr"
|
||||
|
||||
- name: Ensure borgmatic config directory exists
|
||||
ansible.builtin.file:
|
||||
|
|
|
|||
|
|
@ -14,10 +14,7 @@
|
|||
</dict>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/opt/homebrew/opt/mise/bin/mise</string>
|
||||
<string>x</string>
|
||||
<string>--</string>
|
||||
<string>borgmatic</string>
|
||||
<string>{{ borgmatic_bin }}</string>
|
||||
<string>--config</string>
|
||||
<string>{{ borgmatic_photos_config }}</string>
|
||||
<string>create</string>
|
||||
|
|
|
|||
|
|
@ -14,10 +14,7 @@
|
|||
</dict>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/opt/homebrew/opt/mise/bin/mise</string>
|
||||
<string>x</string>
|
||||
<string>--</string>
|
||||
<string>borgmatic</string>
|
||||
<string>{{ borgmatic_bin }}</string>
|
||||
<string>--config</string>
|
||||
<string>{{ borgmatic_config }}</string>
|
||||
<string>create</string>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue