---
- 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
+ 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 scripts
- synchronize:
- recursive: yes
- archive: no
- checksum: yes
- src: workdir/
- dest: /$HOME/workdir/
- - name: chmod workdir script
+ - name: Workdir
file:
- path: $HOME/workdir/start
+ 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: extract environment
copy:
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