diff options
author | Dmitry Ilvokhin <d@ilvokhin.com> | 2025-08-09 10:41:03 +0100 |
---|---|---|
committer | Dmitry Ilvokhin <d@ilvokhin.com> | 2025-08-09 10:41:03 +0100 |
commit | 40e236d3c49f803196412e965c77b4691525c29f (patch) | |
tree | 02b6759e18c9c29fe002bf6aee37ba77d48196b4 | |
parent | 873d51d388b3c61f926d025b8ce3ee83e845a89f (diff) | |
download | infra-40e236d3c49f803196412e965c77b4691525c29f.tar.gz infra-40e236d3c49f803196412e965c77b4691525c29f.tar.bz2 infra-40e236d3c49f803196412e965c77b4691525c29f.zip |
Move go configuration to goenv role
-rw-r--r-- | misc/dotfiles/goenv.j2 | 4 | ||||
-rw-r--r-- | roles/dotfiles/tasks/main.yml | 26 | ||||
-rw-r--r-- | roles/go/tasks/main.yml | 20 | ||||
-rw-r--r-- | roles/goenv/defaults/main.yml | 3 | ||||
-rw-r--r-- | roles/goenv/tasks/main.yml | 33 |
5 files changed, 46 insertions, 40 deletions
diff --git a/misc/dotfiles/goenv.j2 b/misc/dotfiles/goenv.j2 index f55e262..c6561c7 100644 --- a/misc/dotfiles/goenv.j2 +++ b/misc/dotfiles/goenv.j2 @@ -1,2 +1,2 @@ -GOPATH={{ homedir }}/.go -GOMODCACHE={{ homedir }}/.go/pkg/mod +GOPATH={{ goenv_homedir }}/.go +GOMODCACHE={{ goenv_homedir }}/.go/pkg/mod diff --git a/roles/dotfiles/tasks/main.yml b/roles/dotfiles/tasks/main.yml index 6761bd6..53acf24 100644 --- a/roles/dotfiles/tasks/main.yml +++ b/roles/dotfiles/tasks/main.yml @@ -134,26 +134,12 @@ failed_when: false register: has_go - - name: Set go config directory for macOS - set_fact: - go_conf_dir: '{{ homedir }}/Library/Application Support/go' - when: has_go.rc == 0 and ansible_os_family == "Darwin" - - - name: Set go config directory for Linux - set_fact: - go_conf_dir: '{{ homedir }}/.config/go' - when: has_go.rc == 0 and ansible_os_family != "Darwin" - - - name: Create go config directory - ansible.builtin.file: - path: '{{ go_conf_dir }}' - state: directory - owner: '{{ user }}' - - - name: Configure go enviroment - ansible.builtin.template: - src: misc/dotfiles/goenv.j2 - dest: '{{ go_conf_dir }}/env' + - ansible.builtin.include_role: + name: goenv + vars: + goenv_user: '{{ user }}' + goenv_group: '{{ group }}' + goenv_homedir: '{{ homedir }}' when: has_go.rc == 0 - name: Copy templates files if necessary diff --git a/roles/go/tasks/main.yml b/roles/go/tasks/main.yml index 81d117f..0df6723 100644 --- a/roles/go/tasks/main.yml +++ b/roles/go/tasks/main.yml @@ -4,24 +4,8 @@ - go state: present -- name: Create go config directory for Dmitry Ilvokhin - ansible.builtin.file: - path: /home/d/.config/go/ - state: directory - owner: d - group: d - mode: u+rw,g-wx,o-rwx - tags: - - dotfiles - - name: Configure go for Dmitry Ilvokhin - ansible.builtin.template: - src: misc/dotfiles/goenv.j2 - dest: /home/d/.config/go/env - owner: d - group: d - mode: u+rw,g+r,o+r - vars: - homedir: /home/d + ansible.builtin.include_role: + name: goenv tags: - dotfiles diff --git a/roles/goenv/defaults/main.yml b/roles/goenv/defaults/main.yml new file mode 100644 index 0000000..a25f252 --- /dev/null +++ b/roles/goenv/defaults/main.yml @@ -0,0 +1,3 @@ +goenv_user: d +goenv_group: d +goenv_homedir: /home/{{ goenv_user }} diff --git a/roles/goenv/tasks/main.yml b/roles/goenv/tasks/main.yml new file mode 100644 index 0000000..29e0b9e --- /dev/null +++ b/roles/goenv/tasks/main.yml @@ -0,0 +1,33 @@ +- name: Set go config directory for macOS + set_fact: + goenv_conf_dir: '{{ goenv_homedir }}/Library/Application Support/go' + when: ansible_os_family == "Darwin" + tags: + - dotfiles + +- name: Set go config directory for Linux + set_fact: + goenv_conf_dir: '{{ goenv_homedir }}/.config/go' + when: ansible_os_family != "Darwin" + tags: + - dotfiles + +- name: Create go config directory + ansible.builtin.file: + path: '{{ goenv_conf_dir }}' + state: directory + owner: '{{ goenv_user }}' + group: '{{ goenv_group }}' + mode: u+rw,g-wx,o-rwx + tags: + - dotfiles + +- name: Configure go enviroment + ansible.builtin.template: + src: misc/dotfiles/goenv.j2 + dest: '{{ goenv_conf_dir }}/env' + owner: '{{ goenv_user }}' + group: '{{ goenv_group }}' + mode: u+rw,g+r,o+r + tags: + - dotfiles |