/
/
/
Ansible role that sets up sane defaults based on a simple host configuration.
1# System
2
3Baseline Debian/Ubuntu system configuration.
4
5## Key Parameters
6
7| Variable | Default | Description |
8|----------|---------|-------------|
9| `system_hostname` | inventory hostname | Set the system hostname |
10| `system_timezone` | `Europe/Amsterdam` | System timezone |
11| `system_auto_upgrades` | `false` | Disable unattended-upgrades (prevents surprise reboots) |
12| `system_passwordless_sudo` | `true` | Allow sudo group to run commands without password |
13| `system_umask` | `002` | Default UMASK for new files |
14| `system_upgrade_mode` | `dist` | Package upgrade mode: `dist`, `full`, or `safe` |
15| `system_extra_packages` | `[]` | Additional APT packages to install |
16| `system_wifi_powersave_disable` | `false` | Disable WiFi power saving via systemd oneshot |
17| `system_wifi_auto_reconnect` | `false` | Periodic ping check; bounce interface on failure |
18| `system_wifi_interface` | `wlan0` | WiFi interface name |
19| `system_wifi_check_interval_sec` | `60` | Reconnect check interval (seconds) |
20| `system_wifi_check_target` | `1.1.1.1` | Ping target for connectivity check |
21
22## Workflow
23
241. Set hostname (if `system_manage_hostname` is true)
252. Configure passwordless sudo for the sudo group
263. Set system-wide UMASK
274. Disable automatic updates
285. Run full package upgrade
296. Install extra packages
307. WiFi reliability: disable power saving and/or enable auto-reconnect (if either flag is true)
31