blumeops/ansible/roles/transmission/tasks/main.yml
Erich Blume 5894d134a8 Add pre-commit hooks for code quality and fix all lint violations
Introduces pre-commit framework with hooks for:
- General file hygiene (trailing whitespace, EOF, large files)
- Secret detection (TruffleHog)
- YAML linting (yamllint)
- Ansible linting (ansible-lint)
- Python linting/formatting (ruff)
- Shell script analysis (shellcheck, shfmt)
- TOML formatting (taplo)
- JSON formatting (prettier)

Fixes 91+ ansible-lint violations:
- Renamed variables to use role prefixes (e.g., brew_start -> alloy_brew_start)
- Capitalized handler names per convention
- Added changed_when to command tasks
- Fixed template usage in task names

Fixes shellcheck warnings:
- Removed unused variables
- Fixed SC2155 (declare and assign separately)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 19:29:53 -08:00

52 lines
1.6 KiB
YAML

---
- name: Install transmission-cli via homebrew
community.general.homebrew:
name: transmission-cli
state: present
- name: Ensure transmission download directory exists
ansible.builtin.file:
path: "{{ transmission_download_dir }}"
state: directory
mode: '0755'
- name: Ensure transmission incomplete directory exists
ansible.builtin.file:
path: "{{ transmission_incomplete_dir }}"
state: directory
mode: '0755'
- name: Remove old config directory (was deployed to wrong location)
ansible.builtin.file:
path: ~/.config/transmission-daemon
state: absent
# Note: transmission must be stopped before modifying settings.json
# otherwise it may overwrite our changes on shutdown
- name: Check if settings.json needs updating
ansible.builtin.template:
src: settings.json.j2
dest: "{{ transmission_config_dir }}/settings.json"
mode: '0600'
check_mode: true
register: transmission_settings_check
- name: Stop transmission before config changes
ansible.builtin.command: brew services stop transmission-cli
when: transmission_settings_check.changed
register: transmission_brew_stop
changed_when: false
failed_when: false
- name: Deploy transmission settings.json
ansible.builtin.template:
src: settings.json.j2
dest: "{{ transmission_config_dir }}/settings.json"
mode: '0600'
notify: Restart transmission
- name: Ensure transmission service is started
ansible.builtin.command: brew services start transmission-cli
register: transmission_brew_start
changed_when: "'Successfully started' in transmission_brew_start.stdout"
failed_when: false