70 lines
2 KiB
YAML
70 lines
2 KiB
YAML
|
|
---
|
||
|
|
- name: Look up account for {{ dev_env__user }}
|
||
|
|
ansible.builtin.getent:
|
||
|
|
database: passwd
|
||
|
|
key: "{{ dev_env__user }}"
|
||
|
|
|
||
|
|
- name: Resolve home directory for {{ dev_env__user }}
|
||
|
|
ansible.builtin.set_fact:
|
||
|
|
dev_env__home: "{{ getent_passwd[dev_env__user][4] }}"
|
||
|
|
|
||
|
|
- name: Set login shell to zsh for {{ dev_env__user }}
|
||
|
|
ansible.builtin.user:
|
||
|
|
name: "{{ dev_env__user }}"
|
||
|
|
shell: /usr/bin/zsh
|
||
|
|
tags: [users]
|
||
|
|
|
||
|
|
- name: Clone oh-my-zsh for {{ dev_env__user }}
|
||
|
|
become: true
|
||
|
|
become_user: "{{ dev_env__user }}"
|
||
|
|
ansible.builtin.git:
|
||
|
|
repo: https://github.com/ohmyzsh/ohmyzsh.git
|
||
|
|
dest: "{{ dev_env__home }}/.oh-my-zsh"
|
||
|
|
version: master
|
||
|
|
depth: 1
|
||
|
|
update: false
|
||
|
|
|
||
|
|
- name: Clone oh-my-zsh custom plugins for {{ dev_env__user }}
|
||
|
|
become: true
|
||
|
|
become_user: "{{ dev_env__user }}"
|
||
|
|
ansible.builtin.git:
|
||
|
|
repo: "{{ item.repo }}"
|
||
|
|
dest: "{{ dev_env__home }}/.oh-my-zsh/custom/plugins/{{ item.name }}"
|
||
|
|
version: master
|
||
|
|
depth: 1
|
||
|
|
update: false
|
||
|
|
loop: "{{ dev_env__omz_custom_plugins }}"
|
||
|
|
loop_control:
|
||
|
|
label: "{{ item.name }}"
|
||
|
|
|
||
|
|
- name: Clone tmux plugins (incl. TPM) for {{ dev_env__user }}
|
||
|
|
become: true
|
||
|
|
become_user: "{{ dev_env__user }}"
|
||
|
|
ansible.builtin.git:
|
||
|
|
repo: "{{ item.repo }}"
|
||
|
|
dest: "{{ dev_env__home }}/.tmux/plugins/{{ item.name }}"
|
||
|
|
version: "{{ item.version }}"
|
||
|
|
depth: 1
|
||
|
|
update: false
|
||
|
|
loop: "{{ dev_env__tmux_plugins }}"
|
||
|
|
loop_control:
|
||
|
|
label: "{{ item.name }}"
|
||
|
|
|
||
|
|
- name: Install dotfiles into ~/.dotfiles for {{ dev_env__user }}
|
||
|
|
become: true
|
||
|
|
become_user: "{{ dev_env__user }}"
|
||
|
|
ansible.builtin.copy:
|
||
|
|
src: dotfiles/
|
||
|
|
dest: "{{ dev_env__home }}/.dotfiles/"
|
||
|
|
mode: preserve
|
||
|
|
tags: [config]
|
||
|
|
|
||
|
|
- name: Stow dotfiles into home for {{ dev_env__user }}
|
||
|
|
become: true
|
||
|
|
become_user: "{{ dev_env__user }}"
|
||
|
|
ansible.builtin.command:
|
||
|
|
cmd: "stow --no-folding -v -d {{ dev_env__home }}/.dotfiles -t {{ dev_env__home }} zsh tmux nvim"
|
||
|
|
register: dev_env__stow
|
||
|
|
changed_when: "'LINK:' in dev_env__stow.stderr or 'LINK:' in dev_env__stow.stdout"
|
||
|
|
tags: [config]
|