-
Notifications
You must be signed in to change notification settings - Fork 0
/
user_config.yml
65 lines (58 loc) · 1.88 KB
/
user_config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# vim: set ts=2
---
- name: Configure user {{ username }}
hosts: all
gather_facts: no
become_user: "{{ username }}"
become: yes
vars:
username: crash
github_username: crash5
tasks:
- name: Set authorized_keys for user {{ username }}
ansible.posix.authorized_key:
user: "{{ username }}"
state: present
exclusive: yes # remove other keys
key: |
{{ lookup('file', 'files/' ~ username ~ '.authorized_key', errors='warn') }}
{{ lookup('url', 'https://github.com/' ~ github_username ~ '.keys', errors='warn') if github_username else '' }}
- name: Checkout dotfiles for user {{ username }}
ansible.builtin.git:
repo: 'https://github.com/{{ github_username }}/.config.git'
dest: ~/.config
version: master
update: no
- name: Add .bashrc include for user {{ username }}
ansible.builtin.lineinfile:
state: present
create: yes
path: ~/.bashrc
insertafter: EOF
search_string: source ~/.config/bash/bashrc
line: source ~/.config/bash/bashrc
- name: Comment out history settings from original bashrc for user {{ username }}
ansible.builtin.lineinfile:
path: ~/.bashrc
create: yes
regexp: '(^{{ item }}.*)'
line: '# \1'
state: present
backrefs: yes
loop:
- HISTCONTROL
- HISTSIZE
- HISTFILESIZE
- name: Add .profile include for user {{ username }}
ansible.builtin.lineinfile:
state: present
create: yes
path: ~/.profile
insertbefore: BOF
search_string: . ~/.config/bash/profile
line: . ~/.config/bash/profile
- name: Run bootstrap script for user {{ username }}
ansible.builtin.shell:
cmd: . ~/.profile && ./bootstrap.sh
chdir: ~/.config/
creates: ~/.local/share/bash