---
- 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
+ - autostart/wpa-cute.desktop
- name: zeal configuration
ini_file:
path: "$XDG_CONFIG_HOME/Zeal/Zeal.conf"
args:
creates: "$XDG_DATA_HOME/Zeal/Zeal/docsets/{{ item }}.docset"
loop: "{{ zeal_missing_docsets.stdout.split('\n') }}"
-- name: Create pm2 config dir
- file:
- path: $XDG_CONFIG_HOME/pm2
- state: directory
- name: workdir
block:
+ - name: Workdir
+ file:
+ state: directory
+ path: $HOME/workdir
- name: workdir scripts
copy:
mode: 0755
- 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
+ - 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 }}"
+- name: add backup_git_dirs
+ get_url:
+ url: "https://git.immae.eu/?p=perso/Immae/Projets/Scripts/Public.git;a=blob_plain;f=backup_git_dirs;hb=HEAD"
+ dest: $HOME/.local/bin/backup_git_dirs
+ mode: 0755
+ checksum: sha256:6b93902373e1f9269adffb1d4a0353dd3382f4ce6cb75bad9f61a3c409b80c95
+- name: backup work directory
+ cron:
+ name: backup workdir
+ minute: 0
+ hour: 1
+ job: '$HOME/.local/bin/backup_git_dirs $HOME/workdir/*/'