# Role: shell ## Description Configures modern shell environment with Zsh, Oh My Zsh, and Powerlevel10k theme for enhanced terminal experience. ## Requirements - Ansible 2.9+ - Debian/Ubuntu target systems - Internet access for downloading themes and plugins ## Features - Installs and configures Zsh as default shell - Sets up Oh My Zsh framework - Installs Powerlevel10k theme - Adds useful plugins: syntax highlighting, autosuggestions - Configures tmux and fzf for enhanced productivity ## Variables | Variable | Default | Description | |----------|---------|-------------| | `shell_user` | `{{ ansible_user }}` | User to configure shell for | | `shell_install_ohmyzsh` | `true` | Whether to install Oh My Zsh | | `shell_install_p10k` | `true` | Whether to install Powerlevel10k theme | ## Dependencies - `base` role (for basic packages) ## Example Playbook ```yaml - hosts: dev roles: - { role: shell, shell_user: "myuser" } ``` ## Tags - `shell`: All shell configuration tasks - `zsh`: Zsh installation and configuration - `ohmyzsh`: Oh My Zsh framework setup - `theme`: Theme and plugin configuration ## Notes - Changes default shell to zsh for the target user - Downloads themes and plugins from GitHub - Requires logout/login to see changes