From 5f96e0f6d9f22a64548b8f6b249d1219a81e01ce Mon Sep 17 00:00:00 2001 From: Ava Chaney Date: Wed, 10 May 2023 21:39:05 -0700 Subject: [PATCH] setup dotfiles --- ansible.cfg | 1 + group_vars/all.yml | 1 + roles/common/tasks/dotfiles.yml | 31 +++++++++++++++++++++++++++++++ roles/common/tasks/main.yml | 1 + 4 files changed, 34 insertions(+) create mode 100644 roles/common/tasks/dotfiles.yml diff --git a/ansible.cfg b/ansible.cfg index a11fc69..a9f1f3d 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -2,6 +2,7 @@ inventory=inventory.yml remote_user=ava stdout_callback=yaml +vault_password_file=util/op-get-password.sh [privilege_escalation] become=True diff --git a/group_vars/all.yml b/group_vars/all.yml index b6b66be..f6ff63a 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -100,3 +100,4 @@ terraform_vars: - libvirt_host libvirt_host: krile # temporary hack (famous last words) +dotfiles_github_user: avafloww diff --git a/roles/common/tasks/dotfiles.yml b/roles/common/tasks/dotfiles.yml new file mode 100644 index 0000000..0035d61 --- /dev/null +++ b/roles/common/tasks/dotfiles.yml @@ -0,0 +1,31 @@ +- name: Setup dotfiles + become: false + block: + - name: Set shell to /bin/zsh + user: + name: '{{ ansible_user }}' + shell: /bin/zsh + when: ansible_user != 'root' + + - name: Check if chezmoi is installed + stat: + path: ~/bin/chezmoi + register: chezmoi_installed + changed_when: chezmoi_installed.stat.exists == false + + - name: Install chezmoi + shell: sh -c "$(curl -fsLS get.chezmoi.io)" + when: chezmoi_installed.changed + + - name: Setup dotfiles + shell: ~/bin/chezmoi init --apply {{ dotfiles_github_user }} + when: chezmoi_installed.changed + + - name: Update dotfiles + shell: ~/bin/chezmoi update + when: not chezmoi_installed.changed + + - name: Execute zsh to finalize dotfiles setup + shell: zsh -i -l -c 'exit 0' + register: zsh_exec + failed_when: zsh_exec.rc != 0 diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index 012adda..471bb06 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -1,2 +1,3 @@ - import_tasks: debian.yml when: ansible_os_family == 'Debian' +- import_tasks: dotfiles.yml