Files
Martin Bauer cb0ece0478 Keep the media-pi roles working on trixie
- pi_hifiberry_amp: the boot config lives at /boot/firmware/config.txt.
- pi_sysdweb: install python3-dbus and python3-systemd from apt, which trixie ships at
  the versions sysdweb needs; bookworm gets the headers pip needs to build dbus-python
  1.4 itself.
- pi_squeezeserver: trixie images have no iptables, and so cannot have the port 80
  redirect that absent.yml removes - skip that step there instead of failing.
- pi_modern_shell_env, pi_slint_frontend: read facts through `ansible_facts` rather than
  the deprecated injected `ansible_*` variables.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 23:14:18 +02:00
..
2026-09-10 21:33:19 +02:00

pi_modern_shell_env

Installs modern CLI tooling (fish, ripgrep, fd, bat, fzf, zoxide, lsd, tmux) plus an oh-my-posh prompt for the login user on iot Pi hosts, and makes fish the default login shell. Purely a convenience layer for interactive SSH sessions into otherwise single-purpose appliance boxes — does not affect any of the audio/sensor services these hosts run.

The oh-my-posh theme (files/ohmyposh.json) and its fish vi-mode integration (templates/config.fish.j2) are copied from the same setup used in ~/nixconfig's home-manager config (homeManagerModules/cli/modern-cli.nix/ohmyposh.json), so the prompt looks and behaves the same on the desktop and on these Pis. If that nixconfig theme changes, re-sync files/ohmyposh.json here by hand — the two aren't linked.

Key vars:

  • pi_modern_shell_env_target_user — user to configure (defaults to main_user, falling back to root).
  • pi_modern_shell_env_set_default_shell — whether to chsh the target user to fish (default true).