IaC for the livestreaming pc at our church
Find a file
2026-04-11 22:05:49 +02:00
group_vars use vscodium as editor + fix more outdated README info 2026-04-11 22:05:49 +02:00
roles use vscodium as editor + fix more outdated README info 2026-04-11 22:05:49 +02:00
templates use vscodium as editor + fix more outdated README info 2026-04-11 22:05:49 +02:00
.gitignore .gitignore: Update to include 'venv' 2022-01-08 19:56:58 -06:00
ansible.cfg fix deprecated callback + fix host config + new ptz_diy_switch service + replace firefox with chromium 2026-04-08 17:08:20 +02:00
hosts fix deprecated callback + fix host config + new ptz_diy_switch service + replace firefox with chromium 2026-04-08 17:08:20 +02:00
LICENSE LICENSE: Set to BSD 2022-01-08 19:57:23 -06:00
playbook.yml move away from layered pkg's to toolbox 2025-06-19 01:57:27 +02:00
README.md use vscodium as editor + fix more outdated README info 2026-04-11 22:05:49 +02:00
requirements.txt requirements.txt: Version bumps 2023-08-28 08:21:17 -05:00
requirements.yml Update requirements 2022-01-08 19:10:31 -06:00

livestreaming-pc-infra

IaC (Infrastructre-as-Code) for the Livestreaming PC at our Church.

This repository is a fork of github.com/j1mc/ansible-silverblue.

It configures a computer that is setup with the Linux Distribution Fedora Silverblue.

Included Roles

The main parts of this project can be seen in the 'roles' directory. Each role included there contains a README file that explains what the role is and how to use it. For starters, here is a brief summary of each role:

  • layered_packages: Install or remove packages into / from the base rpm-ostree image.
  • flatpaks: Install desired flatpak applications.
  • fonts: Install custom fonts (this role is under the GPLv3 License).
  • gnome_settings: Set various GNOME desktop settings. The role makes these changes via dconf.
  • os_updates: Configure the auto-update policy for the host.

Variables

I've consolidated the project's variables into the group_vars/all file. This makes it easy to update the project's variables from a single location. You should customize the values in that file to set what changes get applied in the various roles.

Setup

Clone this repository with:

git clone https://git.mennoniten-basel.ch/noah/livestreaming-pc-infra.git

Install needed dependencies with:

cd livestreaming-pc-infra
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
ansible-galaxy collection install -r requirements.yml

To run, issue the following command:

ansible-playbook playbook.yml`

License

This project is primarily licensed under the BSD License. However, please note that individual roles may be subject to different licenses:

  • Main Project & most Roles: BSD License (Copyright © 2022 Jim Campbell)
  • Fonts Role: GPLv3 License (Copyright © Tiago M. Vieira)

Please check the README.md and meta/main.yml files within each role directory for specific licensing details and author information.