X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=roles%2Fcontexts%2Ffretlink%2Ftasks%2Fmain.yml;h=0908eca1a9aff8d478336ecdee36b95cbe8e86d9;hb=b7b8fe64fb3ed13ef535c7d4789da3a5001e355d;hp=07861ed2a5e5901ba5e7b14c607e8edeed46164b;hpb=3dd3d428e1c9bd516299d03014485d79db68fff4;p=perso%2FImmae%2FConfig%2FAnsible.git diff --git a/roles/contexts/fretlink/tasks/main.yml b/roles/contexts/fretlink/tasks/main.yml index 07861ed..0908eca 100644 --- a/roles/contexts/fretlink/tasks/main.yml +++ b/roles/contexts/fretlink/tasks/main.yml @@ -1,17 +1,27 @@ --- - 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 - name: zeal configuration ini_file: path: "$XDG_CONFIG_HOME/Zeal/Zeal.conf" @@ -28,12 +38,31 @@ - [ "docsets", "path", "{{ lookup('env', 'XDG_DATA_HOME') }}/Zeal/Zeal/docsets" ] - [ "search", "fuzzy_search_enabled", "false" ] - [ "tabs", "open_new_tab_after_active", "false" ] -- name: Create pm2 config dir - file: - path: $XDG_CONFIG_HOME/pm2 - state: directory +- 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 @@ -43,18 +72,64 @@ - 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 + - 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 }}"