]> git.immae.eu Git - perso/Immae/Config/Ansible.git/blobdiff - roles/contexts/fretlink/tasks/main.yml
Add wpa-cute
[perso/Immae/Config/Ansible.git] / roles / contexts / fretlink / tasks / main.yml
index 78f733a43cc12805047cca1f6f6721561af09c6a..b7dd387f41116f4818c7fa80d0eda283e387bace 100644 (file)
@@ -1,17 +1,28 @@
 ---
 - name: Import roles
   include_role:
-    name: "{{ item }}"
+    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"
+    - autostart/zeal.desktop
+    - autostart/wpa-cute.desktop
 - name: zeal configuration
   ini_file:
     path: "$XDG_CONFIG_HOME/Zeal/Zeal.conf"
       args:
         creates: "$XDG_DATA_HOME/Zeal/Zeal/docsets/{{ item }}.docset"
       loop: "{{ zeal_missing_docsets.stdout.split('\n') }}"
-- name: Create pm2 config dir
-  file:
-    path: $XDG_CONFIG_HOME/pm2
-    state: directory
 - name: workdir
   block:
+    - name: Workdir
+      file:
+        state: directory
+        path: $HOME/workdir
     - name: workdir scripts
       copy:
         mode: 0755
         - start
     - name: environment variables file
       block:
-        - name: extract environment
-          shell: "pass show Travail/Fretlink/Environment"
-          register: fretlink_environment
-          changed_when: false
-          check_mode: no
-        - name: store environment
-          copy:
+        - name: environment file
+          template:
+            src: environment.j2
             dest: $HOME/workdir/environment
-            content: "{{ fretlink_environment.stdout }}"
+      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
+        - fl_restoreDump
+    - 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 }}"