roles/user/tasks/main.yml

changeset 89
86248a83a3dd
parent 76
9c024e39a565
child 93
14e0c774b916
equal deleted inserted replaced
88:3dbfd253c775 89:86248a83a3dd
1 --- 1 ---
2 # Create/update my user, don't clobber my extra groups. 2 # Create/update my user, don't clobber my extra groups.
3 - name: "User setup" 3 - name: "User setup"
4 user: 4 user:
5 name: "{{user_name}}" 5 name: "{{ user_name }}"
6 comment: "{{user_comment}}" 6 comment: "{{ user_comment }}"
7 shell: /bin/zsh 7 shell: /bin/zsh
8 groups: sudo 8 groups: sudo
9 append: true 9 append: true
10 register: user 10 register: user
11 tags: user 11 tags: user
12 12
13 - name: "User authorized_keys" 13 - name: "User authorized_keys"
14 authorized_key: 14 authorized_key:
15 manage_dir: true 15 manage_dir: true
16 user: "{{user_name}}" 16 user: "{{ user_name }}"
17 key: "{{item}}" 17 key: "{{ item }}"
18 with_file: 18 with_file:
19 - public_keys/{{user_name}} 19 - public_keys/{{ user_name }}
20 tags: user, ssh 20 tags: user, ssh
21 21
22 - name: "Clone dotfiles" 22 - name: "Clone dotfiles"
23 become: true 23 become: true
24 become_user: "{{user_name}}" 24 become_user: "{{ user_name }}"
25 shell: > 25 shell: >
26 hg clone -U {{dotfiles_default | quote}} _dotfiles_ 26 hg clone -U {{ dotfiles_default | quote }} _dotfiles_
27 && mv _dotfiles_/.hg . 27 && mv _dotfiles_/.hg .
28 && rmdir _dotfiles_ 28 && rmdir _dotfiles_
29 && hg -R ~ update -C master 29 && hg -R ~ update -C master
30 args: 30 args:
31 chdir: "{{user.home}}" 31 chdir: "{{ user.home }}"
32 creates: "{{user.home}}/.hg" 32 creates: "{{ user.home }}/.hg"
33 tags: user, dotfiles 33 tags: user, dotfiles
34 34
35 - name: "Dotfiles hg sources" 35 - name: "Dotfiles hg sources"
36 become: true 36 become: true
37 become_user: "{{user_name}}" 37 become_user: "{{ user_name }}"
38 ini_file: 38 ini_file:
39 dest: "{{user.home}}/.hg/hgrc" 39 dest: "{{ user.home }}/.hg/hgrc"
40 section: paths 40 section: paths
41 option: "{{item.name}}" 41 option: "{{ item.name }}"
42 value: "{{item.url}}" 42 value: "{{ item.url }}"
43 mode: 0640 43 mode: 0640
44 create: no 44 create: no
45 with_items: 45 with_items:
46 - {name: 'default', url: "{{dotfiles_default}}"} 46 - {name: 'default', url: "{{ dotfiles_default }}"}
47 - {name: 'default-push', url: "{{dotfiles_default_push}}"} 47 - {name: 'default-push', url: "{{ dotfiles_default_push }}"}
48 tags: user, dotfiles 48 tags: user, dotfiles
49 49
50 - name: "Update dotfiles" 50 - name: "Update dotfiles"
51 become: true 51 become: true
52 become_user: "{{user_name}}" 52 become_user: "{{ user_name }}"
53 command: hg pull -u 53 command: hg pull -u
54 args: 54 args:
55 chdir: "{{user.home}}" 55 chdir: "{{ user.home }}"
56 register: update_dotfiles 56 register: update_dotfiles
57 changed_when: update_dotfiles.stdout | match("added|updated") 57 changed_when: update_dotfiles.stdout | match("added|updated")
58 failed_when: update_dotfiles.rc > 1 58 failed_when: update_dotfiles.rc > 1
59 tags: user, dotfiles 59 tags: user, dotfiles
60 60
61 - name: "Run bin/homedir-setup" 61 - name: "Run bin/homedir-setup"
62 become: true 62 become: true
63 become_user: "{{user_name}}" 63 become_user: "{{ user_name }}"
64 shell: bin/homedir-setup 64 shell: bin/homedir-setup
65 args: 65 args:
66 chdir: "{{user.home}}" 66 chdir: "{{ user.home }}"
67 register: homedir_setup 67 register: homedir_setup
68 changed_when: homedir_setup.stdout | match("Updating|Cloning") 68 changed_when: homedir_setup.stdout | match("Updating|Cloning")
69 failed_when: homedir_setup.rc != 0 69 failed_when: homedir_setup.rc != 0
70 tags: user, dotfiles 70 tags: user, dotfiles

mercurial