summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--misc/dotfiles/goenv.j22
-rw-r--r--roles/dev/meta/main.yml1
-rw-r--r--roles/dev/tasks/main.yml1
-rw-r--r--roles/dotfiles/tasks/main.yml31
-rw-r--r--roles/go/tasks/main.yml27
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