summaryrefslogtreecommitdiff
path: root/roles/init
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@fretlink.com>2018-11-02 17:03:49 +0100
committerIsmaël Bouya <ismael.bouya@fretlink.com>2018-11-02 17:03:49 +0100
commit397c4fed757d201af627636822981e85e84ea572 (patch)
treed6733d4022bf04784be84581f6c16e96a1b229e8 /roles/init
downloadAnsible-397c4fed757d201af627636822981e85e84ea572.tar.gz
Ansible-397c4fed757d201af627636822981e85e84ea572.tar.zst
Ansible-397c4fed757d201af627636822981e85e84ea572.zip
Validation initiale
Diffstat (limited to 'roles/init')
-rw-r--r--roles/init/tasks/main.yml24
-rw-r--r--roles/init/templates/pam_environment.j282
2 files changed, 106 insertions, 0 deletions
diff --git a/roles/init/tasks/main.yml b/roles/init/tasks/main.yml
new file mode 100644
index 0000000..d3f0f6b
--- /dev/null
+++ b/roles/init/tasks/main.yml
@@ -0,0 +1,24 @@
1---
2- name: Get gnupg runtime folder name
3 shell: 'GNUPGHOME=$XDG_CONFIG_HOME/gnupg gpgconf --list-dirs socketdir | sed -e "s@$XDG_RUNTIME_DIR/gnupg/@@"'
4 register: gnupg_runtime_dir_cmd
5- name: Add pam_environment
6 register: pam_environment
7 template:
8 src: pam_environment.j2
9 dest: $XDG_CONFIG_HOME/pam_environment
10- name: Signal the change
11 when: pam_environment.changed
12 debug:
13 msg: "\u26A0\uFE0F \u26A0\uFE0F You need to log out and back in to update your environment \u26A0\uFE0F \u26A0\uFE0F"
14- name: Create XDG dirs
15 file:
16 path: "{{ item }}"
17 state: directory
18 loop:
19 - "$XDG_CONFIG_HOME"
20 - "$XDG_STATE_HOME"
21 - "$XDG_DATA_HOME"
22 - "$XDG_CACHE_HOME"
23 - "$HOME/Desktop"
24 - "$HOME/Downloads"
diff --git a/roles/init/templates/pam_environment.j2 b/roles/init/templates/pam_environment.j2
new file mode 100644
index 0000000..4327eeb
--- /dev/null
+++ b/roles/init/templates/pam_environment.j2
@@ -0,0 +1,82 @@
1# This wil be set correctly in systemd service since the service manager
2# itself goes through /etc/pam.d/system-login (as systemd-user) and
3# takes its environment from pam_env
4# HOME doesn’t even exist when arriving here, but the user’s home is
5# available via @{HOME}. But pam_systemd still sets XDG_RUNTIME_DIR (and
6# only that one in the case of systemd-user)
7
8# Those are already defined in /etc/security/pam_env.conf
9XDG_CONFIG_HOME DEFAULT="@{HOME}/.config"
10XDG_CACHE_HOME DEFAULT="@{HOME}/.cache"
11XDG_DATA_HOME DEFAULT="@{HOME}/.local/share"
12XDG_STATE_HOME DEFAULT="@{HOME}/.local/state"
13
14EDITOR DEFAULT="vim"
15VISUAL DEFAULT="vim"
16PAGER DEFAULT="less"
17BROWSER DEFAULT="firefox"
18
19# Ansible
20ANSIBLE_CONFIG DEFAULT="${XDG_CONFIG_HOME}/ansible/ansible.cfg"
21
22# Python
23IPYTHONDIR DEFAULT="${XDG_CONFIG_HOME}/ipython"
24JUPYTER_CONFIG_DIR DEFAULT="${XDG_CONFIG_HOME}/jupyter"
25PYTHONSTARTUP DEFAULT="${XDG_CONFIG_HOME}/python/startup_script.py"
26
27# VIM
28VIMINIT DEFAULT=":source ${XDG_CONFIG_HOME}/vim/vimrc"
29
30# Mplayer
31MPLAYER_HOME DEFAULT="${XDG_CONFIG_HOME}/mplayer"
32
33# X11
34XAUTHORITY DEFAULT="${XDG_RUNTIME_DIR}/Xauthority"
35
36# GPG
37GNUPGHOME DEFAULT="${XDG_CONFIG_HOME}/gnupg"
38
39# SSH
40SSH_AGENT_PID DEFAULT=
41SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/gnupg/{{ gnupg_runtime_dir_cmd.get('stdout', debug_gnupg_runtime_dir) }}/S.gpg-agent.ssh"
42
43# Less
44LESSHISTFILE DEFAULT="${XDG_STATE_HOME}/less/history"
45
46# Pass
47PASSWORD_STORE_DIR DEFAULT="${XDG_DATA_HOME}/pass"
48
49# Postgresql
50PSQLRC DEFAULT="${XDG_CONFIG_HOME}/psql/psqlrc"
51PSQL_HISTORY DEFAULT="${XDG_STATE_HOME}/psql/psql_history"
52PGPASSFILE DEFAULT="${XDG_CONFIG_HOME}/psql/pgpass"
53PGSERVICEFILE DEFAULT="${XDG_CONFIG_HOME}/psql/pg_service.conf"
54
55# Sqlite
56SQLITE_HISTORY DEFAULT="${XDG_STATE_HOME}/sqlite_history"
57
58# Stack
59STACK_ROOT DEFAULT="${XDG_DATA_HOME}/stack"
60
61# Nodejs
62NVM_DIR DEFAULT="${XDG_DATA_HOME}/nvm"
63NPM_CONFIG_USERCONFIG DEFAULT="${XDG_CONFIG_HOME}/npm/npmrc"
64
65# TMUX
66TMUX_TMPDIR DEFAULT="${XDG_RUNTIME_DIR}"
67
68# node_modules/pm2/paths.js
69PM2_HOME DEFAULT="${XDG_DATA_HOME}/pm2"
70PM2_CONF_FILE DEFAULT="${XDG_CONFIG_HOME}/pm2/conf.js"
71PM2_MODULE_CONF_FILE DEFAULT="${XDG_CONFIG_HOME}/pm2/module_conf.js"
72PM2_LOG_FILE_PATH DEFAULT="${XDG_STATE_HOME}/pm2/pm2.log"
73PM2_PID_FILE_PATH DEFAULT="${XDG_RUNTIME_DIR}/pm2/pm2.pid"
74PM2_RELOAD_LOCKFILE DEFAULT="${XDG_RUNTIME_DIR}/pm2/reload.lock"
75PM2_DEFAULT_PID_PATH DEFAULT="${XDG_RUNTIME_DIR}/pm2/pids"
76PM2_DEFAULT_LOG_PATH DEFAULT="${XDG_STATE_HOME}/pm2/logs"
77PM2_DAEMON_RPC_PORT DEFAULT="${XDG_RUNTIME_DIR}/pm2/rpc.sock"
78PM2_DAEMON_PUB_PORT DEFAULT="${XDG_RUNTIME_DIR}/pm2/pub.sock"
79PM2_INTERACTOR_RPC_PORT DEFAULT="${XDG_RUNTIME_DIR}/pm2/interactor.sock"
80PM2_INTERACTOR_LOG_FILE_PATH DEFAULT="${XDG_STATE_HOME}/pm2/agent.log"
81PM2_INTERACTOR_PID_PATH DEFAULT="${XDG_RUNTIME_DIR}/pm2/agent.pid"
82PM2_INTERACTION_CONF DEFAULT="${XDG_CONFIG_HOME}/pm2/agent.json5"