Files
ansible/roles/pi_modern_shell_env

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).