X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=roles%2Fcontexts%2Ffretlink%2Ftasks%2Fmain.yml;h=b7dd387f41116f4818c7fa80d0eda283e387bace;hb=c2b7cf8aa6de5e6ecf4bf9410c3f8395b43fd764;hp=bbeae933ef3305a899fc184396c9ff7481d4c308;hpb=b227070796713b671fe499b7a1d3f767b5bb9b58;p=perso%2FImmae%2FConfig%2FAnsible.git diff --git a/roles/contexts/fretlink/tasks/main.yml b/roles/contexts/fretlink/tasks/main.yml index bbeae93..b7dd387 100644 --- a/roles/contexts/fretlink/tasks/main.yml +++ b/roles/contexts/fretlink/tasks/main.yml @@ -1,46 +1,137 @@ --- - name: Import roles include_role: - name: "{{ item }}" + name: "{{ fretlink_import_item }}" loop: - programming/python - programming/haskell - programming/nodejs -- name: Config files - synchronize: - recursive: yes - archive: no - checksum: yes - src: config_files/ - dest: /$XDG_CONFIG_HOME/ -- name: Create pm2 config dir + loop_control: + loop_var: fretlink_import_item +- name: Config dirs file: - path: $XDG_CONFIG_HOME/pm2 state: directory -- name: workdir scripts - synchronize: - recursive: yes - archive: no - checksum: yes - src: workdir/ - dest: /$HOME/workdir/ -- name: chmod workdir script - file: - path: $HOME/workdir/start - mode: 0755 + 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/wpa-cute.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: extract environment - shell: "pass show Travail/Fretlink/Environment" - register: fretlink_environment - changed_when: false - check_mode: no -- name: store environment - copy: - dest: $HOME/workdir/environment - content: "{{ fretlink_environment.stdout }}" - backup: 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 }}"