44 Commits

Author SHA1 Message Date
Alexander Grothe
0ff0b013ba Fix role name in yavdr07-headless.yml 2018-01-28 16:50:23 +01:00
Alexander Grothe
2e759806e1 Add more DVBSky firmware files to list 2017-12-17 12:25:12 +01:00
Alexander Grothe
f6b6e818de Fix video directory path 2017-12-17 09:17:41 +01:00
Alexander Grothe
640d27dfa3 Fix condition to ubuntu-drivers autoinstall 2017-12-16 19:51:53 +01:00
Alexander Grothe
1f2a51dd37 Merge branch 'irmp' 2017-11-22 12:44:36 +01:00
Alexander Grothe
6b130a3df3 Merge branch 'refactoring' 2017-11-22 12:04:13 +01:00
Alexander Grothe
9860f607a0 don't fail in xrandr_facts.py if nvidia-smi is not available 2017-11-22 11:47:44 +01:00
Alexander Grothe
f302e4e06c Revert "add xrandr package to setup-xorg.yml"
This reverts commit f8553943ab.
2017-11-22 11:46:02 +01:00
Alexander Grothe
f8553943ab add xrandr package to setup-xorg.yml 2017-11-22 11:42:42 +01:00
Alexander Grothe
c5d0277610 cleanup whitespace 2017-11-22 11:40:17 +01:00
Alexander Grothe
19a1f98d74 run task only if file exists 2017-11-22 11:37:20 +01:00
Alexander Grothe
748df6954e set --no-install-recommands for ansible installation 2017-11-22 11:36:21 +01:00
Alexander Grothe
49bcecb027 allow action to fail if file does not exist 2017-11-22 10:56:21 +01:00
Alexander Grothe
68396b3797 fix string comparisons 2017-11-22 10:16:56 +01:00
Alexander Grothe
c70d6f97c6 Fix indentation 2017-11-22 10:15:16 +01:00
Alexander Grothe
f6ec12448a add autoinstall-virtualbox-guest role to yavdr07.yml playbook 2017-11-22 10:13:35 +01:00
Alexander Grothe
4ed8729282 Add additional files 2017-11-22 10:09:51 +01:00
Alexander Grothe
885b5bd893 add role for virtualbox guest utilities installation
workaround for Ubuntu 16.04
2017-11-22 10:06:47 +01:00
Alexander Grothe
d08d060439 Fix iteration over list 2017-11-22 09:26:32 +01:00
Alexander Grothe
0cd621b6a6 extend hardware_facts.py with bool variables for detected graphic card manufacturers 2017-11-22 09:24:33 +01:00
Alexander Grothe
6ae45c65ce Merge branch 'refactoring' of https://github.com/yavdr/yavdr-ansible into refactoring 2017-11-22 09:10:24 +01:00
Alexander Grothe
11eb950977 return a bool instead of a list 2017-11-22 09:07:44 +01:00
Alexander Grothe
23e09863dc return a bool instead of a list 2017-11-22 09:04:44 +01:00
Alexander Grothe
b93b0e7ec6 Fix string comparison 2017-11-22 08:50:51 +01:00
Alexander Grothe
cfb28e88cc Merge branch 'refactoring' of https://github.com/yavdr/yavdr-ansible into refactoring 2017-11-22 08:19:29 +01:00
Alexander Grothe
440032137b remove colon from name variables, fix org syntax error 2017-11-22 08:17:16 +01:00
Alexander Grothe
3372fcec4c remove colon from name variables 2017-11-22 08:11:56 +01:00
Alexander Grothe
0d01ee282b Fix quoting 2017-11-22 08:07:29 +01:00
Alexander Grothe
75cd1eb560 improve syntax, add new variables for detected gpus 2017-11-21 11:31:02 +01:00
Alexander Grothe
d9eb820ea0 fix template path 2017-11-20 12:01:02 +01:00
Alexander Grothe
115bfe66c9 Add template for vdr-addon-acpiwakeup.conf 2017-11-20 11:54:11 +01:00
Alexander Grothe
74159df8ac Fix value 2017-11-20 11:09:48 +01:00
Alexander Grothe
c6837bde93 Add TODO for autoinstall-dvbsddevice 2017-11-18 09:06:20 +01:00
Alexander Grothe
69e6b90885 fix role name 2017-11-15 08:22:35 +01:00
Alexander Grothe
fbad7b65aa remove whitespace 2017-11-13 09:44:42 +01:00
Alexander Grothe
7c2b1ce55d update handlers 2017-11-13 09:30:42 +01:00
Alexander Grothe
c985a33229 run dpkg-reconfigure if necessary 2017-11-13 09:27:02 +01:00
Alexander Grothe
0358403073 fix indentation and quoting 2017-11-13 09:24:13 +01:00
Alexander Grothe
11a7f5478c Merge branch 'irmp' of https://github.com/yavdr/yavdr-ansible into irmp 2017-11-13 09:21:59 +01:00
Alexander Grothe
9d1eb3a6e3 use debconf module instead of shell command 2017-11-13 09:20:04 +01:00
Alexander Grothe
ca0bc806ca use debconf module instead of shell command 2017-11-13 09:14:11 +01:00
Alexander Grothe
9794d7b9ef Update Manual.conf 2017-11-13 09:03:02 +01:00
Alexander Grothe
36d189e31c Update Manual.org, fix file permissions for role 2017-11-13 09:00:53 +01:00
Luigi Di Carmino
896516242b yavdr-hardware-irmp added 2017-11-12 21:59:44 +01:00
19 changed files with 720 additions and 496 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -148,7 +148,7 @@ add-apt-repository -y ppa:ansible/ansible
# update packages
apt-get update
# install required packages
apt-get -y install ansible
apt-get -y install --no-install-recommends ansible
# TODO: run ansible on local host
ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags=install
@@ -169,6 +169,7 @@ The ~yavdr07.yml~ playbook sets up a fully-featured yaVDR installation:
- collect-facts # query system facts
- autoinstall-ubuntu-drivers # use ubuntu-drivers to install proprietary dirvers
# (e.g. nvidia, virtualbox)
- autoinstall-virtualbox-guest
# - nvidia-387 # install very recent nvidia-387 from ppa:graphics-drivers/ppa
- vdr # install vdr and related packages
- yavdr-network # enable network client capabilities
@@ -280,7 +281,7 @@ vdr_plugins:
# dictionary of directories for (shared) files. Automatically exported via NFS and Samba if those roles are enabled
media_dirs:
audio: /srv/audio
video: /srv/audio
video: /srv/video
pictures: /srv/picture
files: /srv/files
backups: /srv/backups
@@ -481,6 +482,10 @@ yavdr-common executes the following tasks:
#+END_SRC
***** Disable release-upgrade notifications
****** SOMEDAY move from lineinfile to template
:LOGBOOK:
- State "SOMEDAY" from "TODO" [2017-11-22 Mi 10:59]
:END:
#+BEGIN_SRC yaml :tangle roles/yavdr-common/tasks/configure_system.yml :mkdirp yes
- name: disable release-upgrade notifications
lineinfile:
@@ -489,6 +494,12 @@ yavdr-common executes the following tasks:
state: present
regexp: '^(Prompt=).*$'
line: '\1never'
ignore_errors: yes
with_first_found:
- files:
- /etc/update-manager/release-upgrades
skip: true
#+END_SRC
***** Install essential packages
#+BEGIN_SRC yaml :tangle roles/yavdr-common/tasks/configure_system.yml :mkdirp yes
@@ -528,8 +539,14 @@ yavdr-common executes the following tasks:
with_items:
'{{ extra_packages }}'
#+END_SRC
***** create media directories
***** create directories
#+BEGIN_SRC yaml :tangle roles/yavdr-common/tasks/create_directories.yml :exports none :mkdirp yes
- name: ensure /etc/yavdr exists
file:
path: /etc/yavdr
state: directory
mode: 0755
- name: create media directories
file:
dest: '{{ item.value }}'
@@ -557,7 +574,7 @@ APT::Install-Suggests "0";
modules: True
gpus: True
acpi_power_modes: True
- debug:
var: '{{ item }}'
verbosity: 1
@@ -567,6 +584,10 @@ APT::Install-Suggests "0";
- gpus
- modules
- acpi_power_modes
- nvidia_detected
- intel_detected
- amd_detected
- virtualbox_detected
#+END_SRC
** vdr
*** tasks
@@ -1051,7 +1072,10 @@ In order to achive a clean shutdown of the session, ~x@t7.service~ is set as a d
*** TODO automatic X-server configuration :noexport:
- [X] detect connected display
- [X] read EDID from displays
- [ ] create a xorg.conf for nvidia/intel/amd gpus
create a xorg.conf for
- [X] nvidia
- [ ] intel
- [ ] amd gpus
**** HOLD Nvidia-GPUs:read EDID:
@@ -1448,39 +1472,39 @@ b'\xde\xad\xbe\xef'
dest: '{{ item }}'
state: directory
with_items:
- /etc/systemd/system/x@.service.d/
- /etc/systemd/system/vdr.service.d/
- '/etc/systemd/system/user@{{ vdr.uid }}.service.d/'
- "/etc/systemd/system/x@.service.d/"
- "/etc/systemd/system/vdr.service.d/"
- "/etc/systemd/system/user@{{ vdr.uid }}.service.d/"
- name: add dependency to X-server for vdr.service using a drop-in
- name: systemd-drop-in | add dependency to X-server for vdr.service
template:
src: templates/vdr-xorg.conf
dest: /etc/systemd/system/vdr.service.d/vdr-xorg.conf
- name: start x@.service before xlogin@.service
- name: systemd-drop-in | start x@.service before xlogin@.service
template:
src: templates/x@service.d/xlogin.conf.j2
dest: /etc/systemd/system/x@.service.d/xlogin.conf
- name: load environment file for vdr.service
- name: systemd-drop-in | load environment file for vdr.service
template:
src: templates/systemd/vdr-environ.j2
dest: /etc/systemd/system/vdr.service.d/load-environ.conf
- name: user@{{ vdr.uid }}.service depends on x@vt7.service
- name: systemd-drop-in | user@{{ vdr.uid }}.service depends on x@vt7.service
template:
src: templates/user@666.service.d/x-dependency.conf.j2
dest: '/etc/systemd/system/user@{{ vdr.uid }}.service.d/x-dependency.conf'
- name: start softhddevice detached and set audio to pulseaudio
- name: vdr-config | start softhddevice detached and set audio to pulseaudio
lineinfile:
path: /etc/vdr/conf.avail/softhddevice.conf
line: '{{ item }}'
line: '{{ item }}ys
with_items:
- '-D'
# - '-a pulse' # do we need this with our existing asound.conf?
- name: set a login shell for the user vdr
- name: add a login shell for the user vdr
user:
name: '{{ vdr.user }}'
shell: '/bin/bash'
@@ -1547,6 +1571,10 @@ b'\xde\xad\xbe\xef'
name: x@vt7.service
state: stopped
- name: "wait a little bit before starting x-verbose@vt7.service (needed?)"
wait_for:
timeout: 3
- name: "start x-verbose@.service"
systemd:
name: "x-verbose@vt7.service"
@@ -1576,14 +1604,24 @@ b'\xde\xad\xbe\xef'
enabled: false
masked: true
- name: "wait a little bit, so X has some time to shut down (needed?)"
wait_for:
timeout: 3
# TODO: expand template for xorg.conf (or snippets)
# with respect for the available graphics card driver
# nvidia, noveau, intel, radeon
- name: create xorg.conf (for nvidia driver)
template:
src: templates/xorg.conf.j2
dest: /etc/X11/xorg.conf
backup: yes
- name: nvidia related config
block:
- name: create xorg.conf (for nvidia driver)
template:
src: templates/xorg.conf.j2
dest: /etc/X11/xorg.conf
backup: yes
when:
- nvidia_detected
#+END_SRC
#+BEGIN_SRC yaml :tangle roles/yavdr-xorg/tasks/desktop-session.yml :mkdirp yes :padline no
@@ -3151,19 +3189,45 @@ The tool ubuntu-drivers is used to install the matching driver version for nvidi
#+BEGIN_SRC yaml :tangle roles/autoinstall-ubuntu-drivers/tasks/main.yml :padline no
---
# file roles/autoinstall-ubuntu-drivers/tasks/main.yml
- name: apt | install ubuntu-drivers-common
apt:
name: ubuntu-drivers-common
state: present
- name: ensure /etc/yavdr exists
file:
path: /etc/yavdr
state: directory
mode: 0755
- name: autoinstall ubuntu-drivers-common
block:
- name: apt | install ubuntu-drivers-common
apt:
name: ubuntu-drivers-common
state: present
- name: let ubuntu-drivers automatically install additional drivers
command: ubuntu-drivers --package-list /etc/yavdr/autoinstalled autoinstall
- name: use ubuntu-drivers to install additional drivers automatically
command: ubuntu-drivers --package-list /etc/yavdr/autoinstalled autoinstall
when: (ansible_virtualization_type != "virtualbox" and ansible_virtualization_role != "guest") or
ansible_distribution_version != "16.04"
# ubuntu-drivers-common tries to autoinstall
# conflicting packages for virtualbox in Ubuntu 16.04 :(
#+END_SRC
** autoinstall-virtualbox-guest
This role installs the guest additions for virtualbox guests on Ubuntu 16.04
#+BEGIN_SRC yaml :tangle roles/autoinstall-virtualbox-guest/tasks/main.yml :padline no
---
# file roles/autoinstall-virtualbox-guest/tasks/main.yml
- name: install virtualbox guest additions
block:
- name: install packages
apt:
state: present
name: '{{ item }}'
with_items:
- virtualbox-guest-dkms
- virtualbox-guest-x11
- dkms
# TODO: set xineliboutput as frontend
when:
- ansible_virtualization_type == "virtualbox"
- ansible_virtualization_role == "guest"
- ansible_distribution == "Ubuntu"
- ansible_distribution_version == "16.04"
#+END_SRC
** autoinstall-satip
If a Sat>IP Server responds to a discovery request, the package vdr-plugin-satip is installed.
@@ -3271,6 +3335,8 @@ Problem: woher kommt der Treiber (AFAIK noch nicht im Kernel)? Die Firmware soll
---
# file roles/autoinstall-dvbsddevice/tasks/main.yml
# TODO: install firmware
- name: apt | install vdr-plugin-dvbsddevice if module is loaded
apt:
name: vdr-plugin-dvbsddevice
@@ -3576,18 +3642,38 @@ wakeup_method: "acpiwakeup"
# file roles/wakeup/tasks/main.yml
- name: install and configure vdr-addon-acpiwakeup
block:
- apt:
name: vdr-addon-acpiwakeup
state: present
- lineinfile:
path: /etc/vdr/vdr-addon-acpiwakeup.conf
regexp: '^ACPI_ENABLED='
line: 'ACPI_ENABLED=true'
apt:
name: vdr-addon-acpiwakeup
state: present
when: wakeup_method == "acpiwakeup"
- name: expand template for /etc/vdr/vdr-addon-acpiwakeup.conf
template:
src: templates/vdr-addon-acpiwakeup.conf.j2
dest: /etc/vdr/vdr-addon-acpiwakeup.conf
#+END_SRC
*** templates
#+BEGIN_SRC jinja2 :tangle roles/wakeup/templates/vdr-addon-acpiwakeup.conf.j2 :padline no
{{ ansible_managed_file | comment }}
# Activate/deactivate ACPIWakeup with yes/no:
ACPI_ENABLED="{% if wakeup_method == 'acpiwakeup' %}yes{% else %}no{% endif %}"
# How many minutes should the machine wake up before the timer starts:
ACPI_START_AHEAD=5
# If you want your VDR machine to wakeup in regular intervals (i.e. for
# updating EPG data), specify the days of the week and the wakeup time.
#
# Days of the week for regular wakeup (not set=Disabled, 1=Monday...7=Sunday)
# ACPI_REGULAR_DAYS="1 2 3 4 5 6 7"
# Wakeup time
#ACPI_REGULAR_TIME=01:00 # HH:MM
#+END_SRC
** grub-config
*** default variables
#+BEGIN_SRC yaml :tangle roles/grub-config/defaults/main.yml :mkdirp yes :padline no
@@ -3706,11 +3792,11 @@ EXAMPLES = '''
acpi_power_modes: True
- debug:
var: usb
- debug
- debug:
var: pci
- debug
- debug:
var: modules
- debug
- debug:
var: gpus
'''
@@ -3788,6 +3874,10 @@ def main():
pci_devices = []
modules = []
gpus = []
nvidia_detected = False
intel_detected = False
amd_detected = False
virtualbox_detected = False
acpi_power_modes = []
if collect_usb:
@@ -3802,12 +3892,18 @@ def main():
if collect_gpus:
gpus = format_gpu_device_list(get_pci_devices())
nvidia_detected = any((True for gpu in gpus if gpu['VendorName'] == 'nvidia'))
intel_detected = any((True for gpu in gpus if gpu['VendorName'] == 'intel'))
amd_detected = any((True for gpu in gpus if gpu['VendorName'] == 'amd'))
virtualbox_detected = any((True for gpu in gpus if gpu['VendorName'] == 'virtualbox'))
if collect_acpi_power_modes:
acpi_power_modes = list_acpi_power_modes()
data = {'usb': usb_devices, 'pci': pci_devices, 'modules': modules, 'gpus': gpus,
'acpi_power_modes': acpi_power_modes}
'acpi_power_modes': acpi_power_modes, 'nvidia_detected': nvidia_detected,
'intel_detected': intel_detected, 'amd_detected': amd_detected,
'virtualbox_detected': virtualbox_detected}
module.exit_json(changed=False, ansible_facts=data, msg=data)
@@ -4136,6 +4232,9 @@ def collect_nvidia_data():
universal_newlines=True)
except subprocess.CalledProcessError:
pass
except OSError:
# nvidia-smi is not installed
pass
else:
for row in csv.DictReader(data.splitlines(), delimiter=',', skipinitialspace=True):
name = row['name']

View File

@@ -34,7 +34,7 @@ vdr_plugins:
# dictionary of directories for (shared) files. Automatically exported via NFS and Samba if those roles are enabled
media_dirs:
audio: /srv/audio
video: /srv/audio
video: /srv/video
pictures: /srv/picture
files: /srv/files
backups: /srv/backups

View File

@@ -10,7 +10,7 @@ add-apt-repository -y ppa:ansible/ansible
# update packages
apt-get update
# install required packages
apt-get -y install ansible
apt-get -y install --no-install-recommends ansible
# TODO: run ansible on local host
ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags=install

View File

@@ -52,11 +52,11 @@ EXAMPLES = '''
acpi_power_modes: True
- debug:
var: usb
- debug
- debug:
var: pci
- debug
- debug:
var: modules
- debug
- debug:
var: gpus
'''
@@ -134,6 +134,10 @@ def main():
pci_devices = []
modules = []
gpus = []
nvidia_detected = False
intel_detected = False
amd_detected = False
virtualbox_detected = False
acpi_power_modes = []
if collect_usb:
@@ -148,12 +152,18 @@ def main():
if collect_gpus:
gpus = format_gpu_device_list(get_pci_devices())
nvidia_detected = any((True for gpu in gpus if gpu['VendorName'] == 'nvidia'))
intel_detected = any((True for gpu in gpus if gpu['VendorName'] == 'intel'))
amd_detected = any((True for gpu in gpus if gpu['VendorName'] == 'amd'))
virtualbox_detected = any((True for gpu in gpus if gpu['VendorName'] == 'virtualbox'))
if collect_acpi_power_modes:
acpi_power_modes = list_acpi_power_modes()
data = {'usb': usb_devices, 'pci': pci_devices, 'modules': modules, 'gpus': gpus,
'acpi_power_modes': acpi_power_modes}
'acpi_power_modes': acpi_power_modes, 'nvidia_detected': nvidia_detected,
'intel_detected': intel_detected, 'amd_detected': amd_detected,
'virtualbox_detected': virtualbox_detected}
module.exit_json(changed=False, ansible_facts=data, msg=data)

View File

@@ -197,6 +197,9 @@ def collect_nvidia_data():
universal_newlines=True)
except subprocess.CalledProcessError:
pass
except OSError:
# nvidia-smi is not installed
pass
else:
for row in csv.DictReader(data.splitlines(), delimiter=',', skipinitialspace=True):
name = row['name']

View File

@@ -1,6 +1,8 @@
---
# file roles/autoinstall-dvbsddevice/tasks/main.yml
# TODO: install firmware
- name: apt | install vdr-plugin-dvbsddevice if module is loaded
apt:
name: vdr-plugin-dvbsddevice

View File

@@ -3,12 +3,19 @@
- name: determine needed firmware files by device ids
block:
- name: add firmware for DVBSky S952 V3 to variable dvbsky_firmware_files if a card has been detected
- name: add firmware files for DVBSky if a card has been detected
set_fact:
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-demod-m88ds3103.fw']"
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-demod-m88rs6000.fw']"
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-demod-si2168-a20-01.fw']"
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-demod-si2168-a30-01.fw']"
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-demod-si2168-b40-01.fw']"
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-fe-ds300x.fw']"
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-fe-ds3103.fw']"
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-fe-rs6000.fw']"
dvbsky_firmware_files: "{{dvbsky_firmware_files}} + ['dvb-tuner-si2158-a20-01.fw']"
when:
- '"1ade:3038" in pci'
- ansible_distribution_version >= '15.04' #driver only included since Kernel 3.19
when:
- not dvbsky_firmware_files

View File

@@ -1,15 +1,16 @@
---
# file roles/autoinstall-ubuntu-drivers/tasks/main.yml
- name: apt | install ubuntu-drivers-common
apt:
name: ubuntu-drivers-common
state: present
- name: ensure /etc/yavdr exists
file:
path: /etc/yavdr
state: directory
mode: 0755
- name: autoinstall ubuntu-drivers-common
block:
- name: apt | install ubuntu-drivers-common
apt:
name: ubuntu-drivers-common
state: present
- name: let ubuntu-drivers automatically install additional drivers
command: ubuntu-drivers --package-list /etc/yavdr/autoinstalled autoinstall
- name: use ubuntu-drivers to install additional drivers automatically
command: ubuntu-drivers --package-list /etc/yavdr/autoinstalled autoinstall
when: (ansible_virtualization_type != "virtualbox" and ansible_virtualization_role != "guest") or
ansible_distribution_version != "16.04"
# ubuntu-drivers-common tries to autoinstall
# conflicting packages for virtualbox in Ubuntu 16.04 :(

View File

@@ -0,0 +1,20 @@
---
# file roles/autoinstall-virtualbox-guest/tasks/main.yml
- name: install virtualbox guest additions
block:
- name: install packages
apt:
state: present
name: '{{ item }}'
with_items:
- virtualbox-guest-dkms
- virtualbox-guest-x11
- dkms
# TODO: set xineliboutput as frontend
when:
- ansible_virtualization_type == "virtualbox"
- ansible_virtualization_role == "guest"
- ansible_distribution == "Ubuntu"
- ansible_distribution_version == "16.04"

View File

@@ -5,7 +5,7 @@
modules: True
gpus: True
acpi_power_modes: True
- debug:
var: '{{ item }}'
verbosity: 1
@@ -15,3 +15,7 @@
- gpus
- modules
- acpi_power_modes
- nvidia_detected
- intel_detected
- amd_detected
- virtualbox_detected

View File

@@ -2,14 +2,12 @@
# file roles/wakeup/tasks/main.yml
- name: install and configure vdr-addon-acpiwakeup
block:
- apt:
name: vdr-addon-acpiwakeup
state: present
- lineinfile:
path: /etc/vdr/vdr-addon-acpiwakeup.conf
regexp: '^ACPI_ENABLED='
line: 'ACPI_ENABLED=true'
apt:
name: vdr-addon-acpiwakeup
state: present
when: wakeup_method == "acpiwakeup"
- name: expand template for /etc/vdr/vdr-addon-acpiwakeup.conf
template:
src: templates/vdr-addon-acpiwakeup.conf.j2
dest: /etc/vdr/vdr-addon-acpiwakeup.conf

View File

@@ -0,0 +1,16 @@
{{ ansible_managed_file | comment }}
# Activate/deactivate ACPIWakeup with yes/no:
ACPI_ENABLED="{% if wakeup_method == 'acpiwakeup' %}yes{% else %}no{% endif %}"
# How many minutes should the machine wake up before the timer starts:
ACPI_START_AHEAD=5
# If you want your VDR machine to wakeup in regular intervals (i.e. for
# updating EPG data), specify the days of the week and the wakeup time.
#
# Days of the week for regular wakeup (not set=Disabled, 1=Monday...7=Sunday)
# ACPI_REGULAR_DAYS="1 2 3 4 5 6 7"
# Wakeup time
#ACPI_REGULAR_TIME=01:00 # HH:MM

View File

@@ -24,6 +24,11 @@
state: present
regexp: '^(Prompt=).*$'
line: '\1never'
ignore_errors: yes
with_first_found:
- files:
- /etc/update-manager/release-upgrades
skip: true
- name: apt | install basic packages
apt:
name: '{{ item }}'

View File

@@ -1,3 +1,9 @@
- name: ensure /etc/yavdr exists
file:
path: /etc/yavdr
state: directory
mode: 0755
- name: create media directories
file:
dest: '{{ item.value }}'

View File

@@ -28,6 +28,10 @@
name: x@vt7.service
state: stopped
- name: "wait a little bit before starting x-verbose@vt7.service (needed?)"
wait_for:
timeout: 3
- name: "start x-verbose@.service"
systemd:
name: "x-verbose@vt7.service"
@@ -57,11 +61,20 @@
enabled: false
masked: true
- name: "wait a little bit, so X has some time to shut down (needed?)"
wait_for:
timeout: 3
# TODO: expand template for xorg.conf (or snippets)
# with respect for the available graphics card driver
# nvidia, noveau, intel, radeon
- name: create xorg.conf (for nvidia driver)
template:
src: templates/xorg.conf.j2
dest: /etc/X11/xorg.conf
backup: yes
- name: nvidia related config
block:
- name: create xorg.conf (for nvidia driver)
template:
src: templates/xorg.conf.j2
dest: /etc/X11/xorg.conf
backup: yes
when:
- nvidia_detected

View File

@@ -5,31 +5,31 @@
dest: '{{ item }}'
state: directory
with_items:
- /etc/systemd/system/x@.service.d/
- /etc/systemd/system/vdr.service.d/
- '/etc/systemd/system/user@{{ vdr.uid }}.service.d/'
- "/etc/systemd/system/x@.service.d/"
- "/etc/systemd/system/vdr.service.d/"
- "/etc/systemd/system/user@{{ vdr.uid }}.service.d/"
- name: add dependency to X-server for vdr.service using a drop-in
- name: systemd-drop-in | add dependency to X-server for vdr.service
template:
src: templates/vdr-xorg.conf
dest: /etc/systemd/system/vdr.service.d/vdr-xorg.conf
- name: start x@.service before xlogin@.service
- name: systemd-drop-in | start x@.service before xlogin@.service
template:
src: templates/x@service.d/xlogin.conf.j2
dest: /etc/systemd/system/x@.service.d/xlogin.conf
- name: load environment file for vdr.service
- name: systemd-drop-in | load environment file for vdr.service
template:
src: templates/systemd/vdr-environ.j2
dest: /etc/systemd/system/vdr.service.d/load-environ.conf
- name: user@{{ vdr.uid }}.service depends on x@vt7.service
- name: systemd-drop-in | user@{{ vdr.uid }}.service depends on x@vt7.service
template:
src: templates/user@666.service.d/x-dependency.conf.j2
dest: '/etc/systemd/system/user@{{ vdr.uid }}.service.d/x-dependency.conf'
- name: start softhddevice detached and set audio to pulseaudio
- name: vdr-config | start softhddevice detached and set audio to pulseaudio
lineinfile:
path: /etc/vdr/conf.avail/softhddevice.conf
line: '{{ item }}'
@@ -37,7 +37,7 @@
- '-D'
# - '-a pulse' # do we need this with our existing asound.conf?
- name: set a login shell for the user vdr
- name: add a login shell for the user vdr
user:
name: '{{ vdr.user }}'
shell: '/bin/bash'

View File

@@ -10,7 +10,7 @@
- collect-facts # query system facts
- vdr
- yavdr-network
- samba-server
- samba-install
- samba-config
- nfs-server
- grub-config

View File

@@ -10,6 +10,7 @@
- collect-facts # query system facts
- autoinstall-ubuntu-drivers # use ubuntu-drivers to install proprietary dirvers
# (e.g. nvidia, virtualbox)
- autoinstall-virtualbox-guest
# - nvidia-387 # install very recent nvidia-387 from ppa:graphics-drivers/ppa
- vdr # install vdr and related packages
- yavdr-network # enable network client capabilities