-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplaybook.yml
179 lines (160 loc) · 3.22 KB
/
playbook.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
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
---
- name: Switch from Debian stable to Debian testing
hosts: all
vars:
apt_repositories:
- file: debian-main
repo: deb http://deb.debian.org/debian/ testing main contrib non-free
- file: debian-updates
repo: deb http://deb.debian.org/debian/ testing-updates main contrib non-free
- file: debian-security
repo: deb http://deb.debian.org/debian-security testing-security main
roles:
- add-apt-repo
- system-upgrade
tags:
- basic-system
- debian-upgrade
- name: Configure some low-level settings
hosts: all
vars:
blacklisted_modules: [ pcspkr ]
roles:
- blacklist-modules
- keyboard
tags:
- basic-system
- settings
- name: Install requirements for Ansible
hosts: all
become: yes
tasks:
- name: Ensure python3-pip is installed
apt:
update_cache: yes
name:
- python3-pip
- name: Ensure pexpect is installed
pip:
name: pexpect
tags:
- basic-system
- ansible-requirements
- name: Install required packages from apt
hosts: all
roles: [ apt-install ]
tags:
- basic-system
- apt-install
- name: Install and configure zsh + oh-my-zsh
hosts: all
roles: [ zsh ]
tags:
- basic-system
- zsh
# TODO Make a dedicated role?
- name: Install Alacritty
hosts: all
roles: [ apt-install ]
vars:
apt_packages:
- cargo
- cmake
- pkg-config
- libfreetype6-dev
- libfontconfig1-dev
- libxcb-xfixes0-dev
- libxkbcommon-dev
- python3
post_tasks:
- name: Install Cargo package
shell: "cargo install alacritty --locked"
tags:
- basic-system
- alacritty
- name: Create and deploy a new SSH key
hosts: all
roles: [ ssh-key ]
tags:
- basic-system
- ssh-key
- name: Prepare my home directory
hosts: all
roles: [ homedir ]
tags:
- basic-system
- homedir
- name: Setup my dotfiles
hosts: all
vars_prompt:
- name: "gpg_passphrase"
prompt: "Enter GPG passphrase"
private: yes
roles: [ dotfiles ]
tags:
- basic-system
- dotfiles
- name: Setup my personal scripts
hosts: all
roles: [ my-utils ]
tags:
- basic-system
- my-utils
- name: Install Greenclip
hosts: all
roles: [ greenclip ]
tags:
- basic-system
- greenclip
- name: Install Anki
hosts: all
roles: [ anki ]
tags:
- basic-system
- anki
- name: Install fonts
hosts: all
roles: [ fonts ]
tags:
- basic-system
- fonts
- name: Install extra packages
hosts: all
roles: [ apt-install ]
vars:
apt_packages: "{{ apt_extra_packages }}"
tags:
- extra-system
- extra-packages
- name: Install TinyTex
hosts: all
roles: [ tinytex ]
tags: tinytex
- name: Install Java
hosts: all
roles: [ apt-install ]
vars:
apt_packages:
- openjdk-11-jdk
- maven
- gradle
tags: java
- name: Install IntelliJ
hosts: all
roles: [ intellij ]
tags: intellij
- name: Install Skype
hosts: all
roles: [ skype ]
tags: skype
- name: Install Signal
hosts: all
roles: [ signal-desktop ]
tags: signal
- name: Prepare Common Lisp environment
hosts: all
roles: [ apt-install ]
vars:
apt_packages:
- sbcl
tags: common-lisp