Merge pull request '#2_switch-to-presenterm' (#3) from #2_switch-to-presenterm into main
All checks were successful
On_Push / build (push) Successful in 2m6s
On_Push / deploy (push) Successful in 8s

Reviewed-on: #3
This commit is contained in:
silver 2025-09-08 00:33:59 +00:00
commit 72d9f4cc7f
9 changed files with 277 additions and 28 deletions

2
.gitignore vendored
View file

@ -14,6 +14,8 @@ test.*
/out
/build
/target
/slides/**/*.html
/slides/**/*.pdf
# Dealing with BlueJ
*.bluej

34
config.yaml Normal file
View file

@ -0,0 +1,34 @@
---
# 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
# works nicely at 1080p, then do a 250% zoom
dimensions:
rows: 30
columns: 100
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"]

13
flake.lock generated
View file

@ -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"
}
},

103
flake.nix
View file

@ -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,88 @@
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";
};
dependencies = 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 = 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;
# 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
# ];
# };
# };
}

View file

@ -0,0 +1,60 @@
---
title: "Computer Society"
sub_title: "Definitely not propaganda"
author: "Brendan Golden"
theme:
name: catppuccin-latte
---
About Us
=================================
<!-- incremental_lists: true -->
* 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
<!-- end_slide -->
Join Us
=================================
<!-- column_layout: [1, 1] -->
<!-- alignment: center -->
<!-- column: 0 -->
## Discord
![image:width:100%](propaganda/discord.png)
<!-- column: 1 -->
## UL Wolves
![image:width:100%](propaganda/wolves.png)
<!-- reset_layout -->
<!-- end_slide -->
<!-- new_lines: 10 -->
Questions?
=================================

BIN
slides/compsoc/2025-2025/propaganda/discord.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
slides/compsoc/2025-2025/propaganda/wolves.png (Stored with Git LFS) Normal file

Binary file not shown.

87
slides/skynet/01_intro.md Normal file
View file

@ -0,0 +1,87 @@
---
title: "Skynet"
sub_title: "Introduction to Skynet"
author: "Brendan Golden"
theme:
name: catppuccin-latte
---
Skynet: Introduction
=================================
<!-- alignment: center -->
<!-- incremental_lists: true -->
* 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.
<!-- end_slide -->
Skynet 3.0
=================================
<!-- column_layout: [2, 1] -->
<!-- column: 1 -->
![Delving into Ruins](01_intro/0_intro_img1.png)
<!-- column: 0 -->
<!-- incremental_lists: true -->
* Gave us a chance to do a full rebuild.
* Servers were delved Indiana Jones style.
* 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
<!-- end_slide -->
What is on Skynet
=================================
<!-- alignment: center -->
<!-- incremental_lists: true -->
* 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)
<!-- end_slide -->
<!-- new_lines: 10 -->
Always iterating, always improving.
=================================