From 8a2fc923d1839d05a69dc324acd3d45df99b6d22 Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Thu, 4 Sep 2025 16:48:11 +0100 Subject: [PATCH 1/5] feat: initial changes to presenterm --- config.yaml | 33 +++++++ flake.lock | 13 +-- flake.nix | 77 ++++++++++----- slides/skynet/01_intro.md | 88 +++++++++++++++++ .../skynet/01_intro}/0_intro_img1.png | 0 src/slides/skynet/0_Intro.md | 99 ------------------- 6 files changed, 183 insertions(+), 127 deletions(-) create mode 100644 config.yaml create mode 100644 slides/skynet/01_intro.md rename {src/slides/skynet => slides/skynet/01_intro}/0_intro_img1.png (100%) delete mode 100644 src/slides/skynet/0_Intro.md diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..7605af4 --- /dev/null +++ b/config.yaml @@ -0,0 +1,33 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/mfontanini/presenterm/master/config-file-schema.json +defaults: + # override the terminal font size when in windows or when using sixel. + terminal_font_size: 20 + +speaker_notes: + always_publish: true + +export: + pauses: new_slide +# dimensions: +# rows: 53 +# columns: 165 + +snippet: + exec: + # enable code snippet execution. Use at your own risk! + enable: true + custom: + # The keys should be the language identifier you'd use in a code block. + racket: + # The name of the file that will be created with your snippet's contents. + filename: "snippet.rkt" + + # A prefix that indicates a line that starts with it should not be visible but should be executed if the + # snippet is marked with `+exec`. + hidden_line_prefix: "/// " + + # A list of commands that will be ran one by one in the same directory as the snippet is in. + commands: + # run the racket program + - ["racket", "$pwd/snippet.rkt"] diff --git a/flake.lock b/flake.lock index a505ec1..bbcab93 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1723391194, - "narHash": "sha256-04UThV4LZNRHg/+GbEl7M2ginWbm8FrQ5jBVmYcroNg=", + "lastModified": 1723500950, + "narHash": "sha256-t1eApFGI+JzLIW2YToLlDV20n+Nevk1q4fZBYU1m93I=", "owner": "silver_rust", "repo": "bfom", - "rev": "fffd69b6433a2d2fd359b92e3816ae9938b3e99c", + "rev": "7f339f28442758ecc3f1697e3f70d441973664b9", "type": "gitlab" }, "original": { @@ -68,15 +68,16 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1715413075, - "narHash": "sha256-FCi3R1MeS5bVp0M0xTheveP6hhcCYfW/aghSTPebYL4=", + "lastModified": 1756787288, + "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e4e7a43a9db7e22613accfeb1005cca1b2b1ee0d", + "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1", "type": "github" }, "original": { "id": "nixpkgs", + "ref": "nixos-unstable", "type": "indirect" } }, diff --git a/flake.nix b/flake.nix index c0dcd47..7592388 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,7 @@ description = "Skynet Presentations"; inputs = { + nixpkgs.url = "nixpkgs/nixos-unstable"; utils.url = "github:numtide/flake-utils"; # nix flake lock --update-input bfom @@ -20,30 +21,62 @@ outputs = { self, nixpkgs, + utils, bfom, ... - } @ inputs: let - pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs; - in { - # nix run - apps.x86_64-linux.default = { - type = "app"; - program = "${bfom.defaultPackage.x86_64-linux}/bin/cargo-bfom"; - }; + }: utils.lib.eachDefaultSystem ( + system: let + pkgs = (import nixpkgs) { + inherit system; + }; - # `nix build` - packages.x86_64-linux.default = pkgs.stdenv.mkDerivation { - name = "slides.skynet.ie"; - src = self; - buildPhase = "${bfom.defaultPackage.x86_64-linux}/bin/cargo-bfom"; - installPhase = "mkdir -p $out; cp -R build/* $out"; - }; + packages = with pkgs; [ + # For teh presentations themselves + presenterm - devShells.x86_64-linux.default = pkgs.mkShell { - name = "Skynet presentations env"; - nativeBuildInputs = [ - bfom.defaultPackage.x86_64-linux - ]; - }; - }; + # for exporting + (pkgs.python3.withPackages (python-pkgs: with python-pkgs; [ + # for exporting + weasyprint + ])) + # various languages to embed in it + ## Java + # zulu24 + ## C + # gcc + ## rust + # cargo + # rustc + ## lua + # lua + ## racket + # racket + ## go + # go + ]; + in rec { + # `nix develop` + devShell = pkgs.mkShell { + packages = packages; + PRESENTERM_CONFIG_FILE = "config.yaml"; + }; + }); +# @ inputs: let +# pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs; +# in { +# # `nix build` +# packages.x86_64-linux.default = pkgs.stdenv.mkDerivation { +# name = "slides.skynet.ie"; +# src = self; +# buildPhase = "${bfom.defaultPackage.x86_64-linux}/bin/cargo-bfom"; +# installPhase = "mkdir -p $out; cp -R build/* $out"; +# }; +# +# devShells.x86_64-linux.default = pkgs.mkShell { +# name = "Skynet presentations env"; +# nativeBuildInputs = [ +# bfom.defaultPackage.x86_64-linux +# ]; +# }; +# }; } diff --git a/slides/skynet/01_intro.md b/slides/skynet/01_intro.md new file mode 100644 index 0000000..a95a1e0 --- /dev/null +++ b/slides/skynet/01_intro.md @@ -0,0 +1,88 @@ +--- +title: "Skynet" +sub_title: "Introduction to Skynet" +author: "Brendan Golden" +theme: + name: catppuccin-latte +--- + +Skynet: Introduction +================================= + + + +* Skynet is the UL Computer Society's computer cluster. +* Has a long [history](https://2016.skynet.ie/history.html). +* Older than the Society. (1992 vs 1994) +* But alas good things always come to an end. +* Due to *A Series of Unfortunate Events* we lost internet in Jan 2023 +* Turns out Wordpress got Wordpress'd and we had a *smol* spam problem. +* ITD also wanted us to have all servers patched and up to date. + + + + +Skynet 3.0 +================================= + + + + + +* Gave us a chance to do a full rebuild. +* Servers were delved Indiana Jones style. + + ![Delving into Ruins](01_intro/0_intro_img1.png) + +* Backups were made. +* Returned Summer 2023. +* Powered by NixOS. +* [Fully open source](https://forgejo.skynet.ie/Skynet/nixos). +* Skynet now can compile and update itself. +* Be not Afraid +* Automation FTW! +* Be not Afraid + + + + +What is on Skynet +================================= + + + +* Email +* DNS +* Account Management +* Forgejo + CI/CD runners + * We *forge* software + * Git host +* Game Servers + * Minecraft + * TF2 + * CSGO +* Discord Bots + * Skynet + * Our Discord Role Manager + * T-800 + * Logging and monitoring +* Clubs & Societies + * Out in UL + * https://outinul.ie + * ULFM + * Now gone +* Websites + * Our own + * https://skynet.ie + * https://2016.skynet.ie + * https://2006.skynet.ie + * https://2003.skynet.ie + * https://1996.skynet.ie + * User sites (https://silver.users.skynet.ie) + + + + + +Always iterating, always improving. +================================= \ No newline at end of file diff --git a/src/slides/skynet/0_intro_img1.png b/slides/skynet/01_intro/0_intro_img1.png similarity index 100% rename from src/slides/skynet/0_intro_img1.png rename to slides/skynet/01_intro/0_intro_img1.png diff --git a/src/slides/skynet/0_Intro.md b/src/slides/skynet/0_Intro.md deleted file mode 100644 index 4907d88..0000000 --- a/src/slides/skynet/0_Intro.md +++ /dev/null @@ -1,99 +0,0 @@ -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -title = "Skynet: Intro" -date = 2023-09-23 -slides = true -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -# Skynet: Introduction - -------------------------------------------------------------------------- - -Skynet is the UL Computer Society's computer cluster. - -------------------------------------------------------------------------- - -Has a long history: <>. - -------------------------------------------------------------------------- - -Older than the Society. (1992 vs 1994) - -------------------------------------------------------------------------- - -But alas good things always come to an end. - - -------------------------------------------------------------------------- - -Due to //A Series of Unfortunate Events// we lost internet in Jan 2023 - -------------------------------------------------------------------------- - -Turns out Wordpress got Wordpress'd and we had a //smol// spam problem. - -------------------------------------------------------------------------- - -ITD also wanted us to have all servers patched and up to date. - -------------------------------------------------------------------------- - -# Skynet 3.0 - -------------------------------------------------------------------------- - -Gave us a chance to do a full rebuild. - -------------------------------------------------------------------------- - -Servers were delved Indiana Jones style. - -------------------------------------------------------------------------- - -![Delving into Ruins](0_intro_img1.png) - -------------------------------------------------------------------------- - -Backups were made. - -------------------------------------------------------------------------- - -Returned Summer 2023. - -------------------------------------------------------------------------- - -Powered by NixOS. - -------------------------------------------------------------------------- - -Fully open source: <> - -------------------------------------------------------------------------- - -Skynet now can compile and update itself. - -------------------------------------------------------------------------- - -Be not Afraid - -------------------------------------------------------------------------- - -Automation FTW! - -------------------------------------------------------------------------- - -How hosts: - -------------------------------------------------------------------------- - -* Email -* Gitlab + CI/CD runners -* Game Servers - * Minecraft -* ULFM -* Websites - * <> - * User sites (<>) - -------------------------------------------------------------------------- - -Always iterating, always improving. \ No newline at end of file From 40d51d395901911754c6f84bd00ce129e096707c Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Mon, 8 Sep 2025 00:40:43 +0100 Subject: [PATCH 2/5] feat: simple propoganda for this eyar --- slides/compsoc/2025-2025/propaganda.md | 60 +++++++++++++++++++ .../compsoc/2025-2025/propaganda/discord.png | 3 + .../compsoc/2025-2025/propaganda/wolves.png | 3 + 3 files changed, 66 insertions(+) create mode 100644 slides/compsoc/2025-2025/propaganda.md create mode 100644 slides/compsoc/2025-2025/propaganda/discord.png create mode 100644 slides/compsoc/2025-2025/propaganda/wolves.png diff --git a/slides/compsoc/2025-2025/propaganda.md b/slides/compsoc/2025-2025/propaganda.md new file mode 100644 index 0000000..876513e --- /dev/null +++ b/slides/compsoc/2025-2025/propaganda.md @@ -0,0 +1,60 @@ +--- +title: "Computer Society" +sub_title: "Definitely not propaganda" +author: "Brendan Golden" +theme: + name: catppuccin-latte +--- + +About Us +================================= + + +* For anyone Interested in Computers + * All skill levels +* Mix of technical and Social +* Old Society, 30 years old +* Have a server room for Skynet +* We host our own services + * Forgejo - Git + * Nextcloud + * Email + * DNS + * Discord Bots + * Game Servers + * Minecraft + * CSGO + * TF2 +* 25+ unique events a year +* Weekly Training + * Skynet training + * Google Interview club +* Trips + * PyCon + * SISTEM + * EuroTrip + + + + +Join Us +================================= + + + + + +## Discord +![image:width:100%](propaganda/discord.png) + + +## UL Wolves +![image:width:100%](propaganda/wolves.png) + + + + + + +Questions? +================================= \ No newline at end of file diff --git a/slides/compsoc/2025-2025/propaganda/discord.png b/slides/compsoc/2025-2025/propaganda/discord.png new file mode 100644 index 0000000..f0e8eee --- /dev/null +++ b/slides/compsoc/2025-2025/propaganda/discord.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac891d98732050e9f54a387397c85eb3ef2a2d98a485c9c9ebf8e351cd3d8f42 +size 74500 diff --git a/slides/compsoc/2025-2025/propaganda/wolves.png b/slides/compsoc/2025-2025/propaganda/wolves.png new file mode 100644 index 0000000..9eaa9a1 --- /dev/null +++ b/slides/compsoc/2025-2025/propaganda/wolves.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2f4c5c82ce7cd6ad22e85424a7da0e652c941904a2ecfe862d803453238e8f1 +size 22654 From f9d13c0e84b8ab70ba7101c9e357ffc4d024b6f3 Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Mon, 8 Sep 2025 00:41:09 +0100 Subject: [PATCH 3/5] feat: got the right output html sizing for 1080p --- .gitignore | 2 ++ config.yaml | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 471560b..4b93dba 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ test.* /out /build /target +/slides/**/*.html +/slides/**/*.pdf # Dealing with BlueJ *.bluej diff --git a/config.yaml b/config.yaml index 7605af4..20c6cfa 100644 --- a/config.yaml +++ b/config.yaml @@ -9,9 +9,10 @@ speaker_notes: export: pauses: new_slide -# dimensions: -# rows: 53 -# columns: 165 + # works nicely at 1080p, then do a 250% zoom + dimensions: + rows: 30 + columns: 100 snippet: exec: From 0ab406a3bae0bba3309b8f4419dc0e18dc261f1e Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Mon, 8 Sep 2025 01:29:15 +0100 Subject: [PATCH 4/5] feat: got the presenterm working with the older bfom --- flake.nix | 30 ++++++++++++++++++++++++++++-- slides/skynet/01_intro.md | 5 ++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 7592388..3a8b1bc 100644 --- a/flake.nix +++ b/flake.nix @@ -30,7 +30,7 @@ inherit system; }; - packages = with pkgs; [ + dependencies = with pkgs; [ # For teh presentations themselves presenterm @@ -57,9 +57,35 @@ in rec { # `nix develop` devShell = pkgs.mkShell { - packages = packages; + packages = dependencies; PRESENTERM_CONFIG_FILE = "config.yaml"; }; + + packages.default = pkgs.stdenv.mkDerivation { + name = "slides.skynet.ie"; + src = self; + nativeBuildInputs = dependencies; + buildInputs = dependencies; + buildPhase = '' + # first pass through to get teh old files + ${bfom.defaultPackage.x86_64-linux}/bin/cargo-bfom + + # then look into ./slides + export PRESENTERM_CONFIG_FILE=config.yaml + # recursively find each one then --export-html to ./build/slides/ + shopt -s globstar + for source in slides/**/*.md; do + echo $source + output="$(dirname "$source")/$(basename "$source" .md).html" + echo $output + presenterm --export-html "$source" + mkdir -p "build/$(dirname "$source")" + cp "$output" "build/$output" + done + shopt -u globstar + ''; + installPhase = "mkdir -p $out; cp -R build/* $out"; + }; }); # @ inputs: let # pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs; diff --git a/slides/skynet/01_intro.md b/slides/skynet/01_intro.md index a95a1e0..5540375 100644 --- a/slides/skynet/01_intro.md +++ b/slides/skynet/01_intro.md @@ -27,13 +27,12 @@ Skynet 3.0 + +![Delving into Ruins](01_intro/0_intro_img1.png) * Gave us a chance to do a full rebuild. * Servers were delved Indiana Jones style. - - ![Delving into Ruins](01_intro/0_intro_img1.png) - * Backups were made. * Returned Summer 2023. * Powered by NixOS. From 2469174e35bebfb554af894a8fe40e7393bc338e Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Mon, 8 Sep 2025 01:33:14 +0100 Subject: [PATCH 5/5] fix: undo teh deletion of teh old intro --- src/slides/skynet/0_Intro.md | 99 ++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 src/slides/skynet/0_Intro.md diff --git a/src/slides/skynet/0_Intro.md b/src/slides/skynet/0_Intro.md new file mode 100644 index 0000000..4907d88 --- /dev/null +++ b/src/slides/skynet/0_Intro.md @@ -0,0 +1,99 @@ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +title = "Skynet: Intro" +date = 2023-09-23 +slides = true ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +# Skynet: Introduction + +------------------------------------------------------------------------- + +Skynet is the UL Computer Society's computer cluster. + +------------------------------------------------------------------------- + +Has a long history: <>. + +------------------------------------------------------------------------- + +Older than the Society. (1992 vs 1994) + +------------------------------------------------------------------------- + +But alas good things always come to an end. + + +------------------------------------------------------------------------- + +Due to //A Series of Unfortunate Events// we lost internet in Jan 2023 + +------------------------------------------------------------------------- + +Turns out Wordpress got Wordpress'd and we had a //smol// spam problem. + +------------------------------------------------------------------------- + +ITD also wanted us to have all servers patched and up to date. + +------------------------------------------------------------------------- + +# Skynet 3.0 + +------------------------------------------------------------------------- + +Gave us a chance to do a full rebuild. + +------------------------------------------------------------------------- + +Servers were delved Indiana Jones style. + +------------------------------------------------------------------------- + +![Delving into Ruins](0_intro_img1.png) + +------------------------------------------------------------------------- + +Backups were made. + +------------------------------------------------------------------------- + +Returned Summer 2023. + +------------------------------------------------------------------------- + +Powered by NixOS. + +------------------------------------------------------------------------- + +Fully open source: <> + +------------------------------------------------------------------------- + +Skynet now can compile and update itself. + +------------------------------------------------------------------------- + +Be not Afraid + +------------------------------------------------------------------------- + +Automation FTW! + +------------------------------------------------------------------------- + +How hosts: + +------------------------------------------------------------------------- + +* Email +* Gitlab + CI/CD runners +* Game Servers + * Minecraft +* ULFM +* Websites + * <> + * User sites (<>) + +------------------------------------------------------------------------- + +Always iterating, always improving. \ No newline at end of file