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