commit e270d6068bdc4058047075cee945cbbd7c451305 Author: cinereal Date: Wed Jun 25 20:52:50 2025 +0200 init diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..c6aca5a --- /dev/null +++ b/.envrc @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# the shebang is ignored, but nice for editors + +# shellcheck shell=bash +if type -P lorri &>/dev/null; then + eval "$(lorri direnv)" +else + echo 'while direnv evaluated .envrc, could not find the command "lorri" [https://github.com/nix-community/lorri]' + use_nix +fi diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/README.md b/README.md new file mode 100644 index 0000000..87e41d8 --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# fediversity slides + +## usage + +### using nix + +To install the needed library [marp](https://marp.app/), enter the development environment with [`nix-shell`](https://nixos.org/). + +If you want to do that automatically on entering this directory: + +- [Set up `direnv`](https://github.com/nix-community/nix-direnv#installation) +- Run `direnv allow` in the directory where repository is stored on your machine + +Then, compile the slides: + +```sh +marp -I . +``` +... then open the resulting `.html` file in your browser. + +To automatically rebuild on changes, use: + +```sh +watchexec -w ./. -- marp -I . +``` + +### without nix + +requires: + +- [Node.js](https://nodejs.org/) +- [Yarn](https://yarnpkg.com/) + +```sh +$ yarn install +$ yarn marp -I . +``` diff --git a/assets/git.png b/assets/git.png new file mode 100644 index 0000000..6f943e2 Binary files /dev/null and b/assets/git.png differ diff --git a/assets/kiara.jpg b/assets/kiara.jpg new file mode 100644 index 0000000..9bb9587 Binary files /dev/null and b/assets/kiara.jpg differ diff --git a/assets/koen.png b/assets/koen.png new file mode 100644 index 0000000..d2a7be7 Binary files /dev/null and b/assets/koen.png differ diff --git a/assets/mockup.png b/assets/mockup.png new file mode 100644 index 0000000..29b7cb5 Binary files /dev/null and b/assets/mockup.png differ diff --git a/assets/procolix.png b/assets/procolix.png new file mode 100644 index 0000000..b64c191 Binary files /dev/null and b/assets/procolix.png differ diff --git a/assets/website.png b/assets/website.png new file mode 100644 index 0000000..3cf607c Binary files /dev/null and b/assets/website.png differ diff --git a/index.md b/index.md new file mode 100644 index 0000000..fb6942d --- /dev/null +++ b/index.md @@ -0,0 +1,230 @@ +--- +marp: true +author: kiara@tech.lgbt +title: fediversity +theme: uncover +style: | + div[data-marpit-advanced-background-container] > figure { + background-size: contain; + } + img { + max-width: 100%; + max-height: 100%; + } + section { + background-color: #0d0d0d; + background-size: cover; + font-family: sans; + } + section, blockquote:active::before { + color: #ff75c3; + } + a, a:hover { + color: #f57070; + } + h1, h2, h3, h4, h5, h6 { + max-height: 10%; + } + table { + font-size: 0.45em; + } + +--- + +# fediversity + +![](https://fediversity.eu/wp-content/uploads/2024/12/ngi_fedi_full.svg) + +--- + +## me + +- [@kiara@tech.lgbt](https://tech.lgbt/@kiara) +- codeberg: [@kiara](https://codeberg.org/kiara) +- github: [@KiaraGrouwstra](https://github.com/KiaraGrouwstra) + +![bg right](assets/kiara.jpg) + +--- + + + + + + + +## [website](https://fediversity.eu/) + +![bg right](assets/website.png) + +--- + +## demo + + + +--- + +## result + +- [mastodon.fediversity.eu](https://mastodon.fediversity.eu/) +- [pixelfed.fediversity.eu](https://pixelfed.fediversity.eu/) +- [peertube.fediversity.eu](https://peertube.fediversity.eu/) + +--- + +## project partners + +- [NLNet](https://nlnet.nl/) +- [NORDUnet](https://nordu.net/) +- [Tweag](https://www.tweag.io/) +- OIDF + +--- + +## initiator + +[koen@procolix.social](https://procolix.social/@koen) + +![bg left](assets/koen.png) + +--- + +## here: procolix + +![](assets/procolix.png) + +--- + + + +![](https://fsfe.org/graphics/logos/ngi.png) + +--- + +## [NGI](https://ngi.eu/): an internet of trust + +![](https://ngi.eu/wp-content/uploads/2025/06/Key-visual-V1_Thanks-for-being-part-2048x1152.jpg) + +--- + +## digital sovereignty + +--- + +## [mockup](https://www.figma.com/proto/AZbFAac2Xjxs3q1H3orXzO/Fedi-Design-system?page-id=97%3A1682&node-id=97-2284) + +![bg right](assets/mockup.png) + +--- + +## positioning + +|   | target | portable | autonomous | maintenance-free | integrated | easy to use | +|-|-|-|-|-|-|-| +| **Fediversity** | ProxmoX | ✅ | ✅ | ✅ | ✅ | ? | +| upstream managed services | software-as-a-service | ✅ | ❌ | ✅ | ❌ | ✅ | +| Containers | containers | ? | ✅ | ? | ❌ | ? | +| [Yunohost](https://yunohost.org/) | Debian | [❌](https://doc.yunohost.org/admin/backups/migrate_or_merge_servers/#migrate-a-server) | ✅ | ❌ | ✅ | ✅ | +| [NixOS](https://nixos.org/) | bare-metal/VM/container | ? | ✅ | ✅ | ❌ | ❌ | +| [SelfHostBlocks](https://github.com/ibizaman/selfhostblocks) | bare-metal/VM/container | ? | ✅ | ✅ | ✅ | ❌ | +| [SelfPrivacy](https://selfprivacy.org/) | hetzner/digitalocean VM | [?](https://selfprivacy.org/docs/about-us/roadmap/#automatic-backups) | ? | ✅ | ✅ | ✅ | +| [Clan](https://clan.lol/) | bare-metal/VM targets | ? | ✅ | ✅ | ❌ | ? | + +--- + +## apps + +- [mastodon](https://joinmastodon.org/) +- [pixelfed](https://pixelfed.org/) +- [peertube](https://joinpeertube.org/) +- [matrix](https://matrix.org/) +- ... + +--- + +## nixos module ❄️ + +![](https://git.fediversity.eu/Fediversity/meta/raw/commit/d2240a2d23e33f9ac325e3805ab9e8573e763e88/architecture-docs/architecture.png) + +--- + +## host setting + +![](https://git.fediversity.eu/Fediversity/meta/raw/branch/main/architecture-docs/host-architecture.png) + +--- + +## interactions + +![](https://git.fediversity.eu/Fediversity/meta/raw/branch/main/architecture-docs/interactions-migration.png) + +--- + +## tech stack (so far) + +- [NixOS](https://nixos.org/) +- [Garage](https://git.deuxfleurs.fr/Deuxfleurs/garage) +- [ProxmoX](https://proxmox.com/) +- [NixOps4](https://github.com/nixops4/nixops4) + +--- + +## challenges + +- [data portability](https://git.fediversity.eu/Fediversity/Fediversity/issues/100) +- [reproducible provisioning](https://git.fediversity.eu/Fediversity/Fediversity/issues/99) +- [propagating schemas](https://git.fediversity.eu/Fediversity/Fediversity/issues/195) +- [configuration UIs](https://git.fediversity.eu/Fediversity/Fediversity/issues/143) +- [scaling to nixpkgs `services`](https://git.fediversity.eu/Fediversity/Fediversity/issues/369) + +--- + +## ❄️ users be like + +friend: \*calls NixOS _fairly accessible_\* + +meanwhile, colleague: + +> we'd need to be able express "side effects" in the "modular" function application + +--- + +## tech stack (wip) + +- [Vars](https://clan.lol/blog/vars/) +- [OpenTofu](https://opentofu.org/) +- [SelfHostBlocks](https://github.com/ibizaman/selfhostblocks) +- [Nix JSON Schema converter](https://clan.lol/blog/json-schema-converter/) +- [npins](https://github.com/andir/npins) + + + + + + + +--- + +## devs + +- [@fricklerhandwerk](https://github.com/@fricklerhandwerk) (Valentin Gagarin) +- [@Niols](https://github.com/@niols) (Nicolas Jeannerod) +- [@KiaraGrouwstra](https://github.com/KiaraGrouwstra) (me) +- ... (you?!) + +--- + +## contact us + +- matrix: [#fediversity:fediversity.eu](https://matrix.to/#/#fediversity:fediversity.eu) +- mastodon: [@fediversity@mastodon.fediversity.eu](https://mastodon.fediversity.eu/@fediversity) +- mail: [contact@fediversity.eu](mailto:contact@fediversity.eu) + +--- + +## PRs welcome 😄 + +![bg right](assets/git.png) diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..68bd40d --- /dev/null +++ b/shell.nix @@ -0,0 +1,11 @@ +let + nixpkgs = ; + pkgs = import nixpkgs { config = {}; overlays = []; }; +in + +pkgs.mkShellNoCC { + packages = with pkgs; [ + watchexec + marp-cli + ]; +}