-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplaybook.yaml
110 lines (107 loc) · 3.64 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
106
107
108
109
110
---
#
# LazyBytez Desktop configurator playbook
#
# Configures an Ubuntu Desktop system with Gnome to match our preferred look and feel.
# Also handles installation of common applications.
#
- name: Lazy Bytez Desktop Configurator
hosts: localhost
become: true
roles:
- common-software
- lean_delivery.java
- geerlingguy.nodejs
- ocha.yarn
- geerlingguy.php
- geerlingguy.php-versions
- darkwizard242.shellcheck
- docker
- psh
- gantsign.keyboard
- robertdebock.locale
- petermosmans.customize-gnome
tasks:
# === Additional software installd
- name: Install Golang
snap:
name: "go"
classic: true
state: present
tags: [ 'software' ]
# === Gnome Theme downloads
- name: Create .themes directory
file:
path: "/home/{{ lookup('env', 'USER') }}/.themes"
state: directory
tags: [ 'theme' ]
- name: Check for latest Catppuccin GTK version
uri:
url: "https://api.github.com/repos/catppuccin/gtk/releases/latest"
return_content: yes
register: catppuccin_gtk_version
tags: [ 'theme' ]
- name: Set latest Catppuccin GTK version fact
set_fact:
latest_catppuccin_gtk_version: "{{ catppuccin_gtk_version.json.tag_name | regex_search('(update_[0-9]{1,2}_[0-9]{1,2}_[0-9]{1,4})') }}"
tags: [ 'theme' ]
- name: Download and unarchive Catpuccin Gnome theme
unarchive:
src: https://github.com/catppuccin/gtk/releases/download/{{ latest_catppuccin_gtk_version }}/Catppuccin-purple.zip
dest: "/home/{{ lookup('env', 'USER') }}/.themes"
remote_src: yes
tags: [ 'theme' ]
# Install icon theme
- name: Clone Tela-circle icon theme repository
become: false
git:
repo: https://github.com/vinceliuice/Tela-circle-icon-theme.git
dest: "/home/{{ lookup('env', 'USER') }}/.lazybytez-theme/tela-circle-icon-theme"
clone: true
update: true
register: tela_icon_theme_repository_result
tags: [ 'theme' ]
- name: Install Tela-circle icon theme if necessary
become: false
command: "./install.sh purple"
args:
chdir: "/home/{{ lookup('env', 'USER') }}/.lazybytez-theme/tela-circle-icon-theme"
when: tela_icon_theme_repository_result.changed
tags: [ 'theme' ]
# Load gnome config
- name: Copy dconf loader
copy:
src: "load_dconf.sh"
dest: "/home/{{ lookup('env', 'USER') }}/.lazybytez-theme/load_dconf.sh"
owner: "{{ lookup('env', 'USER') }}"
group: "{{ lookup('env', 'USER') }}"
mode: 0755
tags: [ 'theme' ]
- name: Copy gnome settings
copy:
src: "gnome-settings.ini"
dest: "/home/{{ lookup('env', 'USER') }}/.lazybytez-theme/gnome-settings.ini"
owner: "{{ lookup('env', 'USER') }}"
group: "{{ lookup('env', 'USER') }}"
mode: 0644
register: gnome_settings_upload
tags: [ 'theme' ]
- name: Load gnome settings
become: false
command: /home/{{ lookup('env', 'USER') }}/.lazybytez-theme/load_dconf.sh
when: gnome_settings_upload.changed
tags: [ 'theme' ]
# Load Terminator config
- name: Create Terminator config directory if missing
file:
path: "/home/{{ lookup('env', 'USER') }}/.config/terminator/"
state: directory
tags: [ 'theme' ]
- name: Copy Terminator Catppuccin theme
copy:
src: "terminator_config"
dest: "/home/{{ lookup('env', 'USER') }}/.config/terminator/config"
owner: "{{ lookup('env', 'USER') }}"
group: "{{ lookup('env', 'USER') }}"
mode: 0644
tags: [ 'theme' ]