From 06b511d823a831bb316b09d9afa7e3b1cf09464c Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Sat, 10 Sep 2022 16:18:21 +0100 Subject: [PATCH] Set the owner of Git repos on Windows The `win_git` module clones repos as the current user, which since its an admin login is the admin. This patch adjusts the `win_owner` to so that repos are owned by the correct user when being used in a non-admin capacity. --- roles/1password/tasks/Windows.yaml | 6 +++++- roles/autohotkey/tasks/main.yaml | 3 +++ roles/git/tasks/Windows.yaml | 5 ++++- roles/neovim/tasks/Windows.yaml | 8 +++++++- roles/obsidian/tasks/Windows.yaml | 8 +++++++- roles/powershell/tasks/main.yaml | 15 ++++++++++++++- 6 files changed, 40 insertions(+), 5 deletions(-) diff --git a/roles/1password/tasks/Windows.yaml b/roles/1password/tasks/Windows.yaml index 88274ba..53416c8 100644 --- a/roles/1password/tasks/Windows.yaml +++ b/roles/1password/tasks/Windows.yaml @@ -97,7 +97,11 @@ elements: '{{cli_dir}}' - name: get op powershell completion script - win_command: op completion powershell + win_command: + argv: + - '{{ansible_env.LOCALAPPDATA}}/1Password/cli/op.exe' + - completion + - powershell register: powershell_completion_script changed_when: false diff --git a/roles/autohotkey/tasks/main.yaml b/roles/autohotkey/tasks/main.yaml index 8f64b6d..cb5ba90 100644 --- a/roles/autohotkey/tasks/main.yaml +++ b/roles/autohotkey/tasks/main.yaml @@ -9,6 +9,9 @@ repo: git@code.infektor.net:config/AutoHotKey.git dest: '{{autohotkey_repo_dir}}' branch: master +- win_owner: + path: '{{autohotkey_repo_dir}}' + user: Benie - name: create scheduled task win_scheduled_task: diff --git a/roles/git/tasks/Windows.yaml b/roles/git/tasks/Windows.yaml index d8f2626..b66a2c7 100644 --- a/roles/git/tasks/Windows.yaml +++ b/roles/git/tasks/Windows.yaml @@ -37,7 +37,10 @@ dest: '{{ansible_env.USERPROFILE}}/.config/{{item.name}}' version: master with_items: '{{git_config_repos}}' - timeout: 30 +- win_owner: + path: '{{ansible_env.USERPROFILE}}/.config/{{item.name}}' + user: Benie + with_items: '{{git_config_repos}}' # - TODO: install pip packages # win_pip: diff --git a/roles/neovim/tasks/Windows.yaml b/roles/neovim/tasks/Windows.yaml index 2e1a0f4..7aaede4 100644 --- a/roles/neovim/tasks/Windows.yaml +++ b/roles/neovim/tasks/Windows.yaml @@ -1,4 +1,7 @@ --- +- set_fact: + nvim_config_dir: '{{ansible_env.LOCALAPPDATA}}/nvim' + - name: install chocolatey packages win_chocolatey: name: neovim @@ -7,8 +10,11 @@ - name: clone config repo win_git: repo: git@code.infektor.net:config/vim.git - dest: '{{ansible_env.LOCALAPPDATA}}/nvim' + dest: '{{nvim_config_dir}}' version: master +- win_owner: + path: '{{nvim_config_dir}}' + user: Benie # - TODO: neovim set repo email # win_git_config: diff --git a/roles/obsidian/tasks/Windows.yaml b/roles/obsidian/tasks/Windows.yaml index 967a17e..764ed9d 100644 --- a/roles/obsidian/tasks/Windows.yaml +++ b/roles/obsidian/tasks/Windows.yaml @@ -1,4 +1,7 @@ --- +- set_fact: + obsidian_notes_repo: '{{ansible_env.USERPROFILE}}/Documents/Notes' + - name: install chocolatey package win_chocolatey: name: obsidian @@ -7,5 +10,8 @@ - name: clone notes repository win_git: repo: git@github.com:kbenzie/notes.git - dest: '{{ansible_env.USERPROFILE}}/Documents/Notes' + dest: '{{obsidian_notes_repo}}' branch: main +- win_owner: + path: '{{obsidian_notes_repo}}' + user: Benie diff --git a/roles/powershell/tasks/main.yaml b/roles/powershell/tasks/main.yaml index 3236880..b3ac67a 100644 --- a/roles/powershell/tasks/main.yaml +++ b/roles/powershell/tasks/main.yaml @@ -1,9 +1,16 @@ --- +- set_fact: + powershell_config_dir: + '{{ansible_env.USERPROFILE}}/Documents/WindowsPowerShell' + - name: clone config repos win_git: repo: git@code.infektor.net:config/WindowsPowerShell.git - dest: '{{ansible_env.USERPROFILE}}/Documents/WindowsPowerShell' + dest: '{{powershell_config_dir}}' branch: master +- win_owner: + path: '{{powershell_config_dir}}' + user: Benie - name: install chocolatey package win_chocolatey: @@ -28,3 +35,9 @@ name: PsReadline state: latest accept_license: true + +- name: install posh-git module + win_psmodule: + name: posh-git + state: latest + accept_license: true