summaryrefslogtreecommitdiff
path: root/roles/contexts/fretlink/tasks/main.yml
blob: b7dd387f41116f4818c7fa80d0eda283e387bace (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
---
- 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 }}"