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 new file mode 100644 index 0000000..20c6cfa --- /dev/null +++ b/config.yaml @@ -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"] 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..3a8b1bc 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,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 +# ]; +# }; +# }; } 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 diff --git a/slides/skynet/01_intro.md b/slides/skynet/01_intro.md new file mode 100644 index 0000000..5540375 --- /dev/null +++ b/slides/skynet/01_intro.md @@ -0,0 +1,87 @@ +--- +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 +================================= + + + + +![Delving into Ruins](01_intro/0_intro_img1.png) + + +* 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 + + + + +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