]> git.immae.eu Git - perso/Immae/Config/Ansible.git/blob - roles/init/tasks/main.yml
Add user dirs configuration
[perso/Immae/Config/Ansible.git] / roles / init / tasks / main.yml
1 ---
2 - name: Create XDG dirs
3 file:
4 path: "{{ item }}"
5 state: directory
6 loop:
7 - "$XDG_CONFIG_HOME"
8 - "$XDG_STATE_HOME"
9 - "$XDG_STATE_HOME/bash"
10 - "$XDG_DATA_HOME"
11 - "$XDG_CACHE_HOME"
12 - "$HOME/Downloads"
13 - name: Get gnupg runtime folder name
14 shell: 'GNUPGHOME=$XDG_CONFIG_HOME/gnupg gpgconf --list-dirs socketdir | sed -e "s@$XDG_RUNTIME_DIR/gnupg/@@"'
15 changed_when: false
16 register: gnupg_runtime_dir_cmd
17 check_mode: no
18 - name: Add user dirs
19 copy:
20 src: "user_dirs/{{ item }}"
21 dest: "$XDG_CONFIG_HOME/{{ item }}"
22 loop:
23 - user-dirs.dirs
24 - user-dirs.locale
25 - name: Add pam_environment
26 register: pam_environment
27 template:
28 src: pam_environment.j2
29 dest: $XDG_CONFIG_HOME/pam_environment
30 - name: Remove old lines in bashrc_temp
31 lineinfile:
32 line: "{{ ('unset ' ~ item | regex_replace('=.*')) if item != '' and item.0 != '#' else '' }}"
33 dest: $XDG_STATE_HOME/bash/bashrc_temp
34 insertafter: EOF
35 create: true
36 state: present
37 loop: "{{ pam_environment.diff.0.before.split('\n')|difference(pam_environment.diff.0.after.split('\n')) | regex_replace('[\\\\t]*DEFAULT') }}"
38 when: pam_environment.changed
39 - name: Add new lines in bashrc_temp
40 lineinfile:
41 line: "{{ ('export ' ~ item) | regex_replace('@{HOME}', '${HOME}') if item != '' and item.0 != '#' else '' }}"
42 dest: $XDG_STATE_HOME/bash/bashrc_temp
43 insertafter: EOF
44 create: true
45 state: present
46 loop: "{{ pam_environment.diff.0.after.split('\n')|difference(pam_environment.diff.0.before.split('\n')) | regex_replace('[\\\\t]*DEFAULT', '') }}"
47 when: pam_environment.changed
48 - name: Signal the change
49 when: pam_environment.changed
50 debug:
51 msg: "\u26A0\uFE0F \u26A0\uFE0F You need to log out and back in to update your environment \u26A0\uFE0F \u26A0\uFE0F"