From b1ff7a31ce756e44789da03578869387e215dcc2 Mon Sep 17 00:00:00 2001 From: ekklesia Date: Mon, 31 Aug 2026 18:12:06 -0500 Subject: [PATCH] feat: establish classroom 0.1.0 baseline --- .gitignore | 3 +++ VERSION | 1 + config/bash_profile | 3 +++ config/sway/config | 18 ++++++++++++++++ config/waybar/config.jsonc | 35 ++++++++++++++++++++++++++++++++ config/waybar/style.css | 20 ++++++++++++++++++ scripts/classroom-browser | 11 ++++++++++ systemd/autologin/autologin.conf | 3 +++ 8 files changed, 94 insertions(+) create mode 100644 .gitignore create mode 100644 VERSION create mode 100644 config/bash_profile create mode 100644 config/sway/config create mode 100644 config/waybar/config.jsonc create mode 100644 config/waybar/style.css create mode 100755 scripts/classroom-browser create mode 100644 systemd/autologin/autologin.conf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2f2f3b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +dist/ +packaging/root/ +*.deb diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..6e8bf73 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.1.0 diff --git a/config/bash_profile b/config/bash_profile new file mode 100644 index 0000000..6729559 --- /dev/null +++ b/config/bash_profile @@ -0,0 +1,3 @@ +if [ -z "$WAYLAND_DISPLAY" ] && [ "${XDG_VTNR:-}" = "1" ]; then + exec sway -c /etc/ekklesia-classroom/sway/config +fi diff --git a/config/sway/config b/config/sway/config new file mode 100644 index 0000000..9e9a20a --- /dev/null +++ b/config/sway/config @@ -0,0 +1,18 @@ +# Ekklesia Classroom +# Managed by the ekklesia-classroom package. + +set $mod Mod4 + +# Wallpaper +output * bg #202020 solid_color + +# Waybar +exec_always --no-startup-id pkill waybar +exec_always --no-startup-id waybar \ + -c /etc/ekklesia-classroom/waybar/config.jsonc \ + -s /etc/ekklesia-classroom/waybar/style.css + +# Keep the interface intentionally minimal. +# Additional classroom controls are added explicitly by Ekklesia Classroom. + +include /etc/sway/config.d/* diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc new file mode 100644 index 0000000..68b768d --- /dev/null +++ b/config/waybar/config.jsonc @@ -0,0 +1,35 @@ +{ + "layer": "top", + "position": "bottom", + "height": 56, + "spacing": 12, + + "modules-left": [ + "custom/browser", + "custom/dvd", + "custom/sanctuary" + ], + + "modules-right": [ + "clock" + ], + + "custom/browser": { + "format": "Browser", + "on-click": "/usr/local/bin/classroom-browser" + }, + + "custom/dvd": { + "format": "DVD", + "on-click": "true" + }, + + "custom/sanctuary": { + "format": "Sanctuary", + "on-click": "true" + }, + + "clock": { + "format": "{:%-I:%M %p}" + } +} diff --git a/config/waybar/style.css b/config/waybar/style.css new file mode 100644 index 0000000..323e0aa --- /dev/null +++ b/config/waybar/style.css @@ -0,0 +1,20 @@ +* { + font-family: sans-serif; + font-size: 18px; +} + +window#waybar { + background: rgba(20, 20, 20, 0.92); + color: white; +} + +#custom-browser, +#custom-dvd, +#custom-sanctuary { + padding: 0 24px; + margin: 6px 4px; +} + +#clock { + padding: 0 18px; +} diff --git a/scripts/classroom-browser b/scripts/classroom-browser new file mode 100755 index 0000000..8d3d89d --- /dev/null +++ b/scripts/classroom-browser @@ -0,0 +1,11 @@ +#!/bin/bash + +if pgrep -x chrome >/dev/null || pgrep -x google-chrome >/dev/null; then + swaymsg '[app_id="google-chrome"] focus' >/dev/null 2>&1 || true + exit 0 +fi + +exec google-chrome \ + --ozone-platform=wayland \ + --start-maximized \ + https://app.wonderink.org/ diff --git a/systemd/autologin/autologin.conf b/systemd/autologin/autologin.conf new file mode 100644 index 0000000..a6496e2 --- /dev/null +++ b/systemd/autologin/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin classroom --noclear %I $TERM