46 lines
1.2 KiB
Markdown
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 |