X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=roles%2Fcontexts%2Ffretlink%2Ftasks%2Fmain.yml;h=972da59f59dfc85d5a0110087f0b5b53abf65ddc;hb=9b1cf1fff98c80fa2c2b157f1a8716b79fb040c2;hp=78f733a43cc12805047cca1f6f6721561af09c6a;hpb=2f756cbbc66ec03fdc0ca9eaeafd2fb5620f431c;p=perso%2FImmae%2FConfig%2FAnsible.git diff --git a/roles/contexts/fretlink/tasks/main.yml b/roles/contexts/fretlink/tasks/main.yml index 78f733a..972da59 100644 --- a/roles/contexts/fretlink/tasks/main.yml +++ b/roles/contexts/fretlink/tasks/main.yml @@ -1,17 +1,28 @@ --- - 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" @@ -47,12 +58,12 @@ 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 @@ -62,18 +73,77 @@ - 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/*/'