|
6 | 6 | git_user: Utkarsh Upadhyay |
7 | 7 | git_email: musically.ut@gmail.com |
8 | 8 |
|
| 9 | + sshd: ssh |
| 10 | + sshd_config: /etc/ssh/sshd_config |
| 11 | + |
| 12 | + handlers: |
| 13 | + - name: restart sshd |
| 14 | + service: name=sshd state=restarted |
| 15 | + |
9 | 16 | tasks: |
10 | | - |
| 17 | + |
11 | 18 | # User management |
12 | 19 |
|
13 | 20 | - name: Install sudo |
14 | 21 | package: |
15 | 22 | name: sudo |
16 | 23 | state: present |
| 24 | + tags: |
| 25 | + - user |
17 | 26 |
|
18 | 27 | - name: Make sure we have a 'wheel' group |
19 | 28 | group: |
20 | 29 | name: wheel |
21 | 30 | state: present |
| 31 | + tags: |
| 32 | + - user |
22 | 33 |
|
23 | 34 | - name: Allow 'wheel' group to have passwordless sudo |
24 | 35 | lineinfile: |
|
27 | 38 | regexp: '^%wheel' |
28 | 39 | line: '%wheel ALL=(ALL) NOPASSWD: ALL' |
29 | 40 | validate: 'visudo -cf %s' |
| 41 | + tags: |
| 42 | + - user |
30 | 43 |
|
31 | 44 | - name: "Create/add {{ user_name }} to wheel group" |
32 | | - user: |
| 45 | + user: |
33 | 46 | name: "{{ user_name }}" |
34 | | - groups: wheel |
| 47 | + groups: wheel |
35 | 48 | shell: /bin/bash |
36 | | - append: yes |
37 | | - state: present |
| 49 | + append: yes |
| 50 | + state: present |
38 | 51 | createhome: yes |
| 52 | + tags: |
| 53 | + - user |
39 | 54 |
|
40 | 55 | - name: "Set up authorized keys for the {{ user_name }} user" |
41 | | - authorized_key: |
| 56 | + authorized_key: |
42 | 57 | user: "{{ user_name }}" |
43 | 58 | key: "{{ item }}" |
44 | 59 | with_file: |
45 | 60 | - keys/id_ed25519.pub |
| 61 | + tags: |
| 62 | + - user |
| 63 | + |
| 64 | + - name: Disable empty password login |
| 65 | + lineinfile: dest={{ sshd_config }} regexp="^#?PermitEmptyPasswords" line="PermitEmptyPasswords no" |
| 66 | + notify: restart sshd |
| 67 | + tags: |
| 68 | + - user |
| 69 | + |
| 70 | + - name: Disable remote root login |
| 71 | + lineinfile: dest={{ sshd_config }} regexp="^#?PermitRootLogin" line="PermitRootLogin no" |
| 72 | + notify: restart sshd |
| 73 | + tags: |
| 74 | + - user |
| 75 | + |
| 76 | + - name: Disable password login |
| 77 | + lineinfile: dest={{ sshd_config }} regexp="^(#\s*)?PasswordAuthentication " line="PasswordAuthentication no" |
| 78 | + notify: restart sshd |
| 79 | + tags: |
| 80 | + - user |
46 | 81 |
|
47 | 82 | # Install dev tools |
48 | 83 |
|
49 | 84 | - name: Install VIM |
50 | 85 | package: |
51 | 86 | name: vim |
52 | 87 | state: present |
| 88 | + tags: |
| 89 | + - dev |
53 | 90 |
|
54 | 91 | - name: Install git |
55 | 92 | package: |
56 | 93 | name: git |
57 | 94 | state: present |
| 95 | + tags: |
| 96 | + - dev |
58 | 97 |
|
59 | 98 | - name: Install tmux |
60 | 99 | package: |
61 | 100 | name: tmux |
62 | 101 | state: present |
| 102 | + tags: |
| 103 | + - dev |
63 | 104 |
|
64 | 105 | - name: Install htop |
65 | 106 | package: |
66 | 107 | name: htop |
67 | 108 | state: present |
| 109 | + tags: |
| 110 | + - dev |
68 | 111 |
|
69 | 112 | - name: Ensure local/z dir exists |
70 | 113 | become: true |
71 | 114 | become_user: "{{ user_name }}" |
72 | | - file: |
| 115 | + file: |
73 | 116 | path: "/home/{{ user_name }}/.local/z" |
74 | 117 | state: directory |
| 118 | + tags: |
| 119 | + - dev |
75 | 120 |
|
76 | 121 | - name: Install z.sh |
77 | 122 | become: true |
78 | 123 | become_user: "{{ user_name }}" |
79 | | - get_url: |
| 124 | + get_url: |
80 | 125 | url: https://raw.githubusercontent.com/rupa/z/master/z.sh |
81 | 126 | dest: "/home/{{ user_name }}/.local/z/z.sh" |
| 127 | + tags: |
| 128 | + - dev |
82 | 129 |
|
83 | 130 | - name: Install nvm.sh |
84 | 131 | become: true |
|
88 | 135 | args: |
89 | 136 | warn: false |
90 | 137 | creates: "/home/{{ user_name }}/.nvm/nvm.sh" |
| 138 | + tags: |
| 139 | + - dev |
91 | 140 |
|
92 | 141 | - name: Install Ruby |
93 | 142 | package: |
|
101 | 150 | args: |
102 | 151 | creates: "/home/{{ user_name }}/.nvm/versions/node/v12*" |
103 | 152 | executable: bash |
| 153 | + tags: |
| 154 | + - dev |
104 | 155 |
|
105 | 156 | # Prepare VIM |
106 | 157 |
|
|
111 | 162 | args: |
112 | 163 | warn: false |
113 | 164 | creates: "/home/{{ user_name }}/.vim/autoload/plug.vim" |
| 165 | + tags: |
| 166 | + - dev |
114 | 167 |
|
115 | 168 | # Copy configuration files |
116 | 169 | - name: Install vim plugins |
117 | 170 | become: true |
118 | 171 | become_user: "{{ user_name }}" |
119 | 172 | shell: "vim +PlugInstall +qall" |
| 173 | + tags: |
| 174 | + - dev |
120 | 175 |
|
121 | 176 | - name: Copy vimrc |
122 | 177 | copy: |
123 | 178 | src: dotfiles/vimrc |
124 | 179 | dest: "/home/{{ user_name }}/.vimrc" |
125 | 180 | owner: "{{ user_name }}" |
| 181 | + tags: |
| 182 | + - dev |
126 | 183 |
|
127 | 184 | - name: Copy bashrc |
128 | 185 | copy: |
129 | 186 | src: dotfiles/bashrc |
130 | 187 | dest: "/home/{{ user_name }}/.bashrc" |
131 | 188 | owner: "{{ user_name }}" |
| 189 | + tags: |
| 190 | + - dev |
132 | 191 |
|
133 | 192 | - name: Copy tmux.conf |
134 | 193 | copy: |
135 | 194 | src: dotfiles/tmux.conf |
136 | 195 | dest: "/home/{{ user_name }}/.tmux.conf" |
137 | 196 | owner: "{{ user_name }}" |
| 197 | + tags: |
| 198 | + - dev |
138 | 199 |
|
139 | 200 | - name: Copy gitconfig |
140 | 201 | copy: |
141 | 202 | src: dotfiles/gitconfig |
142 | 203 | dest: "/home/{{ user_name }}/.gitconfig" |
143 | 204 | owner: "{{ user_name }}" |
| 205 | + tags: |
| 206 | + - dev |
144 | 207 |
|
145 | 208 | - name: Fix user's full name in gitconfig |
146 | 209 | become_user: "{{ user_name }}" |
147 | 210 | become: true |
148 | 211 | shell: "git config --global user.name '{{ git_user }}'" |
| 212 | + tags: |
| 213 | + - dev |
149 | 214 |
|
150 | 215 | - name: Fix user's email in gitconfig |
151 | 216 | become_user: "{{ user_name }}" |
152 | 217 | become: true |
153 | 218 | shell: "git config --global user.email '{{ git_email }}'" |
| 219 | + tags: |
| 220 | + - dev |
154 | 221 |
|
155 | 222 | - name: Copy gitignore |
156 | 223 | copy: |
157 | 224 | src: dotfiles/gitignore |
158 | 225 | dest: "/home/{{ user_name }}/.gitignore" |
159 | 226 | owner: "{{ user_name }}" |
| 227 | + tags: |
| 228 | + - dev |
160 | 229 |
|
161 | 230 | - name: Ensure ~/bin dir exists |
162 | 231 | become: true |
163 | 232 | become_user: "{{ user_name }}" |
164 | | - file: |
| 233 | + file: |
165 | 234 | path: "/home/{{ user_name }}/bin" |
166 | 235 | state: directory |
| 236 | + tags: |
| 237 | + - dev |
167 | 238 |
|
168 | 239 | - name: Copy conda.sh |
169 | 240 | copy: |
170 | 241 | src: dotfiles/conda.sh |
171 | 242 | dest: "/home/{{ user_name }}/bin/conda.sh" |
172 | 243 | owner: "{{ user_name }}" |
| 244 | + tags: |
| 245 | + - dev |
| 246 | + |
173 | 247 |
|
174 | | - |
175 | 248 | # Install powerline fonts |
176 | 249 |
|
177 | 250 | - name: Fetch Powerline fonts |
178 | 251 | become: true |
179 | 252 | become_user: "{{ user_name }}" |
180 | | - git: |
| 253 | + git: |
181 | 254 | repo: https://github.com/powerline/fonts.git |
182 | 255 | dest: "/home/{{ user_name }}/powerline-fonts" |
| 256 | + tags: |
| 257 | + - dev |
183 | 258 |
|
184 | 259 | - name: Install fonts |
185 | 260 | become: true |
186 | 261 | become_user: "{{ user_name }}" |
187 | 262 | shell: ./install.sh |
188 | | - args: |
| 263 | + args: |
189 | 264 | chdir: "/home/{{ user_name }}/powerline-fonts" |
190 | 265 | creates: "/home/{{ user_name }}/.local/share/fonts/Anonymice Powerline.ttf" |
| 266 | + tags: |
| 267 | + - dev |
| 268 | + |
191 | 269 |
|
192 | | - |
193 | 270 | # Install Miniconda.sh |
194 | | - |
| 271 | + |
195 | 272 | - name: Download miniconda |
196 | 273 | become: true |
197 | 274 | become_user: "{{ user_name }}" |
198 | | - get_url: |
| 275 | + get_url: |
199 | 276 | url: https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh |
200 | 277 | dest: "/home/{{ user_name }}/miniconda.sh" |
| 278 | + tags: |
| 279 | + - dev |
201 | 280 |
|
202 | 281 | - name: Install miniconda |
203 | 282 | become: true |
204 | 283 | become_user: "{{ user_name }}" |
205 | 284 | shell: "bash /home/{{ user_name }}/miniconda.sh -b -p /home/{{ user_name }}/miniconda3" |
206 | 285 | args: |
207 | 286 | creates: "/home/{{ user_name }}/miniconda3" |
| 287 | + tags: |
| 288 | + - dev |
0 commit comments