1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
---
- name: Import roles
include_role:
name: "{{ fretlink_import_item }}"
loop:
- programming/python
- programming/haskell
- programming/nodejs
loop_control:
loop_var: fretlink_import_item
- name: Config dirs
file:
state: directory
path: "$XDG_CONFIG_HOME/{{ item }}"
loop:
- autostart
- Zeal
- pm2
- name: Config files
copy:
src: "config_files/{{ item }}"
dest: "$XDG_CONFIG_HOME/{{ item }}"
loop:
- autostart/zeal.desktop
- name: zeal configuration
ini_file:
path: "$XDG_CONFIG_HOME/Zeal/Zeal.conf"
section: "{{ item.0 }}"
option: "{{ item.1 }}"
value: "{{ item.2 }}"
no_extra_spaces: true
loop:
- [ "General", "check_for_update", "true" ]
- [ "General", "hide_on_close", "true" ]
- [ "General", "minimize_to_systray", "true" ]
- [ "General", "show_systray_icon", "true" ]
- [ "General", "start_minimized", "true" ]
- [ "docsets", "path", "{{ lookup('env', 'XDG_DATA_HOME') }}/Zeal/Zeal/docsets" ]
- [ "search", "fuzzy_search_enabled", "false" ]
- [ "tabs", "open_new_tab_after_active", "false" ]
- name: Zeal docsets
block:
- name: Check missing Zeal docsets
register: zeal_missing_docsets
shell: "for i in {{ zeal_roles | join(' ') }}; do [ -d $XDG_DATA_HOME/Zeal/Zeal/docsets/$i.docset ] || echo $i; done"
changed_when: zeal_missing_docsets.stdout != ""
check_mode: no
- name: Ask for Zeal docsets
when: zeal_missing_docsets.stdout != ""
pause:
prompt: "install Zeal docsets ? [y/N]"
register: zeal_install_docsets
check_mode: no
- name: Zeal docsets
when: zeal_missing_docsets.stdout != "" and zeal_install_docsets.user_input.startswith("y")
shell: "dasht-docsets-install {{ item }}"
args:
creates: "$XDG_DATA_HOME/Zeal/Zeal/docsets/{{ item }}.docset"
loop: "{{ zeal_missing_docsets.stdout.split('\n') }}"
- name: workdir
block:
- name: Workdir
file:
state: directory
path: $HOME/workdir
- name: workdir scripts
copy:
mode: 0755
src: "workdir/{{ item }}"
dest: "$HOME/workdir/{{ item }}"
loop:
- start
- name: environment variables file
block:
- name: environment file
template:
src: environment.j2
dest: $HOME/workdir/environment
rescue:
- debug:
msg: "Could not read password store, continuing"
- name: enable remind service
systemd:
state: started
scope: user
name: remind@work.service
enabled: true
- name: scripts
block:
- name: completion directory
file:
state: directory
path: $XDG_DATA_HOME/bash_completion
- name: scripts
copy:
mode: 0755
src: "scripts/{{ item }}"
dest: "$HOME/.local/bin/{{ item }}"
loop:
- fl_tmux_dev
- fl_vpn
- fl_getDump
- name: completion scripts
copy:
src: "scripts/_{{ item }}"
dest: "$XDG_DATA_HOME/bash_completion/_{{ item }}"
loop:
- fl_tmux_dev
- name: docker images
block:
- name: check missing docker images
register: docker_missing_images
shell: '[ -n "$(docker image ls -q {{ item.0 }}:{{ item.1 }})" ] || echo "missing"'
loop: "{{ docker_images }}"
check_mode: no
changed_when: docker_missing_images.stdout != ""
- name: Ask for Docker images
when: docker_missing_images.changed
pause:
prompt: "install Fretlink Docker images ? [y/N]"
register: docker_install_images
check_mode: no
- name: install custom docker images
when: item.2 is not none and docker_missing_images.changed and docker_install_images.user_input.startswith("y")
docker_image:
path: "./roles/contexts/fretlink/files/docker/{{ item.2 }}"
tag: "{{ item.1 }}"
name: "{{ item.0 }}"
loop: "{{ docker_images }}"
- name: install repository docker images
when: item.2 is none and docker_missing_images.changed and docker_install_images.user_input.startswith("y")
docker_image:
tag: "{{ item.1 }}"
name: "{{ item.0 }}"
loop: "{{ docker_images }}"
|