aboutsummaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
Diffstat (limited to 'roles')
-rwxr-xr-xroles/local_homedirs/files/etc/systemd/user-environment-generators/local-homedirs.sh13
-rw-r--r--roles/local_homedirs/tasks/main.yml16
2 files changed, 29 insertions, 0 deletions
diff --git a/roles/local_homedirs/files/etc/systemd/user-environment-generators/local-homedirs.sh b/roles/local_homedirs/files/etc/systemd/user-environment-generators/local-homedirs.sh
new file mode 100755
index 0000000..2b760e2
--- /dev/null
+++ b/roles/local_homedirs/files/etc/systemd/user-environment-generators/local-homedirs.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+set -eu
+
+uid=$(id -u)
+username=$(id -un)
+
+if (( uid >= 1000 )); then
+ echo "XDG_DATA_HOME=/usr/local/home/${username}/.local/share"
+ echo "XDG_STATE_HOME=/usr/local/home/${username}/.local/state"
+ echo "XDG_CACHE_HOME=/usr/local/home/${username}/.cache"
+ echo "XDG_CONFIG_HOME=/usr/local/home/${username}/.config"
+fi
diff --git a/roles/local_homedirs/tasks/main.yml b/roles/local_homedirs/tasks/main.yml
index 8823672..e7109d5 100644
--- a/roles/local_homedirs/tasks/main.yml
+++ b/roles/local_homedirs/tasks/main.yml
@@ -74,3 +74,19 @@
loop:
- session optional pam_exec.so {{ local_homedir_script_ssh }}
- session optional pam_env.so conffile={{ local_homedir_pam_env_path }}
+
+- name: create systemd environment generator directory
+ file:
+ path: /etc/systemd/user-environment-generators
+ state: directory
+
+- name: create systemd environment generator
+ copy:
+ src: etc/systemd/user-environment-generators/local-homedirs.sh
+ dest: /etc/systemd/user-environment-generators/local-homedirs.sh
+ register: local_homedirs_systemd_environment_generator
+
+- name: reload daemons
+ systemd:
+ daemon_reload: yes
+ when: local_homedirs_systemd_environment_generator.changed