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