-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinit.yml
105 lines (93 loc) · 3.28 KB
/
init.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
---
- name: Check if lightdm is installed
tags: [codam.webgreeter, codam.webgreeter.init]
shell:
cmd: "dpkg-query -W -f='${Status}' lightdm"
register: lightdm_pkg
failed_when: lightdm_pkg.stdout.find("install ok installed") == -1
changed_when: false
- name: Install dependencies
tags: [codam.webgreeter, codam.webgreeter.init]
apt:
name: "{{ item }}"
state: present
with_items:
- light-locker # For locking the screen
- xprintidle # For detecting idle time of a user
# Assume lightdm, nodejs and npm are already installed by 42.app
- name: Install ddcci-dkms # For backlight control on external monitors
tags: [codam.webgreeter, codam.webgreeter.init]
apt:
name: ddcci-dkms
state: present
when: ddcci_backlight_support
- name: Enable ddcci-backlight kernel module
tags: [codam.webgreeter, codam.webgreeter.init]
become: true
modprobe:
name: ddcci-backlight
state: present
persistent: present
when: ddcci_backlight_support
- name: Check if xbacklight binary exists
tags: [codam.webgreeter, codam.webgreeter.init]
shell:
cmd: "which xbacklight"
register: xbacklight_bin
changed_when: false
failed_when: false
- name: Clone acpilight repository
tags: [codam.webgreeter, codam.webgreeter.init]
git:
repo: https://gitlab.com/wavexx/acpilight.git
dest: /tmp/acpilight
version: v1.2
when: xbacklight_bin.stdout == "" # Only when xbacklight is not already available (acpilight is a replacement and has better support)
- name: Install acpilight
tags: [codam.webgreeter, codam.webgreeter.init]
become: true
make:
target: install
chdir: /tmp/acpilight
when: xbacklight_bin.stdout == ""
- name: Check if video group exists # Only exists if acpilight was installed
tags: [codam.webgreeter, codam.webgreeter.init]
shell:
cmd: "getent group video"
register: video_group
changed_when: false
failed_when: false
- name: Add lightdm user to video group
tags: [codam.webgreeter, codam.webgreeter.init]
user:
name: lightdm
groups: video
append: yes
when: video_group.stdout != ""
- name: Download nody-greeter deb to ansible controller
tags: [codam.webgreeter, codam.webgreeter.init]
delegate_to: localhost
run_once: true
get_url:
url: "https://github.com/JezerM/nody-greeter/releases/download/{{ nody_greeter_version }}/nody-greeter-{{ nody_greeter_version }}-ubuntu.deb"
dest: "/tmp/nody-greeter-{{ nody_greeter_version }}-ubuntu.deb"
- name: Check if nody-greeter is installed and on the correct version
tags: [codam.webgreeter, codam.webgreeter.init]
shell:
cmd: "dpkg-query -W -f='${Status} ${Version}' nody-greeter"
changed_when: false
failed_when: false
register: nody_greeter_pkg
- name: Copy nody-greeter deb
tags: [codam.webgreeter, codam.webgreeter.init]
copy:
remote_src: false
src: "/tmp/nody-greeter-{{ nody_greeter_version }}-ubuntu.deb"
dest: "/tmp/nody-greeter-{{ nody_greeter_version }}-ubuntu.deb"
when: nody_greeter_pkg.stdout.find("install ok installed " + nody_greeter_version) == -1
- name: Install nody-greeter
tags: [codam.webgreeter, codam.webgreeter.init]
apt:
deb: "/tmp/nody-greeter-{{ nody_greeter_version }}-ubuntu.deb"
state: present
when: nody_greeter_pkg.stdout.find("install ok installed " + nody_greeter_version) == -1