ansible/roles/shell/README.md

46 lines
1.2 KiB
Markdown

# 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