feat(hardware): auto-detect audio, bluetooth, camera with declarative override

This commit is contained in:
2026-05-25 04:36:21 +02:00
parent 44f5adc682
commit d2a19cfd5c
21 changed files with 615 additions and 227 deletions

View File

@@ -0,0 +1,32 @@
---
- name: "Seed resolve inputs (pkg {{ pf.name }})"
ansible.builtin.set_fact:
os_family: "{{ pf.os_family }}"
hardware_profile_active: "{{ pf.profile }}"
_nvidia_driver_resolved: "{{ pf.nvidia_driver_resolved | default('nouveau') }}"
system_cfg:
features:
firmware: { enabled: true, microcode: true }
gpu: { enabled: true }
peripherals:
enabled: true
camera: "auto"
fingerprint: "auto"
audio: "auto"
bluetooth: "auto"
displaylink: false
- name: "Load package map (pkg {{ pf.name }})"
ansible.builtin.include_vars:
file: ../../roles/bootstrap/vars/hardware.yml
- name: "Resolve packages (pkg {{ pf.name }})"
ansible.builtin.include_tasks: ../../roles/bootstrap/tasks/_resolve_hardware_packages.yml
- name: "Assert resolved package list (pkg {{ pf.name }})"
ansible.builtin.assert:
that:
- (pf.expect_contains | default([])) | difference(_hardware_packages) | length == 0
- (pf.expect_excludes | default([])) | intersect(_hardware_packages) | length == 0
fail_msg: "[pkg {{ pf.name }}] FAIL got {{ _hardware_packages }}"
success_msg: "[pkg {{ pf.name }}] OK {{ _hardware_packages }}"