summaryrefslogblamecommitdiff
path: root/roles/contexts/fretlink/tasks/main.yml
blob: 5b75f9b66295f0526f4fbe99517a0c3332404b20 (plain) (tree)
1
2
3
4
5
6
7
8
9
10


                    
                                      



                         

                                  







                                       
                    



                                       
                            















                                                                                     


















                                                                                                                           

               



                           
                           
           
                  



                                        

                                      


                                
                                           


                                                            





                             














                                            
                        





                                                          


























                                                                                                                     
---
- 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
- 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 }}"