This repository has been archived on 2026-09-17. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
nixos-config/hosts/blunix/localServices/drawio.nix
pijukka 33363c90e3 Agent-Manager-Rolle und Session-Lebenszyklus-Doku an verifizierten Ist-Zustand angleichen
Ausgelöst durch einen Soll/Ist-Abgleich des Agent-Managers gegen ein vom
Nutzer entworfenes Delegations-Diagramm: agent-manager.md behauptete
Session-Start/-Stop-Kontrolle, die es nicht hat (Starten ist
Orchestrator-Funktion, Schließen ist für niemanden verdrahtet). Neuer
Zielbild-Abschnitt in herdr-orchestration.md dokumentiert das vom Nutzer
gewünschte atomare Self-Close-Verhalten explizit als Entwurf mit den
technischen Voraussetzungen dafür, nicht als Ist-Zustand. orga.md an die
bereits getroffene 31.08.-Policy zu Kalender-Schreibrechten angeglichen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FTxMGYHPd7YrRBtgvRtqNk
2026-09-01 16:39:39 +02:00

44 lines
1.6 KiB
Nix

{ pkgs, ... }:
# Self-hosted draw.io/diagrams.net web client, Tailnet-only
# (schema.${domain}, routes-internal.nix). Reason: Mermaid (used for
# docs/pipelines.md) is text-only -- no mouse-driven drag-and-drop editing.
# draw.io's native file format is plain XML, so diagrams stay git-trackable
# and hand-editable in a terminal, same as every other text artifact in
# this repo, while also giving a real GUI for mouse+keyboard editing.
#
# This packages only the static webapp (src/main/webapp from upstream) --
# no Java/Tomcat, no Docker, served the same way as the dashboard repo
# (static-web-server). Diagrams are not stored by this service itself:
# open/save happens via the browser's "Device" storage (a local .drawio
# file), which then gets committed to docs/diagrams/ like any other file.
let
webapp = pkgs.stdenvNoCC.mkDerivation {
pname = "drawio-webapp";
version = "30.2.6";
src = pkgs.fetchFromGitHub {
owner = "jgraph";
repo = "drawio";
rev = "1e87452174bd0f484212494a6166529c1ad75b80"; # v30.2.6
hash = "sha256-TfaAvhLqa73kmQI4KpFnymjTW26SwQEseLSLQiQ3KGE=";
};
installPhase = ''
mkdir -p $out
cp -r src/main/webapp/. $out/
'';
};
in
{
systemd.services.drawio = {
description = "draw.io web client, tailnet-only (schema.0ff.space)";
wantedBy = [ "multi-user.target" ];
before = [ "traefik.service" ];
serviceConfig = {
User = "drone";
Group = "users";
ExecStart = "${pkgs.static-web-server}/bin/static-web-server --host 127.0.0.1 --port 8850 --root ${webapp}";
Restart = "always";
RestartSec = "5s";
};
};
}