--- - name: Import roles include_role: 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/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: 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 }}"