-
Notifications
You must be signed in to change notification settings - Fork 0
/
playbook.yaml
105 lines (93 loc) · 2.5 KB
/
playbook.yaml
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
---
- name: Configure local workstation
hosts: localhost
gather_facts: true
become: false
vars:
include_deprecated: "false"
pre_tasks:
- name: Populate variables
ansible.builtin.include_vars:
dir: ansible/vars
ignore_unknown_extensions: true
extensions:
- ""
- "yaml"
- "yml"
- "json"
tags:
- always
- name: "Ensure system-wide directory exist"
ansible.builtin.file:
path: "{{ item }}"
state: "directory"
recurse: true
become: true
loop:
- "/usr/local/bin"
tags:
- always
- name: "Ensure directory exist"
ansible.builtin.file:
path: "{{ item }}"
state: "directory"
recurse: true
loop:
- "{{ localbin_dir }}"
- "{{ gitconfig_dir }}"
- "{{ gitconfig_dir }}/cmd"
- "{{ fonts_dir }}"
- "{{ gnupg_dir }}"
- "{{ ssh_dir }}"
tags:
- always
tasks:
- name: Common Installation for Debian (Ubuntu)
ansible.builtin.include_tasks: ansible/common.debian.yaml
when: ansible_system == "Linux" and ansible_os_family == "Debian"
tags:
- common
- packages
- name: Common Installation for Darwin (OSX)
ansible.builtin.include_tasks: ansible/common.darwin.yaml
when: ansible_system == "Darwin"
tags:
- common
- packages
- name: Common Installation
ansible.builtin.include_tasks: ansible/common.yaml
tags:
- common
- packages
- name: Configure Fonts
ansible.builtin.include_tasks: ansible/fonts.yaml
tags:
- fonts
- name: Configure Programming Language
ansible.builtin.include_tasks: ansible/languages.yaml
tags:
- proglang
- name: Configure Kubectl
ansible.builtin.include_tasks: ansible/kubectl.yaml
tags:
- kubectl
- name: Configure ZSH Shell
ansible.builtin.include_tasks: ansible/zsh.yaml
tags:
- zsh
- name: Configure Toolkit
ansible.builtin.include_tasks: ansible/toolkit.yaml
tags:
- toolkit
- name: "[Deprecated] Configure Additional Toolkit"
ansible.builtin.include_tasks: "{{ item }}"
with_fileglob:
- ansible/deprecated/*.yaml
tags:
- deprecated
when: include_deprecated | bool
- name: "Post installation"
ansible.builtin.debug:
msg: "{{ post_install.split('\n') }}"
tags:
- common