This commit is contained in:
Kiara Grouwstra 2025-06-25 20:52:50 +02:00
commit e270d6068b
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU
11 changed files with 289 additions and 0 deletions

10
.envrc Normal file
View file

@ -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

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.html

37
README.md Normal file
View file

@ -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 .
```

BIN
assets/git.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

BIN
assets/kiara.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
assets/koen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

BIN
assets/mockup.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
assets/procolix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

BIN
assets/website.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

230
index.md Normal file
View file

@ -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)
---
<!-- ## [fediversity](https://git.fediversity.eu/Fediversity/Fediversity) -->
<!-- ![bg right](assets/git.png) -->
<!-- --- -->
## [website](https://fediversity.eu/)
![bg right](assets/website.png)
---
## demo
<video controls>
<source src="https://git.fediversity.eu/Fediversity/intra/raw/branch/main/2025-03-09_mvp-demo.mp4" type="video/mp4">
</video>
---
## 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)
---
<!-- ## [NGI](https://ngi.eu/) -->
![](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
| &nbsp; | 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)
<!-- --- -->
<!-- ## how we use nix -->
---
## 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)

11
shell.nix Normal file
View file

@ -0,0 +1,11 @@
let
nixpkgs = <nixpkgs>;
pkgs = import nixpkgs { config = {}; overlays = []; };
in
pkgs.mkShellNoCC {
packages = with pkgs; [
watchexec
marp-cli
];
}