diff options
author | Dmitry Ilvokhin <d@ilvokhin.com> | 2025-03-30 22:53:33 +0200 |
---|---|---|
committer | Dmitry Ilvokhin <d@ilvokhin.com> | 2025-03-30 22:53:33 +0200 |
commit | b09418c57891a475b3ebdf8b8d41a66e0545a1cc (patch) | |
tree | 341c5bfffd5ba2f48ead4c594fff9ed1fbb6d3f4 | |
parent | df1774241c827b06d1cbc877994b2c738930ef97 (diff) | |
download | infra-b09418c57891a475b3ebdf8b8d41a66e0545a1cc.tar.gz infra-b09418c57891a475b3ebdf8b8d41a66e0545a1cc.tar.bz2 infra-b09418c57891a475b3ebdf8b8d41a66e0545a1cc.zip |
-rw-r--r-- | misc/dotfiles/goenv.j2 | 2 | ||||
-rw-r--r-- | roles/dev/meta/main.yml | 1 | ||||
-rw-r--r-- | roles/dev/tasks/main.yml | 1 | ||||
-rw-r--r-- | roles/dotfiles/tasks/main.yml | 31 | ||||
-rw-r--r-- | roles/go/tasks/main.yml | 27 |
5 files changed, 61 insertions, 1 deletions
diff --git a/misc/dotfiles/goenv.j2 b/misc/dotfiles/goenv.j2 new file mode 100644 index 0000000..f55e262 --- /dev/null +++ b/misc/dotfiles/goenv.j2 @@ -0,0 +1,2 @@ +GOPATH={{ homedir }}/.go +GOMODCACHE={{ homedir }}/.go/pkg/mod diff --git a/roles/dev/meta/main.yml b/roles/dev/meta/main.yml index ea00667..e212daa 100644 --- a/roles/dev/meta/main.yml +++ b/roles/dev/meta/main.yml @@ -2,3 +2,4 @@ dependencies: - role: gdb - role: git - role: vim + - role: go diff --git a/roles/dev/tasks/main.yml b/roles/dev/tasks/main.yml index 4808447..4f4231e 100644 --- a/roles/dev/tasks/main.yml +++ b/roles/dev/tasks/main.yml @@ -4,7 +4,6 @@ - gcc - clang - python - - go - perf - autoconf - make diff --git a/roles/dotfiles/tasks/main.yml b/roles/dotfiles/tasks/main.yml index 17228a5..4def4d4 100644 --- a/roles/dotfiles/tasks/main.yml +++ b/roles/dotfiles/tasks/main.yml @@ -138,6 +138,37 @@ dest: '{{ homedir }}/.muttrc' when: has_mutt.rc == 0 +- name: Configure go if installed + tags: go + block: + - name: Check if go is installed + ansible.builtin.command: go version + changed_when: false + 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' + when: has_go.rc == 0 + - name: Copy templates files if necessary tags: templates block: diff --git a/roles/go/tasks/main.yml b/roles/go/tasks/main.yml new file mode 100644 index 0000000..81d117f --- /dev/null +++ b/roles/go/tasks/main.yml @@ -0,0 +1,27 @@ +- name: Install go + ansible.builtin.package: + name: + - 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 + tags: + - dotfiles |