Manage /var/lib/dotfiles as soon as possible
This commit is contained in:
94
playbook.yml
94
playbook.yml
@@ -102,6 +102,54 @@
|
|||||||
when: distro == 'archlinux'
|
when: distro == 'archlinux'
|
||||||
tags: [system-update]
|
tags: [system-update]
|
||||||
|
|
||||||
|
- block:
|
||||||
|
- name: create dotfiles group
|
||||||
|
group:
|
||||||
|
name: dotfiles
|
||||||
|
state: present
|
||||||
|
become: true
|
||||||
|
become_user: root
|
||||||
|
|
||||||
|
- name: create dotfiles user
|
||||||
|
user:
|
||||||
|
name: dotfiles
|
||||||
|
group: dotfiles
|
||||||
|
home: /var/lib/dotfiles
|
||||||
|
create_home: false
|
||||||
|
shell: /bin/bash
|
||||||
|
system: true
|
||||||
|
become: true
|
||||||
|
become_user: root
|
||||||
|
|
||||||
|
- name: create dotfiles directory
|
||||||
|
file:
|
||||||
|
state: directory
|
||||||
|
path: /var/lib/dotfiles
|
||||||
|
owner: dotfiles
|
||||||
|
group: dotfiles
|
||||||
|
mode: '0775' # group needs write access!
|
||||||
|
become: true
|
||||||
|
become_user: root
|
||||||
|
|
||||||
|
- name: fix permissions for dotfiles directory
|
||||||
|
shell: |
|
||||||
|
# There is no sane way to specify the global .gitconfig to use, so we
|
||||||
|
# actually have to override HOME so git looks into ~/.gitconfig
|
||||||
|
export HOME="$(mktemp -d)"
|
||||||
|
set -o pipefail
|
||||||
|
set -o errexit
|
||||||
|
cd /var/lib/dotfiles
|
||||||
|
git config --global --add safe.directory /var/lib/dotfiles
|
||||||
|
git ls-tree -z --name-only HEAD | xargs --null chown --changes --recursive dotfiles:dotfiles
|
||||||
|
git ls-tree -z --name-only HEAD | xargs --null chmod --changes --recursive g+wX /var/lib/dotfiles
|
||||||
|
args:
|
||||||
|
executable: /bin/bash
|
||||||
|
register: dotfiles_permission_change
|
||||||
|
become: true
|
||||||
|
become_user: root
|
||||||
|
changed_when: dotfiles_permission_change.stdout_lines|length > 0
|
||||||
|
tags: [dotfiles-directory]
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: install sudo
|
- name: install sudo
|
||||||
package:
|
package:
|
||||||
@@ -804,52 +852,6 @@
|
|||||||
|
|
||||||
tags: [spotify]
|
tags: [spotify]
|
||||||
|
|
||||||
- name: create dotfiles group
|
|
||||||
group:
|
|
||||||
name: dotfiles
|
|
||||||
state: present
|
|
||||||
become: true
|
|
||||||
become_user: root
|
|
||||||
|
|
||||||
- name: create dotfiles user
|
|
||||||
user:
|
|
||||||
name: dotfiles
|
|
||||||
group: dotfiles
|
|
||||||
home: /var/lib/dotfiles
|
|
||||||
create_home: false
|
|
||||||
shell: /bin/bash
|
|
||||||
system: true
|
|
||||||
become: true
|
|
||||||
become_user: root
|
|
||||||
|
|
||||||
- name: create dotfiles directory
|
|
||||||
file:
|
|
||||||
state: directory
|
|
||||||
path: /var/lib/dotfiles
|
|
||||||
owner: dotfiles
|
|
||||||
group: dotfiles
|
|
||||||
mode: '0775' # group needs write access!
|
|
||||||
become: true
|
|
||||||
become_user: root
|
|
||||||
|
|
||||||
- name: fix permissions for dotfiles directory
|
|
||||||
shell: |
|
|
||||||
# There is no sane way to specify the global .gitconfig to use, so we
|
|
||||||
# actually have to override HOME so git looks into ~/.gitconfig
|
|
||||||
export HOME="$(mktemp -d)"
|
|
||||||
set -o pipefail
|
|
||||||
set -o errexit
|
|
||||||
cd /var/lib/dotfiles
|
|
||||||
git config --global --add safe.directory /var/lib/dotfiles
|
|
||||||
git ls-tree -z --name-only HEAD | xargs --null chown --changes --recursive dotfiles:dotfiles
|
|
||||||
git ls-tree -z --name-only HEAD | xargs --null chmod --changes --recursive g+wX /var/lib/dotfiles
|
|
||||||
args:
|
|
||||||
executable: /bin/bash
|
|
||||||
register: dotfiles_permission_change
|
|
||||||
become: true
|
|
||||||
become_user: root
|
|
||||||
changed_when: dotfiles_permission_change.stdout_lines|length > 0
|
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
users: "{{ machine.users }}"
|
users: "{{ machine.users }}"
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
Reference in New Issue
Block a user