Enhance Linux and macOS development station configurations:

- Add user management and Oh My Zsh settings
- Update service scripts to use Zsh
- Include new packages and environment variables
- Modify Terraform configuration for upstream services
This commit is contained in:
2026-07-10 17:15:24 -04:00
parent 59b2c10c43
commit 5818b05d96
12 changed files with 297 additions and 7 deletions
@@ -175,6 +175,80 @@
- linux_dev_station_service_user_enabled | bool
- linux_dev_station_oh_my_zsh_enabled | bool
- name: Ensure .zshrc sets PATH for tool binaries
become: true
ansible.builtin.blockinfile:
path: "{{ linux_dev_station_service_home }}/.zshrc"
block: |
# ansible: linux_dev_station path
if ! [[ "$PATH" =~ "$HOME/.local/bin:" ]]; then
PATH="$HOME/.local/bin:$PATH"
fi
if ! [[ "$PATH" =~ "$HOME/bin:" ]]; then
PATH="$HOME/bin:$PATH"
fi
export PATH
marker: "# {mark} ansible: linux_dev_station path"
create: true
mode: "0644"
owner: "{{ linux_dev_station_service_user }}"
group: "{{ linux_dev_station_service_user }}"
when:
- linux_dev_station_service_user_enabled | bool
- name: Ensure .zshrc unsets history vars before Oh My Zsh
become: true
ansible.builtin.blockinfile:
path: "{{ linux_dev_station_service_home }}/.zshrc"
block: |
# ansible: linux_dev_station unset history before oh-my-zsh
unset HISTFILE HISTSIZE SAVEHIST
marker: "# {mark} ansible: linux_dev_station unset history before oh-my-zsh"
create: true
mode: "0644"
owner: "{{ linux_dev_station_service_user }}"
group: "{{ linux_dev_station_service_user }}"
when:
- linux_dev_station_service_user_enabled | bool
- linux_dev_station_oh_my_zsh_enabled | bool
- name: Ensure .zshrc sources Oh My Zsh
become: true
ansible.builtin.blockinfile:
path: "{{ linux_dev_station_service_home }}/.zshrc"
block: |
# ansible: linux_dev_station oh-my-zsh
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="{{ linux_dev_station_oh_my_zsh_theme }}"
plugins=({{ linux_dev_station_oh_my_zsh_plugins | join(' ') }})
source "$ZSH/oh-my-zsh.sh"
marker: "# {mark} ansible: linux_dev_station oh-my-zsh"
create: true
mode: "0644"
owner: "{{ linux_dev_station_service_user }}"
group: "{{ linux_dev_station_service_user }}"
when:
- linux_dev_station_service_user_enabled | bool
- linux_dev_station_oh_my_zsh_enabled | bool
- name: Ensure .zshrc has extra environment variables
become: true
ansible.builtin.blockinfile:
path: "{{ linux_dev_station_service_home }}/.zshrc"
block: |
# ansible: linux_dev_station extra env vars
{% for env_key, env_value in linux_dev_station_zshrc_extra_env.items() %}
export {{ env_key }}="{{ env_value }}"
{% endfor %}
marker: "# {mark} ansible: linux_dev_station extra env vars"
create: true
mode: "0644"
owner: "{{ linux_dev_station_service_user }}"
group: "{{ linux_dev_station_service_user }}"
when:
- linux_dev_station_service_user_enabled | bool
- linux_dev_station_zshrc_extra_env | length > 0
- name: Ensure .zshrc has ssh-agent startup for devstation
become: true
ansible.builtin.blockinfile: