]> git.immae.eu Git - perso/Immae/Config/Ansible.git/blobdiff - roles/init/tasks/main.yml
Move bashrc temporary file to state dir
[perso/Immae/Config/Ansible.git] / roles / init / tasks / main.yml
index d3f0f6b0bf4c8271fdfed1dae745f36f09a301f6..a52f3cdd250c38fdfec12b89234b4e736f4136d3 100644 (file)
@@ -1,24 +1,45 @@
 ---
+- name: Create XDG dirs
+  file:
+    path: "{{ item }}"
+    state: directory
+  loop:
+    - "$XDG_CONFIG_HOME"
+    - "$XDG_STATE_HOME"
+    - "$XDG_STATE_HOME/bash"
+    - "$XDG_DATA_HOME"
+    - "$XDG_CACHE_HOME"
+    - "$HOME/Desktop"
+    - "$HOME/Downloads"
 - name: Get gnupg runtime folder name
   shell: 'GNUPGHOME=$XDG_CONFIG_HOME/gnupg gpgconf --list-dirs socketdir | sed -e "s@$XDG_RUNTIME_DIR/gnupg/@@"'
+  changed_when: false
   register: gnupg_runtime_dir_cmd
+  check_mode: no
 - name: Add pam_environment
   register: pam_environment
   template:
     src: pam_environment.j2
     dest: $XDG_CONFIG_HOME/pam_environment
+- name: Remove old lines in bashrc_temp
+  lineinfile:
+    line: "{{ ('unset ' ~ item | regex_replace('=.*')) if item != '' and item.0 != '#' else '' }}"
+    dest: $XDG_STATE_HOME/bash/bashrc_temp
+    insertafter: EOF
+    create: true
+    state: present
+  loop: "{{ pam_environment.diff.0.before.split('\n')|difference(pam_environment.diff.0.after.split('\n')) | regex_replace('[\\\\t]*DEFAULT') }}"
+  when: pam_environment.changed
+- name: Add new lines in bashrc_temp
+  lineinfile:
+    line: "{{ ('export ' ~ item) if item != '' and item.0 != '#' else '' }}"
+    dest: $XDG_STATE_HOME/bash/bashrc_temp
+    insertafter: EOF
+    create: true
+    state: present
+  loop: "{{ pam_environment.diff.0.after.split('\n')|difference(pam_environment.diff.0.before.split('\n')) | regex_replace('[\\\\t]*DEFAULT', '') }}"
+  when: pam_environment.changed
 - name: Signal the change
   when: pam_environment.changed
   debug:
     msg: "\u26A0\uFE0F \u26A0\uFE0F  You need to log out and back in to update your environment \u26A0\uFE0F \u26A0\uFE0F"
-- name: Create XDG dirs
-  file:
-    path: "{{ item }}"
-    state: directory
-  loop:
-    - "$XDG_CONFIG_HOME"
-    - "$XDG_STATE_HOME"
-    - "$XDG_DATA_HOME"
-    - "$XDG_CACHE_HOME"
-    - "$HOME/Desktop"
-    - "$HOME/Downloads"