184 lines
68 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Tutorial Execution Report</title>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<style>
:root {
--bg: #0d1117; --panel: #161b22; --border: #30363d;
--text: #c9d1d9; --muted: #8b949e; --accent: #58a6ff;
--pass: #2ea043; --fail: #f85149; --info: #d29922;
--code-bg: #0b0f14;
}
* { box-sizing: border-box; }
body {
margin: 0; background: var(--bg); color: var(--text);
font: 14px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
header {
position: sticky; top: 0; z-index: 10; background: var(--panel);
border-bottom: 1px solid var(--border); padding: 12px 20px;
display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
header h1 { font-size: 16px; margin: 0; font-weight: 600; }
.pill { padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.pill.pass { background: rgba(46,160,67,.15); color: var(--pass); }
.pill.fail { background: rgba(248,81,73,.15); color: var(--fail); }
.pill.skip { background: rgba(210,153,34,.15); color: var(--info); }
select { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 4px 8px; }
main { max-width: 1600px; margin: 0 auto; padding: 16px; }
.tutorial-title { font-size: 20px; font-weight: 700; margin: 24px 0 8px; color: #fff; }
.row {
display: grid; grid-template-columns: 1fr 1fr; gap: 0;
border: 1px solid var(--border); border-radius: 8px; margin: 10px 0; overflow: hidden;
}
.row.preamble, .row.section { grid-template-columns: 1fr; }
.col { padding: 14px 18px; min-width: 0; }
.col.left { border-right: 1px solid var(--border); }
.row.preamble .col.left, .row.section .col.left { border-right: none; }
.col.right { background: var(--panel); }
/* A row containing any failed step is tinted red end-to-end so it's
impossible to miss when scanning the report. */
.row.has-fail { border-color: var(--fail); box-shadow: 0 0 0 1px var(--fail); }
.row.has-fail .col.left { background: rgba(248,81,73,.07); border-right-color: var(--fail); }
.row.has-fail .col.right { background: rgba(248,81,73,.12); }
.col-label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 8px; }
.md :first-child { margin-top: 0; }
.md h1 { font-size: 22px; } .md h2 { font-size: 18px; } .md h3 { font-size: 15px; }
.md pre { background: var(--code-bg); border: 1px solid var(--border); border-radius: 6px; padding: 12px; overflow-x: auto; }
.md code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; }
.md :not(pre) > code { background: rgba(110,118,129,.2); padding: .15em .4em; border-radius: 4px; }
.md table { border-collapse: collapse; margin: 8px 0; }
.md th, .md td { border: 1px solid var(--border); padding: 5px 10px; }
.md blockquote { border-left: 3px solid var(--border); margin: 8px 0; padding: 2px 12px; color: var(--muted); }
.exec { margin-bottom: 14px; }
.exec:last-child { margin-bottom: 0; }
.exec-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.badge { font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 4px; }
.badge.pass { background: rgba(46,160,67,.15); color: var(--pass); }
.badge.fail { background: rgba(248,81,73,.15); color: var(--fail); }
.badge.info { background: rgba(210,153,34,.15); color: var(--info); }
.kind { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.note { color: var(--muted); font-size: 12.5px; margin-bottom: 6px; }
pre.cmd { background: var(--code-bg); border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 6px; padding: 10px 12px; margin: 0 0 6px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; }
pre.output { background: #010409; border: 1px solid var(--border); border-radius: 6px; padding: 10px 12px; margin: 0; overflow-x: auto; max-height: 360px; overflow-y: auto; color: #b9c1ca; }
pre.cmd, pre.output { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 1.45; }
.empty { color: var(--muted); font-style: italic; font-size: 12.5px; }
details summary { cursor: pointer; color: var(--accent); font-size: 12px; margin-bottom: 4px; }
</style>
</head>
<body>
<header>
<h1>Tutorial Execution Report</h1>
<span id="summary"></span>
<label style="margin-left:auto; font-size:12px; color:var(--muted)">Tutorial
<select id="picker"></select>
</label>
</header>
<main id="main"></main>
<script id="report-data" type="application/json">{"generated_platform": "Linux", "summary": {"passed": 10, "failed": 13, "skipped": 0}, "tutorials": [{"meta": {"name": "Running This Execution-Zone Module Against logoscore", "platform": "Linux (ext=so)", "release": "(none)"}, "rows": [{"md": "# Running This Execution-Zone Module Against logoscore\n\n`logos-execution-zone` is a Logos `core` module that wraps the\n[Logos execution-zone wallet library](https://github.com/logos-blockchain/lssa)\n(`wallet_ffi`) to provide wallet lifecycle, account management, balance and\nblock queries, transfers, pinata claiming, and account-id encoding. This\ndoc-test exercises **this** execution-zone-module commit end-to-end through the\nheadless `logoscore` runtime:\n\n1. Build the `logoscore` CLI and the `lgpm` local package manager from their\n published flakes. `logoscore` is the headless frontend for `logos-liblogos`,\n so building it brings in the whole module-runtime stack (`logos_host`,\n `liblogos_core`, the IPC layer).\n2. Build **this** execution-zone module as an installable `.lgx` package\n straight from its own flake's `#lgx` output, **pinned to the commit under\n test** \u2014 so the module you run is built from exactly what is checked out\n here, not the latest published release.\n3. Install the `.lgx` into a `./modules` directory with `lgpm`.\n4. Start `logoscore` in daemon mode (`-D`), load `logos_execution_zone`,\n introspect it with `module-info`, and call its wallet-free methods \u2014\n verifying the module actually runs and round-trips real values through\n `wallet_ffi`.\n\nThe methods exercised here \u2014 `name`/`version` and the base58 account-id codec\n(`account_id_to_base58` / `account_id_from_base58`) \u2014 are the module's\ndeterministic, **offline** surface: they need neither an open wallet nor a live\nsequencer, so a green run is reproducible in CI. The stateful operations\n(creating accounts, transfers, sync, pinata claims) require a running\nsequencer and network, and are covered by the module's unit tests (mocked\n`wallet_ffi`) and integration tests (real `wallet_ffi`) instead.\n\nBecause the module is built from the commit under test and then loaded and\ncalled through a real `logoscore` daemon, a green run is real evidence that\nthis change keeps the execution-zone module loadable and callable.\n\n**What you'll build:** This `logos_execution_zone` module, packaged as `.lgx`, installed with `lgpm`, and called through a `logoscore` daemon.\n\n**What you'll learn:**\n\n- How to build the `logoscore` runtime and the `lgpm` package manager from their flakes\n- How a module's flake exposes a ready-to-install `.lgx` via its `#lgx` output\n- How to install an `.lgx` into a modules directory with `lgpm`\n- How to start the `logoscore` daemon, load a module, introspect it, and call its methods\n- How to shut the daemon down and confirm it has exited\n\n## Prerequisites\n\n- **Nix** with flakes enabled. Install from [nixos.org](https://nixos.org/download.html), then enable flakes:\n\n```bash\nmkdir -p ~/.config/nix\necho 'experimental-features = nix-command flakes' >> ~/.config/nix/nix.conf\n```\n\nVerify: `nix flake --help >/dev/null 2>&1 && echo \"Flakes enabled\"`\n\n- **A Linux or macOS machine.**", "execs": []}, {"md": "## Step 1: Build logoscore\n\nBuild the `logoscore` CLI from its published flake. The result is symlinked to\n`./logos/`. `logoscore` is the headless frontend for `logos-liblogos`, so this\none build brings in the whole module-runtime stack the daemon needs.", "execs": []}, {"md": "### 1.1 Build the CLI\n\n```bash\nnix build 'github:logos-co/logos-logoscore-cli' --out-link ./logos\n```\n\nThe build produces `logos/bin/logoscore` plus bundled runtime libraries\nand a `logos/modules/` directory containing the built-in\n`capability_module` (required for the auth handshake when loading\nmodules).", "execs": [{"kind": "run", "cmd": "nix build 'github:logos-co/logos-logoscore-cli' --out-link ./logos", "status": "pass", "exit_code": 0, "output": "unpacking 'github:logos-co/logos-logoscore-cli/859c365ea15acd27cc9acfcebbb092d26d491585' into the Git cache...\nunpacking 'github:logos-co/logos-cpp-sdk/f0fe8cbfeb1fe62d934b4abf8c300047a49420c9?narHash=sha256-uCCoJJRVCUUO6j03GO6/02%2BuuLd9GaAi/0dHaiW2bXs%3D' into the Git cache...\nunpacking 'github:logos-co/logos-liblogos/0c0a23db48e7b816ebf356457d9da5f84510072d?narHash=sha256-EoVyFkgOnikgxw2kJK6s09Ys2xmTZvEAcDyyDC6vXfk%3D' into the Git cache...\nunpacking 'github:logos-co/logos-container-subprocess/f4860708a982b361a2e25c5260e13800bcee126e?narHash=sha256-PP/2tFfwrbqTzbZKVl46I96xz/ZZj7hi9C3/QeLHtQE%3D' into the Git cache...\nunpacking 'github:logos-co/logos-container/15adc74f829f0cc662bce4f0bfae917cd50e7db4?narHash=sha256-RJjquPiZz3/LkJaFUGpDxFbt1%2BpaBiVtbbxjVhDMR3o%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module-loader-qt/331760de70938e98a8756aaf2cdbe99e763376f2?narHash=sha256-GHyeMvVho8AWDeWb8cKQQLU0dIM0ynsnrJkvS2Q6Ihs%3D' into the Git cache...\nunpacking 'github:logos-co/logos-cpp-sdk/182d850e722c820b3640a09541d7c469ef79f0e6?narHash=sha256-q1Q2MCax3L1RLfcS40sDStVipK6dhfiPHYk31YeGyUI%3D' into the Git cache...\nunpacking 'github:logos-co/logos-lidl/8c95d4f0cc6a10195c70ed71e85b7a4cddca02f8?narHash=sha256-8l2tE2K5nY1grcFROQHC1By1jVI0NrfkS3k2v2y6R2I%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module/a3e288a71d6f79445db598b0ffcca2ee435596b9?narHash=sha256-Ym3i52f5MWuZy8Qas3%2Bzfoxz%2BmxQUsyW%2BQol1no6kDs%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module-loader/7ed7a5a97e1ad9142187d755c4ce56ed17d69f18?narHash=sha256-v1eIGPXTnW0oCwEvEjEoBLeoidUh3ZomDGQY9m/ucNw%3D' into the Git cache...\nunpacking 'github:logos-co/logos-protocol/9de4165ab68ece4071647026cb2596bed8a8d7e2?narHash=sha256-j9U4wPlHdN5oA%2B65h1SAo/s2YUHvNYKxij4/pCqEtAs%3D' into the Git cache...\nunpacking 'github:logos-co/logos-qt-sdk/812369213719773f6486755a30c476a699469b37?narHash=sha256-wjbHmczSG8VUMlRkIp3pviVTLPTzReDbIRfBpqnlQr4%3D' into the Git cache...\nunpacking 'github:logos-co/logos-package-manager/8a6b72f28b1e73b6d753eaabe7eba13bf425f04e?narHash=sha256-vHxdyGdW3Ai3/Omspw5drtJXzXyN0TWuCYet95A5h6E%3D' into the Git cache...\nunpacking 'github:logos-co/logos-package/ff93a0df15ceab255f27687d22d962ea2737efbe?narHash=sha256-Cti0DhkzyLQs98BSzcHWMLtGXpa3n%2BR%2B5upfSw6vKdQ%3D' into the Git cache...\nunpacking 'github:logos-co/nix-bundle-appimage/2428125a4a1b34ad9119efa97edb98676283e3da?narHash=sha256-S8IMfdDc%2B2Wwri0krLDsIUwSqmwanmvHAJWHOFo8ykk%3D' into the Git cache...\nunpacking 'github:logos-co/nix-bundle-dir/3d155cab09051703a0b02ff2de166a53c30cbca8?narHash=sha256-HrVJguPxhIoZMCH%2Bx8Wooa0tE6slUhgNOU6P89t2uQc%3D' into the Git cache...\nunpacking 'github:logos-co/process-stats/33ace1270f90c89b3565e803139c0970fcd1ce8f?narHash=sha256-hTVAnDREBQOVHML6KU3K7Ge0CRBqnFIg7uYL7qDnD8o%3D' into the Git cache...\nunpacking 'github:logos-co/logos-qt-sdk/8d0e5d98990261407b50600d886158a1f78e1b1c?narHash=sha256-Z8nAECXYUx4mt0fH9Q9IFpLlAZc%2Bm/Z43GD8mZEIoKE%3D' into the Git cache...\nunpacking 'github:logos-co/logos-test-modules/a410e0518395652e1b16daf0ec3e1baa5a6b5d28?narHash=sha256-sWcmtIOwF9WMpF6JpwO1JymMQ6CObRuUbvdwwej1HTY%3D' into the Git cache...\nunpacking 'github:logos-co/logos-liblogos/2321de0365249e7223cac9ea2ac321fa0a2495c7?narHash=sha256-LvenATy%2B0mzX2jKp%2B4KxB5Uuky3KXnHYy8FX18qSLHs%3D' into the Git cache...\nunpacking 'github:logos-co/logos-cpp-sdk/25c88f4d48fa95ea4437194bcf60bd8d0cf84a74?narHash=sha256-gbBYvyEDxBHF8iACAE/dFcljBkIUTWr1rP3gBLj62JI%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module/194778491ef4dd36967ac40cc2fec6b8a8b1d660?narHash=sha256-ehePoUEd/u3Ng0TvCmjocXYJWWH6P61PA7tNpgV59lo%3D' into the Git cache...\nunpacking 'github:logos-co/logos-package-manager/9101875bc103214855bc6217834e22e66802ed86?narHash=sha256-HMkuqSLdScAWTwXEWjhqx9Yk82GiPzPIfRaHTvjG730%3D' into the Git cache...\nunpacking 'github:logos-co/logos-logoscore-cli/454e0696e9417acaac2c0b6dc1f209b5838c7635?narHash=sha256-GcOMQ8xSSsSHQCx6W59Pk/YEmzbeZQ9YWGH1MaxeTVI%3D' into the Git cache...\nunpacking 'github:logos-co/logos-liblogos/03ffaa379ed22999dafa07ef8da905ef519bfb29?narHash=sha256-BU6lNRaWyyyPdw5M4yF9P0tsX8tLISmB9EIemw6rSSQ%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module-client/04cd350d639bcc8d9dcac6133e57e5eacfc2400a?narHash=sha256-hqlxEK1knlm4YtHCgXSKKuwO7RKII0/GIikKNOR5f5g%3D' into the Git cache...\nunpacking 'github:logos-co/logos-test-modules/029d1c37ad988e08fd3e9bfcc0956c78ea7962d1?narHash=sha256-9tFJItLlCW8BebZOfClMD%2BRZC1R8%2BzLkY3JBOPnnU/g%3D' into the Git cache...\nunpacking 'github:logos-co/logos-logoscore-cli/0c0a4a18b1543b5ccb8bc4cd336317a59202f706?narHash=sha256-jsqiS5Xy9%2BlKCBhbSzEr9TJrhcAisCODo0LMfT32kTA%3D' into the Git cache...\nunpacking 'github:logos-co/nix-bundle-appimage/8fcc56b5afcc313ca917cf3487be082ae2f0184c?narHash=sha256-VzzOBZEIuPWaqDf8YgmVW/VbA3POFwLU5qAruMFw/JA%3D' into the Git cache...\nunpacking 'github:logos-co/nix-bundle-dir/4937262f55cf8be942263255dd0801e3e3878bc9?narHash=sha256-lQ/tc/owFa7Yjh8MXe0Fn2GodQXVGmpOZwe5gBEcENA%3D' into the Git cache...\nunpacking 'github:logos-co/nix-bundle-logos-module-install/89cc9ea91275396d589c767d76926459ac77ef20?narHash=sha256-0QH146bzL2kKBYJq2yA35iPwug55j2xjEyKCS7tjhvg%3D' into the Git cache...\nunpacking 'github:logos-co/logos-package-manager/39118d6c52226e88a77c6ff7d1196229f56b757e?narHash=sha256-pU7GShEizE8HkDGvR9NWZPqksiGyvfcWodtFyc318TM%3D' into the Git cache...\nunpacking 'github:logos-co/nix-bundle-lgx/9d8f8602b1574ec9ac4c9b31ae0c92570221c268?narHash=sha256-XbBPcMuDFA/SxYVw9TIRQbhie5Vj5MqwdU%2BGh1iR1LA%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module-builder/b0e41abf3e14c0534b41933c5f8e3fc697319037?narHash=sha256-sUGiatEU51cyZeATc3P/8b0myrAkCKavePpFwtkKxAI%3D' into the Git cache...\nunpacking 'github:logos-co/logos-plugin-qt/8c45eca86db8fba8689326c35d0ec8c2b3cdd9a0?narHash=sha256-EGHUsyKaA7IjnBKNysFD62Qlqsd0GyxyhbuYNAS0%2BTg%3D' into the Git cache...\nunpacking 'github:logos-co/logos-standalone-app/a749953e0e9f3d716856d2bd818cd5757aeb065d?narHash=sha256-k05qvbRM2fR7SAEKaElXZNtneWJx/IN/yEx4JMnxv1A%3D' into the Git cache...\nunpacking 'github:logos-co/logos-design-system/f6e95ae24ede3871c380f8250feffd17d173f5a4?narHash=sha256-D6W7oC80cT7pg95kSpxO0jtoVj1hG9A151CciCSZaBc%3D' into the Git cache...\nunpacking 'github:logos-co/logos-test-framework/44816073a437fde4203e140b896e70a387c0678a?narHash=sha256-BINVw7hztdrDkoDSdmnKZes7A15g1SmXKjIHpjZv/3I%3D' into the Git cache...\nunpacking 'github:logos-co/nix-bundle-lgx/3c44d99b9d8dbd8a135b44b5b328e6175650305e?narHash=sha256-HOwg1N4NfGYq579IppVPpVjPDZfYQGndXGlcl1VRXXo%3D' into the Git cache...\nunpacking 'github:logos-co/logos-package/118ccc4efd04eb0c4d541be8db7f1075e014ac39?narHash=sha256-l/tL39ZVNz3nWpE9zWpC/kg11QHSQJ2HHp3W3yv1pNI%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module-builder/260c755b387cfa973f55236ce4edeba7b7a21e9b?narHash=sha256-5phZWUuzqb3yIygCPIY5hSG6SrvOr0hnk0Zo5Y4X66A%3D' into the Git cache...\nunpacking 'github:logos-co/logos-cpp-sdk/eb71a1aa90e05a98814138779680de2ea60a9ff2?narHash=sha256-Z0nOivZhmNWprngIAxx1ZwpZPKH3EvZRTPzr3nTrMgs%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module/780894dd40ebc8eded0fa97b1729286f31571cfb?narHash=sha256-CV7R%2BlwNIP0baXZtE9uNjqu7qDLiANwyGfMkHfTjcl0%3D' into the Git cache...\nunpacking 'github:logos-co/logos-plugin-qt/8f8260e6f9aba54b55bf8cc88ddb673dabb7512b?narHash=sha256-a%2BT5XY7KL1eFREtj4fzdMFnhD9BR8juSg9bQObbMeEQ%3D' into the Git cache...\nunpacking 'github:logos-co/logos-plugin-qt/f58fbaa25acbc547ae2671e2cddcc1517d6643f0?narHash=sha256-QwLWoeYn0yMrldG63dWaH2lqyYFn7qgTi5XFlrgCJSc%3D' into the Git cache...\nunpacking 'github:logos-co/logos-standalone-app/f812b43f73f3c264ee0f8a8354f40721431d6846?narHash=sha256-7IqnkRG1CkOKfiw5qf1o%2BKg9ci%2BMKlcJNXgrg6GyYXk%3D' into the Git cache...\nunpacking 'github:logos-co/logos-cpp-sdk/d77c3dd616384addfcc8c5607860466850fdfcf2?narHash=sha256-PfpmvkXyDnQRW0dcnIthGKE17rm5bwm8KLbEqJcm9kM%3D' into the Git cache...\nunpacking 'github:logos-co/logos-design-system/6176f0d7a5dfeb64a7f0f98e7ca2bf71a4804772?narHash=sha256-QSSCCE4eKGiIS5PqHDfk9Lj4VFmeCh18khbFWrGxvvc%3D' into the Git cache...\nunpacking 'github:logos-co/logos-liblogos/be7c8fd8e89e9c7506421735e18dc85bde0c1cb2?narHash=sha256-HKgY1cbcm1BgFau0KBJba0pKGNZ/7oJMcqJMhPDQ20Q%3D' into the Git cache...\nunpacking 'github:logos-co/logos-qt-mcp/c5223b4b640add09e461983b8fddbd12c8b31f4f?narHash=sha256-rebrtH1UxC1hDuwQBwyYbGzNCrnuuqiVL7OvzUhk65k%3D' into the Git cache...\nunpacking 'github:logos-co/logos-view-module-runtime/21dddc380eca36e7e865cf5a437f63e0e16f30d3?narHash=sha256-6NNZG9FTaLRKwJZxtFWySlfiTanh25AmJK5Ru%2BS9HrM%3D' into the Git cache...\nunpacking 'github:logos-co/logos-test-framework/ee081954096f602b47308c6dc7d00fb71d5dcdc7?narHash=sha256-LcZnXuNTCyFQS7rhOHF3sy%2BoF6PNq/H1MLPHch08XrU%3D' into the Git cache...\ncopying path '/nix/store/jc3mfa7ybzh32bkvdj5xiib1vkx8jy6x-source' from 'https://cache.nixos.org'...\nunpacking 'github:logos-co/logos-capability-module/13441afc8e8af8cfd22d6e007c6f46874eac97d9?narHash=sha256-LaQ5EuAVZeW6H2JUaBXtXfke6ZZvsqgE9qfeFueKAHI%3D' into the Git cache...\nunpacking 'github:logos-co/logos-module-builder/fd07679ecfa1b2d8cfdd06799f3e03ed385b57f6?narHash=sha256-u%2BGUBX0Evswa2tRwuUybsiUU%2B7O0wnNh33GJDBwk9ps%3D' into the Git cache...\nunpacking 'github:logos-co/logos-plugin-qt/68090d0a976224ca1c3c606c486a9ac3dd7a4559?narHash=sha256-yDxv9Cv5VEJDVqHz9qYCU3UXv%2BkCIjRoD90A7uGYuGU%3D' into the Git cache...\nunpacking 'github:logos-co/logos-cpp-sdk/f5a127dd11589c8fc6db0a1bd4332d09ac080bb6?narHash=sha256-ZamVbPJxW364RFOa0WnYTJV7AiEjnUcOgfxIbfNgTO0%3D' into the Git cache...\nunpacking 'github:logos-co/logos-capability-module/0013e7653eb1b23d5495e39f149259bd60dc1db4?narHash=sha256-8wFILW1oMS1L77Ff4bcC/5W9dytNe6I1rhf5AHhQW2U%3D' into the Git cache...\nthese 192 paths will be fetched (133.7 MiB download, 801.4 MiB unpacked):\n /nix/store/3apspx5fhyb83153axf1b80ifiklgjbh-acl-2.3.2\n /nix/store/c96wgx1q0v8j90isavvxm3qah55r45lw-at-spi2-core-2.56.2\n /nix/store/877drgyy4926ps2qfraaxsd49w90bwiz-attr-2.5.2\n /nix/store/j32hl8idyin6cl5050j6lazvcwqpplxy-audit-4.1.1-unstable-2025-08-01-lib\n /nix/store/s9nqr7mipmbi2vgkwkqiriq8ggrrw915-avahi-0.8\n /nix/store/q7sqwn7i6w2b67adw0bmix29pxg85x3w-bash-5.3p3\n /nix/store/x0cccj6ww4hkl1hlirx60f32r13dvfmf-boost-1.87.0\n /nix/store/20cck0r5dvh21c4w7wy8j3f7cc6wb5k2-boost-1.87.0-dev\n /nix/store/scirrfdcp47bhxaaw6n5q9gwlzxd8hcr-brotli-1.1.0-lib\n /nix/store/x1nn5jrx1im7wmmn1xmpjvyf072s5k75-bzip2-1.0.8\n /nix/store/qqp9905idvzszhmkgnd468nbx3ydnk5s-cairo-1.18.4\n /nix/store/8ksax0a2mxglr5hlkj2dzl556jx7xqn5-coreutils-9.7\n /nix/store/flx3ldz80vm7ir7rnm9fk48d5bdr56ch-cracklib-2.10.3\n /nix/store/dmd8bw8q30r01lszawp254nf26sc8j5b-cryptsetup-2.8.1\n /nix/store/zkpfddh7v4svk76afsc1bbbvqapzjpir-cups-2.4.12-lib\n /nix/store/g3vj4z918zal30klpdd9papkavis01sh-curl-8.14.1\n /nix/store/gmym0k5njbill58wygw9n5vbhl0ramw7-db-4.8.30\n /nix/store/wm9npw769j5z8zfap6bgfka0rhd6y85c-dbus-1.14.10\n /nix/store/1h1cz7mqml20pcdwa7a5wi5kv0z5f9jx-dbus-1.14.10-dev\n /nix/store/wmaqf8a3d2hzljx92sckpa4ivzqh5dcm-dbus-1.14.10-lib\n /nix/store/saybx2945n4rgs0pid63dgangvy4fyq8-dconf-0.40.0-lib\n /nix/store/k9q0wrnif5m9fxvk1rxbz777blpxkqg5-dejavu-fonts-minimal-2.37\n /nix/store/8l7vc3i8rpxfrpgpl0ysriz8ahhaswfi-dns-root-data-2025-04-14\n /nix/store/8c5qlxhjcjbqmib5gy0ajn0cpn3pz96l-double-conversion-3.3.1\n /nix/store/8x1h50iwn4f8s997fyvgw68lbbk41iyn-duktape-2.7.0\n /nix/store/hnzqas16kwcvaj2j5wb4izxdh692f9vn-elfutils-0.193\n /nix/store/wdbr9yrvz0vgsii826wlidr48m7rafdf-expat-2.7.1\n /nix/store/gcg8vgv846ippc10l2ximay0r6bal97a-expat-2.7.1-dev\n /nix/store/888by822ph2lxf11wqdgs39cpj02jcr6-fmt-10.2.1\n /nix/store/lscizzvxksjpvqd0kjkd04q264qq22yr-fontconfig-2.16.2\n /nix/store/kld68jc4zmliifsvhq8gwrn85zxr8vr4-fontconfig-2.16.2-lib\n /nix/store/95gvjj2dq0fn7x95zppnkpbril4djmnn-freetype-2.13.3\n /nix/store/l7pi2m8xpg1s2nix2xhw5kbwqcrcwhkc-fribidi-1.0.16\n /nix/store/41ym1jm1b7j3rhglk82gwg9jml26z1km-gcc-14.3.0-lib\n /nix/store/8zm936ys1dkqv2710j0w09r2mk0kj5n9-gcc-14.3.0-libgcc\n /nix/store/ym535kzfflwz7zhafjs3q9ydrcnng7di-gdk-pixbuf-2.42.12\n /nix/store/ah5ms38f9ava60jdwvf6whwbw7663w6l-getent-glibc-2.40-66\n /nix/store/4wsbhlx84w65m1666czrmc671i9wxgk3-giflib-5.2.2\n /nix/store/qfm3kqdbpd289nnmdhd4dis4svd2nzwv-glib-2.84.4\n /nix/store/776irwlgfb65a782cxmyk61pck460fs9-glibc-2.40-66\n /nix/store/n2k28lkawd29rjds56jnyq70pbdknilc-glibc-2.40-66-getent\n /nix/store/12m0v9p2c5pshd8m201z8la0ijd95ri9-gmp-with-cxx-6.3.0\n /nix/store/b7pkrm3rv0sydsppr9abs4qsmcm7a4rv-gmp-with-cxx-6.3.0\n /nix/store/nb2k3hzxl438b9l8r13p2s3r9c1wpzzn-gnupg-2.4.8\n /nix/store/8av8pfs7bnyc6hqj764ns4z1fnr9bva1-gnutar-1.35\n /nix/store/a55chb1mj39mgjcbw0h655ri6dlgd0wl-gnutls-3.8.10\n /nix/store/q683hzf36jlwq310v2n15qn4grkxxg41-gobject-introspection-1.84.0\n /nix/store/mdd6cbrw28ygk8rg2xn8i69dxmpj1n27-graphite2-1.3.14\n /nix/store/4mnv8i8s1rg1j3ivmwz1xb23dc87qy60-gsettings-desktop-schemas-48.0\n /nix/store/lw4v9xvxyqrabifarmvj36prncj0c947-gtk+3-3.24.49\n /nix/store/j1ymhj0igpi1vyyhh3ylzrggl0pz6qqv-harfbuzz-11.2.1\n /nix/store/wg6gqk570l5x32hq7plbpkk6lw7svpkj-hwdata-0.398\n /nix/store/w24hkb1b9v50r3sgpvmk8kwyi04x7imq-icu4c-76.1\n /nix/store/l6cfiv9k72iv7m8ihmgp6d1fwiicbswl-iso-codes-4.18.0\n /nix/store/r10fg73217nj93v3g4i4qlm9jsgar6ij-json-c-0.18\n /nix/store/7jlq3dh1n2a5fjakic3rzh353qy8hry1-json-glib-1.10.6\n /nix/store/j3v7fsg7hwfyy8ciz7sk5dyqygs235vb-kbd-2.8.0-unstable-2025-08-12\n /nix/store/z7g4qf35k3rgzm5d7fm6x9g8ahba8x3q-kbd-2.8.0-unstable-2025-08-12\n /nix/store/wfsx9ghfmkmz4zq5gabp0mssr9lgcdxa-kexec-tools-2.0.31\n /nix/store/1vw3n1caad61rdg020qgsil21db98x7j-keyutils-1.6.3-lib\n /nix/store/4jyrpflk1a2pjwg1i8v81gprkzcjwvkh-kmod-31\n /nix/store/y9czkcg5k265nw5zhbafv510wl333z2q-kmod-31-lib\n /nix/store/jlf1dhlhcn8xk3swlxc9y3a0yrina46w-krb5-1.22.1-lib\n /nix/store/12xvprmf0k03p7lzpcb4rrbdky1gsjj3-lerc-4.0.0\n /nix/store/rgawpm3iw4m8fxgmgz5ggji7hxi24haq-lgx-lib-0.1.0\n /nix/store/ia7js0riygf22nsxxiw5pwq6yxscz55p-libXcomposite-0.4.6\n /nix/store/gzwi69v5a7k48sjkvf4c3998kg0ymfrn-libXdamage-1.1.6\n /nix/store/rvx9p4dhgbf9ch5lvwfk8pk01zfm6ih2-libXft-2.3.9\n /nix/store/w8q26h5dvhy79fxcsj31iw11sdf09hs6-libXi-1.8.2\n /nix/store/xczzyjgbid5krg4wqmgk0zfvdinilwkw-libXinerama-1.1.5\n /nix/store/ycsmihpja2k7bcw8kw9r3h9x1a2q0gsg-libXtst-1.2.5\n /nix/store/n9aigl6w7igkdyd6kdwal3n9ys4byp64-libapparmor-4.1.1\n /nix/store/flqs48a2h0jbls6k3las4qgq7yhbickc-libarchive-3.8.1-lib\n /nix/store/lww5x725wwazzfp9r5hy8484qdgmmaxp-libassuan-3.0.2\n /nix/store/ppj73b9r7vld4q5ma044j2wzzhgqvj19-libb2-0.98.1\n /nix/store/8jgnmlzb820a1bkff5bkwl1qi681qz7n-libbpf-1.6.2\n /nix/store/cwl3ixd56h52b4hjv5qydxk1izigxcjz-libcap-2.76-lib\n /nix/store/d79izxk2mrmcrx3wzpx2p19dzj98m0sw-libcap-2.76-lib\n /nix/store/vh93gfvv15gjs6ak9fvgypaq8sff9kzh-libcap-ng-0.8.5\n /nix/store/zhnnbi2jr3c4jsipl7wm233syzdbf10n-libcbor-0.12.0\n /nix/store/q0c41yrzah9pfyd0nnmasalsqh8gbqal-libdaemon-0.14\n /nix/store/nby25vgms4mvg0rfj55axngwafmpdzx4-libdatrie-2019-12-20-lib\n /nix/store/zl4ax0cxkdchwax6qdhc762cwmnwafyy-libdeflate-1.24\n /nix/store/h5k131fmpybsz4c5ip83z58m5iafqv0w-libdrm-2.4.125\n /nix/store/54p2yd34njvrb4y3yq2k14dk0c6db1c2-libepoxy-1.5.10\n /nix/store/i3dqwabnv7mrzi5xi8x14990n6hg4jb1-libevent-2.1.12\n /nix/store/i6a553gjc2i4r4p54qk5mdy3ybsiydwk-libffi-3.5.1\n /nix/store/lql1za1wl82nq874j0n9lapdx5jfkawl-libfido2-1.16.0\n /nix/store/hq4c9wzzdnxj06f810b5rwkcvv0bb5cf-libgcrypt-1.11.1-lib\n /nix/store/pgxicv9xgn7y4wlamnlwzh2frlcfi2f5-libglvnd-1.7.0\n /nix/store/10ahhmqpbmy6rpznpjjadwz8c722a256-libgpg-error-1.55\n /nix/store/1n45jia80pf41vhmsgxaspr2zyf1gkf4-libice-1.1.2\n /nix/store/wwqyxsvmg41q5ckfvvv6wa50nwvz9dv4-libidn2-2.3.8\n /nix/store/ld48pvj263k06rvljmh8la69ghh11yy0-libjpeg-turbo-3.1.1\n /nix/store/598h9vdqrzqkjfrkvhndhfx3ksil1qc4-libmicrohttpd-1.0.2\n /nix/store/x4fn0mq0jx2sy2z9anw0fajaxhy57nwd-libpciaccess-0.18.1\n /nix/store/acdymp33g8mgllql8s80li89fafakjam-libpng-apng-1.6.49\n /nix/store/hyp4z8ip3s7rnp3s18jkd8sgfrwxkhmz-libpq-17.6\n /nix/store/g5fkbz2i5azsgl5w6az4l6fvi5b9iv2a-libproxy-0.5.10\n /nix/store/bywdzqksdpfd0kx50k5zvicvkir05s18-libpsl-0.21.5\n /nix/store/8czvbpbjkykiw4kfp84lravx0rc88gkm-libpwquality-1.4.5-lib\n /nix/store/jap6dd4lrpfjqdv1d335jx9h1anxgyng-libseccomp-2.6.0-lib\n /nix/store/abd6znwgd3dhma7bnzdzhdwp22wnj8sw-libselinux-3.8.1\n /nix/store/z8yc7mq9y9pjl06yhqcl93m5anbvl1xy-libsm-1.2.6\n /nix/store/0ncz9ijx5slwskb2bbbacygs8apnm6rg-libsodium-1.0.20\n /nix/store/83z8p55rvrxy6nzqgx3jbc2vyp2h4fw0-libsoup-3.6.5\n /nix/store/va3w14p49xm87pnmxavk4j3imnqzb03m-libssh2-1.11.1\n /nix/store/fhw4y5vwmmxkq72bl4jkr55iayqvjji7-libtasn1-4.20.0\n /nix/store/51wrmhqzrzs4dyli3zadpi58p0a9c9b9-libthai-0.1.29\n /nix/store/88fdfl1xvwfnx9sqhxkkfgpwbhn80xfb-libtiff-4.7.0\n /nix/store/89bsxfq70m9zs7pvg0n7bkarpb75m00p-libtpms-0.10.1\n /nix/store/7ndy5820h69n1pgd13viph1qjq6zhhkj-libunistring-1.3\n /nix/store/xxb70pyyqqhyvhczd6c5fm077ah722wp-libwebp-1.6.0\n /nix/store/wfna2fx4023769504rjzgn0mz0m6bc0c-libx11-1.8.12\n /nix/store/z33vk6wn8gjndbjx5szwadxckchh3p70-libxau-1.0.12\n /nix/store/3q0df4j93xpcdv69mm8b4ll6rfawkmaf-libxcb-1.17.0\n /nix/store/wbffjdah02s7g05sgm9x3xpxnn2mmjxp-libxcb-image-0.4.1\n /nix/store/nj17d3n2y7wp116j7x9p34wg9rsj2nlz-libxcb-keysyms-0.4.1\n /nix/store/0gnjn6sm2h306pq5951gglan4r6vbfi3-libxcb-render-util-0.3.10\n /nix/store/1rp7sk17sm6463i6j83ljg4f59dajrvf-libxcb-util-0.4.1\n /nix/store/xbwjkpn95aa7my0ynssw466y57r27kci-libxcb-wm-0.4.2\n /nix/store/bcsfx7baf00f6bldlpshfsd6fnaxi8xx-libxcrypt-4.4.38\n /nix/store/wh144m9n9l6x0ymkijrschjnxdbfvmmc-libxcursor-1.2.3\n /nix/store/gqy115r3rfasx1i1vq9pvnjyq75q31j9-libxdmcp-1.1.5\n /nix/store/vqviqi56cf6wri18bscgxgx45lwb6mgc-libxext-1.3.6\n /nix/store/wh2rk89l24k7gaqyi75qjjj6m874gikr-libxfixes-6.0.1\n /nix/store/q90008wvsnvg7jyg9n2gyq2nq2il1q5c-libxkbcommon-1.11.0\n /nix/store/zamqz08gyq11cbbi2f3ciwmynkvsfk5n-libxml2-2.14.5\n /nix/store/y3f8qyplqlr2dq45brdllmfbmq72881k-libxrandr-1.5.4\n /nix/store/z91n482d5j83vwahjbp7ynrsz2hka8js-libxrender-0.9.12\n /nix/store/gz42kmkrky3w0jki988aa2x0pjhfj56m-linux-pam-1.7.1\n /nix/store/m6fvh0y5qc07iiv11a1gw5vdxw88d9p1-logos-cpp-sdk-headers-0.2.0\n /nix/store/iapz25vk6wd5hqjk53mp17xanf41r2j3-logos-cpp-sdk-lib-0.2.0\n /nix/store/64v82xy3k9q8gnm4jkv52h9gpmwrbp2h-logos-liblogos\n /nix/store/0n46gprmjjr11r1zvph94g42cqzmi3cp-logos-liblogos-bin-0.1.0\n /nix/store/67r0ik92snd20j44c9l26qlvcxkxc6va-logos-liblogos-headers-0.1.0\n /nix/store/96wz45kc3ri96lhrkm47mfabxqpmfa93-logos-logoscore-cli\n /nix/store/nx987yxqrn3c5xs1vid4510w7gy8dmgs-logos-logoscore-cli-bin-0.1.0\n /nix/store/5zcp7jmrwpnhxvg474f8nyh9i7fb052f-logos-module-loader-qt-bin-0.1.0\n /nix/store/m6ndrqhkj60xs4lh0089ii2vbs2rrdmr-logos-module-loader-qt-build-0.1.0\n /nix/store/r0hjv1x44jfxpmc86g1qshzcckf19jyd-logos-package-manager-lib-1.0.0\n /nix/store/93yrnk091386ynyxg4fcy7xalz1qrdd3-logos-protocol-lib-0.1.0\n /nix/store/9d1hvr49k3sakrg7yrjzlcp5h466flic-logos-qt-sdk-lib-0.1.0\n /nix/store/xnrzbm6z6v7x1a8n4l9pyvzjr3js9j4f-lvm2-2.03.33-lib\n /nix/store/dww7q4wmgj9x62fnriarqarb3xcaygj3-lz4-1.10.0-lib\n /nix/store/ndfsadq4s7n9d39zv75xdx2jv28lnwr0-lzo-2.10\n /nix/store/ml8334d7m0h6q1z6dx61xz4zhj7scqmz-mariadb-connector-c-3.3.5\n /nix/store/ndf4ys5nad5naw8v746bx976c7jhsq6v-md4c-0.5.2-lib\n /nix/store/yg95pqw1c4ff09jnvdkin69zps7rb6kf-mtdev-1.1.7\n /nix/store/mszd3cfmlqdz864qgc85h24h5r73xg0z-nettle-3.10.2\n /nix/store/did4qx8g0fx4kyiyk9imhbbyhdg8mjba-nghttp2-1.66.0-lib\n /nix/store/r82wggrhgs0v2kkp0f2g9jplc4mfh2gq-nlohmann_json-3.11.3\n /nix/store/cjhsw9j1nlryd5vrj28xm1wn1q59iy0w-npth-1.8\n /nix/store/gi615r79j260ihhzdkhrg6qva9wfrbyy-openssl-3.5.1\n /nix/store/nn4b544v4sanvsf22mjiw3qh8mwh6pzh-openssl-3.5.1-bin\n /nix/store/qqfiw89h8j4pilcyqapldzq5vf0vqgxy-openssl-3.5.1-dev\n /nix/store/lghfgb8v4ac7vi1bfj2fq74x11jxbh8l-p11-kit-0.25.5\n /nix/store/vc37li5p9cmqx5zfhlm6sxmli6qbc346-pango-1.56.3\n /nix/store/y667mbdld0s8rmb2i493ldyfh3lsgk1y-pcre2-10.44\n /nix/store/790lr6wk5m760ahglbi7fzafqqxc9j3w-pcsclite-2.3.0-lib\n /nix/store/ssshfj3zgwnx3j77spypa7c5v5ixc5sc-pixman-0.46.2\n /nix/store/4my6a75b8p1w734w7crqfw69jw7xarla-pkg-config-0.29.2\n /nix/store/05h9vfzhqf7l6w1xczixici2ldw9y788-pkg-config-wrapper-0.29.2\n /nix/store/v3z4bn1pxsg6699y61x86pvzif41m666-publicsuffix-list-0-unstable-2025-07-22\n /nix/store/80756r64gv9w9aml3waq5s9lfbplihqr-qrencode-4.1.1\n /nix/store/dkfr32yi7p8cdxsnll05q1kax19fl7ay-qtbase-6.9.2\n /nix/store/a7yn32bjr496l6ql281ih4ccnmc4pmq6-qtbase-6.9.2-only-plugins-qml\n /nix/store/agvpq5n8vcqwnkmn8bp8rlczy3fdxm6n-qtdeclarative-6.9.2\n /nix/store/r2cq6la02msp6kfcl9a17d2l2n96qpvs-qtremoteobjects-6.9.2\n /nix/store/36ndhs8khvj8960qbhvw8h3bld1kc06g-qtsvg-6.9.2\n /nix/store/vma55wxinv0crfqbi0fiflaqzwg75c3m-qttranslations-6.9.2\n /nix/store/83b84cmi3ax86h4x4r7wssmcwmvrllyp-spdlog-1.15.2\n /nix/store/8bsyjdxv61ha88hjrpgl6nyfjxfqnphx-sqlite-3.50.2\n /nix/store/acjdidq41qig9khxcm7gx1d7brzjs249-systemd-257.8\n /nix/store/l6l0dawq6d90x1dimwpihl0c21cphhhz-systemd-minimal-257.8\n /nix/store/8lxn5385zrbgamkn3gs0gih2lwgcz91g-systemd-minimal-libs-257.8\n /nix/store/rk9kj6nnabvam68pdw7vjj2jxsc0flc8-tinysparql-3.9.2\n /nix/store/vf0s5s9ai939h9rl2r4ajiv30xgdzglp-tpm2-tss-4.1.3\n /nix/store/ysy40jp0zlni955x2k5dj621c3pxkv74-unbound-1.23.1-lib\n /nix/store/1qbfh0apn9nv6y3xvm9h5z6mphhjyy6i-unixODBC-2.3.12\n /nix/store/qcxrf6hi3afinicfhfi73n3c8y3zlyk0-util-linux-minimal-2.41.1-lib\n /nix/store/1cax162px6a0kqh1gqv717kiq38jhf7c-util-linux-minimal-2.41.1-login\n /nix/store/1xkx302ri8lra6bzjy70zs4hpmjfv8wg-util-linux-minimal-2.41.1-mount\n /nix/store/r8cl93l8s5gk1x4s547vvvrn93zv3z63-util-linux-minimal-2.41.1-swap\n /nix/store/wzngf2vhv7bhy3zqmq1716lgr7p1cwiq-vulkan-loader-1.4.321.0\n /nix/store/yb3bf4iyxzjhs51kgj3w7kw42ci9vx3n-wayland-1.24.0\n /nix/store/sizvgh45aij5lckxc7wzxi13azaixi82-xcb-util-cursor-0.1.5\n /nix/store/0ja5daq2yay3svg6f48spyfby7pgy5bm-xgcc-14.3.0-libgcc\n /nix/store/v0jl272ii01xf06r1q99c6x2v0yfjf8h-xkeyboard-config-2.45\n /nix/store/mjszfnqrfid0c9b4dnaydkz43cmg23k7-xz-5.8.1\n /nix/store/09sifcahf0j1xnw80k9l33jzcs1p2qbw-zlib-1.3.1\n /nix/store/bxn7mqdrckhjkmvy5ynhybmj0lmdlgb4-zstd-1.5.7\ncopying path '/nix/store/8zm936ys1dkqv2710j0w09r2mk0kj5n9-gcc-14.3.0-libgcc' from 'https://cache.nixos.org'...\ncopying path '/nix/store/m6fvh0y5qc07iiv11a1gw5vdxw88d9p1-logos-cpp-sdk-headers-0.2.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/vma55wxinv0crfqbi0fiflaqzwg75c3m-qttranslations-6.9.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/0ja5daq2yay3svg6f48spyfby7pgy5bm-xgcc-14.3.0-libgcc' from 'https://cache.nixos.org'...\ncopying path '/nix/store/k9q0wrnif5m9fxvk1rxbz777blpxkqg5-dejavu-fonts-minimal-2.37' from 'https://cache.nixos.org'...\ncopying path '/nix/store/4mnv8i8s1rg1j3ivmwz1xb23dc87qy60-gsettings-desktop-schemas-48.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/l6cfiv9k72iv7m8ihmgp6d1fwiicbswl-iso-codes-4.18.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/7ndy5820h69n1pgd13viph1qjq6zhhkj-libunistring-1.3' from 'https://cache.nixos.org'...\ncopying path '/nix/store/r82wggrhgs0v2kkp0f2g9jplc4mfh2gq-nlohmann_json-3.11.3' from 'https://cache.nixos.org'...\ncopying path '/nix/store/v0jl272ii01xf06r1q99c6x2v0yfjf8h-xkeyboard-config-2.45' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8l7vc3i8rpxfrpgpl0ysriz8ahhaswfi-dns-root-data-2025-04-14' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wg6gqk570l5x32hq7plbpkk6lw7svpkj-hwdata-0.398' from 'https://cache.nixos.org'...\ncopying path '/nix/store/v3z4bn1pxsg6699y61x86pvzif41m666-publicsuffix-list-0-unstable-2025-07-22' from 'https://cache.nixos.org'...\ncopying path '/nix/store/lscizzvxksjpvqd0kjkd04q264qq22yr-fontconfig-2.16.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/iapz25vk6wd5hqjk53mp17xanf41r2j3-logos-cpp-sdk-lib-0.2.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/wwqyxsvmg41q5ckfvvv6wa50nwvz9dv4-libidn2-2.3.8' from 'https://cache.nixos.org'...\ncopying path '/nix/store/776irwlgfb65a782cxmyk61pck460fs9-glibc-2.40-66' from 'https://cache.nixos.org'...\ncopying path '/nix/store/877drgyy4926ps2qfraaxsd49w90bwiz-attr-2.5.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/q7sqwn7i6w2b67adw0bmix29pxg85x3w-bash-5.3p3' from 'https://cache.nixos.org'...\ncopying path '/nix/store/scirrfdcp47bhxaaw6n5q9gwlzxd8hcr-brotli-1.1.0-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/x1nn5jrx1im7wmmn1xmpjvyf072s5k75-bzip2-1.0.8' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8x1h50iwn4f8s997fyvgw68lbbk41iyn-duktape-2.7.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wdbr9yrvz0vgsii826wlidr48m7rafdf-expat-2.7.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/41ym1jm1b7j3rhglk82gwg9jml26z1km-gcc-14.3.0-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/l7pi2m8xpg1s2nix2xhw5kbwqcrcwhkc-fribidi-1.0.16' from 'https://cache.nixos.org'...\ncopying path '/nix/store/4wsbhlx84w65m1666czrmc671i9wxgk3-giflib-5.2.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/n2k28lkawd29rjds56jnyq70pbdknilc-glibc-2.40-66-getent' from 'https://cache.nixos.org'...\ncopying path '/nix/store/r10fg73217nj93v3g4i4qlm9jsgar6ij-json-c-0.18' from 'https://cache.nixos.org'...\ncopying path '/nix/store/1vw3n1caad61rdg020qgsil21db98x7j-keyutils-1.6.3-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/cwl3ixd56h52b4hjv5qydxk1izigxcjz-libcap-2.76-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/vh93gfvv15gjs6ak9fvgypaq8sff9kzh-libcap-ng-0.8.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/d79izxk2mrmcrx3wzpx2p19dzj98m0sw-libcap-2.76-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/n9aigl6w7igkdyd6kdwal3n9ys4byp64-libapparmor-4.1.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/zhnnbi2jr3c4jsipl7wm233syzdbf10n-libcbor-0.12.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/q0c41yrzah9pfyd0nnmasalsqh8gbqal-libdaemon-0.14' from 'https://cache.nixos.org'...\ncopying path '/nix/store/3apspx5fhyb83153axf1b80ifiklgjbh-acl-2.3.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/nby25vgms4mvg0rfj55axngwafmpdzx4-libdatrie-2019-12-20-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/gcg8vgv846ippc10l2ximay0r6bal97a-expat-2.7.1-dev' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ah5ms38f9ava60jdwvf6whwbw7663w6l-getent-glibc-2.40-66' from 'https://cache.nixos.org'...\ncopying path '/nix/store/zl4ax0cxkdchwax6qdhc762cwmnwafyy-libdeflate-1.24' from 'https://cache.nixos.org'...\ncopying path '/nix/store/i3dqwabnv7mrzi5xi8x14990n6hg4jb1-libevent-2.1.12' from 'https://cache.nixos.org'...\ncopying path '/nix/store/i6a553gjc2i4r4p54qk5mdy3ybsiydwk-libffi-3.5.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/10ahhmqpbmy6rpznpjjadwz8c722a256-libgpg-error-1.55' from 'https://cache.nixos.org'...\ncopying path '/nix/store/1n45jia80pf41vhmsgxaspr2zyf1gkf4-libice-1.1.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/j32hl8idyin6cl5050j6lazvcwqpplxy-audit-4.1.1-unstable-2025-08-01-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ld48pvj263k06rvljmh8la69ghh11yy0-libjpeg-turbo-3.1.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/bywdzqksdpfd0kx50k5zvicvkir05s18-libpsl-0.21.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/jap6dd4lrpfjqdv1d335jx9h1anxgyng-libseccomp-2.6.0-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/0ncz9ijx5slwskb2bbbacygs8apnm6rg-libsodium-1.0.20' from 'https://cache.nixos.org'...\ncopying path '/nix/store/fhw4y5vwmmxkq72bl4jkr55iayqvjji7-libtasn1-4.20.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/51wrmhqzrzs4dyli3zadpi58p0a9c9b9-libthai-0.1.29' from 'https://cache.nixos.org'...\ncopying path '/nix/store/bcsfx7baf00f6bldlpshfsd6fnaxi8xx-libxcrypt-4.4.38' from 'https://cache.nixos.org'...\ncopying path '/nix/store/gqy115r3rfasx1i1vq9pvnjyq75q31j9-libxdmcp-1.1.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/zamqz08gyq11cbbi2f3ciwmynkvsfk5n-libxml2-2.14.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/z33vk6wn8gjndbjx5szwadxckchh3p70-libxau-1.0.12' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8av8pfs7bnyc6hqj764ns4z1fnr9bva1-gnutar-1.35' from 'https://cache.nixos.org'...\ncopying path '/nix/store/dww7q4wmgj9x62fnriarqarb3xcaygj3-lz4-1.10.0-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ndfsadq4s7n9d39zv75xdx2jv28lnwr0-lzo-2.10' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ndf4ys5nad5naw8v746bx976c7jhsq6v-md4c-0.5.2-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/yg95pqw1c4ff09jnvdkin69zps7rb6kf-mtdev-1.1.7' from 'https://cache.nixos.org'...\ncopying path '/nix/store/did4qx8g0fx4kyiyk9imhbbyhdg8mjba-nghttp2-1.66.0-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/cjhsw9j1nlryd5vrj28xm1wn1q59iy0w-npth-1.8' from 'https://cache.nixos.org'...\ncopying path '/nix/store/gi615r79j260ihhzdkhrg6qva9wfrbyy-openssl-3.5.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/lghfgb8v4ac7vi1bfj2fq74x11jxbh8l-p11-kit-0.25.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/y667mbdld0s8rmb2i493ldyfh3lsgk1y-pcre2-10.44' from 'https://cache.nixos.org'...\ncopying path '/nix/store/790lr6wk5m760ahglbi7fzafqqxc9j3w-pcsclite-2.3.0-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/lww5x725wwazzfp9r5hy8484qdgmmaxp-libassuan-3.0.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/hq4c9wzzdnxj06f810b5rwkcvv0bb5cf-libgcrypt-1.11.1-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ssshfj3zgwnx3j77spypa7c5v5ixc5sc-pixman-0.46.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/3q0df4j93xpcdv69mm8b4ll6rfawkmaf-libxcb-1.17.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/80756r64gv9w9aml3waq5s9lfbplihqr-qrencode-4.1.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/4my6a75b8p1w734w7crqfw69jw7xarla-pkg-config-0.29.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8lxn5385zrbgamkn3gs0gih2lwgcz91g-systemd-minimal-libs-257.8' from 'https://cache.nixos.org'...\ncopying path '/nix/store/1qbfh0apn9nv6y3xvm9h5z6mphhjyy6i-unixODBC-2.3.12' from 'https://cache.nixos.org'...\ncopying path '/nix/store/qcxrf6hi3afinicfhfi73n3c8y3zlyk0-util-linux-minimal-2.41.1-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/1cax162px6a0kqh1gqv717kiq38jhf7c-util-linux-minimal-2.41.1-login' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wzngf2vhv7bhy3zqmq1716lgr7p1cwiq-vulkan-loader-1.4.321.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/yb3bf4iyxzjhs51kgj3w7kw42ci9vx3n-wayland-1.24.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/mjszfnqrfid0c9b4dnaydkz43cmg23k7-xz-5.8.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/09sifcahf0j1xnw80k9l33jzcs1p2qbw-zlib-1.3.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/abd6znwgd3dhma7bnzdzhdwp22wnj8sw-libselinux-3.8.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/05h9vfzhqf7l6w1xczixici2ldw9y788-pkg-config-wrapper-0.29.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/nb2k3hzxl438b9l8r13p2s3r9c1wpzzn-gnupg-2.4.8' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wfna2fx4023769504rjzgn0mz0m6bc0c-libx11-1.8.12' from 'https://cache.nixos.org'...\ncopying path '/nix/store/nj17d3n2y7wp116j7x9p34wg9rsj2nlz-libxcb-keysyms-0.4.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/xbwjkpn95aa7my0ynssw466y57r27kci-libxcb-wm-0.4.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/flx3ldz80vm7ir7rnm9fk48d5bdr56ch-cracklib-2.10.3' from 'https://cache.nixos.org'...\ncopying path '/nix/store/0gnjn6sm2h306pq5951gglan4r6vbfi3-libxcb-render-util-0.3.10' from 'https://cache.nixos.org'...\ncopying path '/nix/store/1rp7sk17sm6463i6j83ljg4f59dajrvf-libxcb-util-0.4.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/x4fn0mq0jx2sy2z9anw0fajaxhy57nwd-libpciaccess-0.18.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/acdymp33g8mgllql8s80li89fafakjam-libpng-apng-1.6.49' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8bsyjdxv61ha88hjrpgl6nyfjxfqnphx-sqlite-3.50.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/xnrzbm6z6v7x1a8n4l9pyvzjr3js9j4f-lvm2-2.03.33-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/qfm3kqdbpd289nnmdhd4dis4svd2nzwv-glib-2.84.4' from 'https://cache.nixos.org'...\ncopying path '/nix/store/z8yc7mq9y9pjl06yhqcl93m5anbvl1xy-libsm-1.2.6' from 'https://cache.nixos.org'...\ncopying path '/nix/store/1xkx302ri8lra6bzjy70zs4hpmjfv8wg-util-linux-minimal-2.41.1-mount' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8c5qlxhjcjbqmib5gy0ajn0cpn3pz96l-double-conversion-3.3.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/gmym0k5njbill58wygw9n5vbhl0ramw7-db-4.8.30' from 'https://cache.nixos.org'...\ncopying path '/nix/store/888by822ph2lxf11wqdgs39cpj02jcr6-fmt-10.2.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/12m0v9p2c5pshd8m201z8la0ijd95ri9-gmp-with-cxx-6.3.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/r8cl93l8s5gk1x4s547vvvrn93zv3z63-util-linux-minimal-2.41.1-swap' from 'https://cache.nixos.org'...\ncopying path '/nix/store/b7pkrm3rv0sydsppr9abs4qsmcm7a4rv-gmp-with-cxx-6.3.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/mdd6cbrw28ygk8rg2xn8i69dxmpj1n27-graphite2-1.3.14' from 'https://cache.nixos.org'...\ncopying path '/nix/store/95gvjj2dq0fn7x95zppnkpbril4djmnn-freetype-2.13.3' from 'https://cache.nixos.org'...\ncopying path '/nix/store/w24hkb1b9v50r3sgpvmk8kwyi04x7imq-icu4c-76.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/12xvprmf0k03p7lzpcb4rrbdky1gsjj3-lerc-4.0.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ppj73b9r7vld4q5ma044j2wzzhgqvj19-libb2-0.98.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/h5k131fmpybsz4c5ip83z58m5iafqv0w-libdrm-2.4.125' from 'https://cache.nixos.org'...\ncopying path '/nix/store/xxb70pyyqqhyvhczd6c5fm077ah722wp-libwebp-1.6.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wbffjdah02s7g05sgm9x3xpxnn2mmjxp-libxcb-image-0.4.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/83b84cmi3ax86h4x4r7wssmcwmvrllyp-spdlog-1.15.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/bxn7mqdrckhjkmvy5ynhybmj0lmdlgb4-zstd-1.5.7' from 'https://cache.nixos.org'...\ncopying path '/nix/store/mszd3cfmlqdz864qgc85h24h5r73xg0z-nettle-3.10.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8ksax0a2mxglr5hlkj2dzl556jx7xqn5-coreutils-9.7' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ia7js0riygf22nsxxiw5pwq6yxscz55p-libXcomposite-0.4.6' from 'https://cache.nixos.org'...\ncopying path '/nix/store/vqviqi56cf6wri18bscgxgx45lwb6mgc-libxext-1.3.6' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wh2rk89l24k7gaqyi75qjjj6m874gikr-libxfixes-6.0.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/q90008wvsnvg7jyg9n2gyq2nq2il1q5c-libxkbcommon-1.11.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/z91n482d5j83vwahjbp7ynrsz2hka8js-libxrender-0.9.12' from 'https://cache.nixos.org'...\ncopying path '/nix/store/sizvgh45aij5lckxc7wzxi13azaixi82-xcb-util-cursor-0.1.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/kld68jc4zmliifsvhq8gwrn85zxr8vr4-fontconfig-2.16.2-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/w8q26h5dvhy79fxcsj31iw11sdf09hs6-libXi-1.8.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/xczzyjgbid5krg4wqmgk0zfvdinilwkw-libXinerama-1.1.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/pgxicv9xgn7y4wlamnlwzh2frlcfi2f5-libglvnd-1.7.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/gzwi69v5a7k48sjkvf4c3998kg0ymfrn-libXdamage-1.1.6' from 'https://cache.nixos.org'...\ncopying path '/nix/store/dmd8bw8q30r01lszawp254nf26sc8j5b-cryptsetup-2.8.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/jlf1dhlhcn8xk3swlxc9y3a0yrina46w-krb5-1.22.1-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/va3w14p49xm87pnmxavk4j3imnqzb03m-libssh2-1.11.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/lql1za1wl82nq874j0n9lapdx5jfkawl-libfido2-1.16.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wh144m9n9l6x0ymkijrschjnxdbfvmmc-libxcursor-1.2.3' from 'https://cache.nixos.org'...\ncopying path '/nix/store/89bsxfq70m9zs7pvg0n7bkarpb75m00p-libtpms-0.10.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/y3f8qyplqlr2dq45brdllmfbmq72881k-libxrandr-1.5.4' from 'https://cache.nixos.org'...\ncopying path '/nix/store/j3v7fsg7hwfyy8ciz7sk5dyqygs235vb-kbd-2.8.0-unstable-2025-08-12' from 'https://cache.nixos.org'...\ncopying path '/nix/store/z7g4qf35k3rgzm5d7fm6x9g8ahba8x3q-kbd-2.8.0-unstable-2025-08-12' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wfsx9ghfmkmz4zq5gabp0mssr9lgcdxa-kexec-tools-2.0.31' from 'https://cache.nixos.org'...\ncopying path '/nix/store/4jyrpflk1a2pjwg1i8v81gprkzcjwvkh-kmod-31' from 'https://cache.nixos.org'...\ncopying path '/nix/store/y9czkcg5k265nw5zhbafv510wl333z2q-kmod-31-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/rvx9p4dhgbf9ch5lvwfk8pk01zfm6ih2-libXft-2.3.9' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ycsmihpja2k7bcw8kw9r3h9x1a2q0gsg-libXtst-1.2.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/flqs48a2h0jbls6k3las4qgq7yhbickc-libarchive-3.8.1-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/88fdfl1xvwfnx9sqhxkkfgpwbhn80xfb-libtiff-4.7.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/gz42kmkrky3w0jki988aa2x0pjhfj56m-linux-pam-1.7.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/nn4b544v4sanvsf22mjiw3qh8mwh6pzh-openssl-3.5.1-bin' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ysy40jp0zlni955x2k5dj621c3pxkv74-unbound-1.23.1-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/54p2yd34njvrb4y3yq2k14dk0c6db1c2-libepoxy-1.5.10' from 'https://cache.nixos.org'...\ncopying path '/nix/store/g3vj4z918zal30klpdd9papkavis01sh-curl-8.14.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/hyp4z8ip3s7rnp3s18jkd8sgfrwxkhmz-libpq-17.6' from 'https://cache.nixos.org'...\ncopying path '/nix/store/qqfiw89h8j4pilcyqapldzq5vf0vqgxy-openssl-3.5.1-dev' from 'https://cache.nixos.org'...\ncopying path '/nix/store/a55chb1mj39mgjcbw0h655ri6dlgd0wl-gnutls-3.8.10' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8czvbpbjkykiw4kfp84lravx0rc88gkm-libpwquality-1.4.5-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/l6l0dawq6d90x1dimwpihl0c21cphhhz-systemd-minimal-257.8' from 'https://cache.nixos.org'...\ncopying path '/nix/store/hnzqas16kwcvaj2j5wb4izxdh692f9vn-elfutils-0.193' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ml8334d7m0h6q1z6dx61xz4zhj7scqmz-mariadb-connector-c-3.3.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/vf0s5s9ai939h9rl2r4ajiv30xgdzglp-tpm2-tss-4.1.3' from 'https://cache.nixos.org'...\ncopying path '/nix/store/598h9vdqrzqkjfrkvhndhfx3ksil1qc4-libmicrohttpd-1.0.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/ym535kzfflwz7zhafjs3q9ydrcnng7di-gdk-pixbuf-2.42.12' from 'https://cache.nixos.org'...\ncopying path '/nix/store/j1ymhj0igpi1vyyhh3ylzrggl0pz6qqv-harfbuzz-11.2.1' from 'https://cache.nixos.org'...\ncopying path '/nix/store/g5fkbz2i5azsgl5w6az4l6fvi5b9iv2a-libproxy-0.5.10' from 'https://cache.nixos.org'...\ncopying path '/nix/store/qqp9905idvzszhmkgnd468nbx3ydnk5s-cairo-1.18.4' from 'https://cache.nixos.org'...\ncopying path '/nix/store/7jlq3dh1n2a5fjakic3rzh353qy8hry1-json-glib-1.10.6' from 'https://cache.nixos.org'...\ncopying path '/nix/store/83z8p55rvrxy6nzqgx3jbc2vyp2h4fw0-libsoup-3.6.5' from 'https://cache.nixos.org'...\ncopying path '/nix/store/saybx2945n4rgs0pid63dgangvy4fyq8-dconf-0.40.0-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/8jgnmlzb820a1bkff5bkwl1qi681qz7n-libbpf-1.6.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/q683hzf36jlwq310v2n15qn4grkxxg41-gobject-introspection-1.84.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/acjdidq41qig9khxcm7gx1d7brzjs249-systemd-257.8' from 'https://cache.nixos.org'...\ncopying path '/nix/store/vc37li5p9cmqx5zfhlm6sxmli6qbc346-pango-1.56.3' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wmaqf8a3d2hzljx92sckpa4ivzqh5dcm-dbus-1.14.10-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/c96wgx1q0v8j90isavvxm3qah55r45lw-at-spi2-core-2.56.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/wm9npw769j5z8zfap6bgfka0rhd6y85c-dbus-1.14.10' from 'https://cache.nixos.org'...\ncopying path '/nix/store/s9nqr7mipmbi2vgkwkqiriq8ggrrw915-avahi-0.8' from 'https://cache.nixos.org'...\ncopying path '/nix/store/1h1cz7mqml20pcdwa7a5wi5kv0z5f9jx-dbus-1.14.10-dev' from 'https://cache.nixos.org'...\ncopying path '/nix/store/zkpfddh7v4svk76afsc1bbbvqapzjpir-cups-2.4.12-lib' from 'https://cache.nixos.org'...\ncopying path '/nix/store/x0cccj6ww4hkl1hlirx60f32r13dvfmf-boost-1.87.0' from 'https://cache.nixos.org'...\ncopying path '/nix/store/rgawpm3iw4m8fxgmgz5ggji7hxi24haq-lgx-lib-0.1.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/rk9kj6nnabvam68pdw7vjj2jxsc0flc8-tinysparql-3.9.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/r0hjv1x44jfxpmc86g1qshzcckf19jyd-logos-package-manager-lib-1.0.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/lw4v9xvxyqrabifarmvj36prncj0c947-gtk+3-3.24.49' from 'https://cache.nixos.org'...\ncopying path '/nix/store/20cck0r5dvh21c4w7wy8j3f7cc6wb5k2-boost-1.87.0-dev' from 'https://cache.nixos.org'...\ncopying path '/nix/store/dkfr32yi7p8cdxsnll05q1kax19fl7ay-qtbase-6.9.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/a7yn32bjr496l6ql281ih4ccnmc4pmq6-qtbase-6.9.2-only-plugins-qml' from 'https://cache.nixos.org'...\ncopying path '/nix/store/36ndhs8khvj8960qbhvw8h3bld1kc06g-qtsvg-6.9.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/agvpq5n8vcqwnkmn8bp8rlczy3fdxm6n-qtdeclarative-6.9.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/93yrnk091386ynyxg4fcy7xalz1qrdd3-logos-protocol-lib-0.1.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/9d1hvr49k3sakrg7yrjzlcp5h466flic-logos-qt-sdk-lib-0.1.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/67r0ik92snd20j44c9l26qlvcxkxc6va-logos-liblogos-headers-0.1.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/r2cq6la02msp6kfcl9a17d2l2n96qpvs-qtremoteobjects-6.9.2' from 'https://cache.nixos.org'...\ncopying path '/nix/store/m6ndrqhkj60xs4lh0089ii2vbs2rrdmr-logos-module-loader-qt-build-0.1.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/5zcp7jmrwpnhxvg474f8nyh9i7fb052f-logos-module-loader-qt-bin-0.1.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/0n46gprmjjr11r1zvph94g42cqzmi3cp-logos-liblogos-bin-0.1.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/64v82xy3k9q8gnm4jkv52h9gpmwrbp2h-logos-liblogos' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/nx987yxqrn3c5xs1vid4510w7gy8dmgs-logos-logoscore-cli-bin-0.1.0' from 'https://logos-co.cachix.org'...\ncopying path '/nix/store/96wz45kc3ri96lhrkm47mfabxqpmfa93-logos-logoscore-cli' from 'https://logos-co.cachix.org'...\n", "note": ""}]}, {"md": "## Step 2: Build the lgpm package manager\n\n`lgpm` installs `.lgx` packages into a modules directory and scans what is\ninstalled. Build it from the `logos-package-manager` flake and link it as\n`./lgpm`.", "execs": []}, {"md": "### 2.1 Build lgpm\n\n```bash\nnix build 'github:logos-co/logos-package-manager#cli' -o lgpm\n```\n\nThe executable is at `./lgpm/bin/lgpm`.", "execs": [{"kind": "run", "cmd": "nix build 'github:logos-co/logos-package-manager#cli' -o lgpm", "status": "pass", "exit_code": 0, "output": "unpacking 'github:logos-co/logos-package-manager/05b2cf853a81cc61d6c6e81b6f2b5ef2a9466c24' into the Git cache...\nthis path will be fetched (422.7 KiB download, 1.1 MiB unpacked):\n /nix/store/kz84vv01mz83wvffhhhh8vrxb5zqqi9k-logos-package-manager-cli-1.0.0\ncopying path '/nix/store/kz84vv01mz83wvffhhhh8vrxb5zqqi9k-logos-package-manager-cli-1.0.0' from 'https://logos-co.cachix.org'...\n", "note": ""}]}, {"md": "## Step 3: Build and install this execution-zone module\n\nBuild **this** execution-zone module's `.lgx` straight from its flake's\n`#lgx` output and install it into a local `./modules` directory with `lgpm`.\nEvery module built with\n[`logos-module-builder`](https://github.com/logos-co/logos-module-builder)\nexposes a ready-to-install `#lgx`.\n\n> The `` in the URL is what pins the build to a specific commit: the\n> doc-test runner expands it to a concrete ref. Locally that is this\n> checkout's `HEAD` (see `run.sh`); in CI it is the commit being tested. With\n> no pin it falls back to the latest `master`.", "execs": []}, {"md": "### 3.1 Build the module's .lgx\n\nBuild the `#lgx` output and link it as `./lez-lgx`. (This compiles the\nmodule and the `wallet_ffi` library it depends on through Nix, so the\nfirst build is slow.)\n\n```bash\n# From inside the clone this is simply: nix build '.#lgx'\nnix build 'github:logos-blockchain/logos-execution-zone-module/f3e7055753d9b75d310a2a1a066e7171939e2132#lgx' -o lez-lgx\n```\n\nThe `.lgx` package is now under `./lez-lgx/`:\n\n```bash\nls lez-lgx/*.lgx\n```", "execs": [{"kind": "run", "cmd": "nix build 'github:logos-blockchain/logos-execution-zone-module/f3e7055753d9b75d310a2a1a066e7171939e2132#lgx' -o lez-lgx", "status": "fail", "exit_code": 1, "output": "unpacking 'github:logos-blockchain/logos-execution-zone-module/f3e7055753d9b75d310a2a1a066e7171939e2132' into the Git cache...\nerror: syntax error, unexpected '}', expecting ';'\n at \u00abgithub:logos-blockchain/logos-execution-zone-module/f3e7055\u00bb/flake.nix:8:3:\n 7| logos-execution-zone.url = \"github:logos-blockchain/logos-execution-zone\"\n 8| };\n | ^\n 9|\n", "note": "exit code 1"}, {"kind": "run", "cmd": "ls lez-lgx/*.lgx", "status": "fail", "exit_code": 2, "output": "ls: cannot access 'lez-lgx/*.lgx': No such file or directory\n", "note": "exit code 2"}]}, {"md": "### 3.2 Seed the modules directory with the bundled capability module\n\n`logos_execution_zone` is loaded through the host's capability layer, so\nthe modules directory also needs the `capability_module` that ships with\n`logoscore`. Copy it across first.\n\n```bash\nmkdir -p modules\ncp -RL ./logos/modules/. ./modules/\n\n```", "execs": [{"kind": "run", "cmd": "mkdir -p modules\ncp -RL ./logos/modules/. ./modules/\n", "status": "pass", "exit_code": 0, "output": "", "note": ""}]}, {"md": "### 3.3 Install the .lgx with lgpm\n\nInstall the freshly-built package into `./modules`. `logos_execution_zone`\nis a `core` module, so it goes to `--modules-dir`. The package is unsigned\n(a local dev build), so we pass `--allow-unsigned`.\n\n```bash\n./lgpm/bin/lgpm --modules-dir ./modules --allow-unsigned install --file lez-lgx/*.lgx\n```", "execs": [{"kind": "run", "cmd": "./lgpm/bin/lgpm --modules-dir ./modules --allow-unsigned install --file lez-lgx/*.lgx", "status": "fail", "exit_code": 1, "output": "Installing from file: lez-lgx/*.lgx... FAILED\nError: Source plugin file does not exist or is not a file: lez-lgx/*.lgx\n", "note": "exit code 1"}]}, {"md": "### 3.4 Confirm the install\n\nScan the directory and confirm the module landed:\n\n```bash\n./lgpm/bin/lgpm --modules-dir ./modules list\n```", "execs": [{"kind": "run", "cmd": "./lgpm/bin/lgpm --modules-dir ./modules list", "status": "fail", "exit_code": 0, "output": "Found 1 installed module(s):\n\nNAME VERSION TYPE CATEGORY \n----------------------------------------------------------------------\ncapability_module 1.0.0 core security \n", "note": "expected 'logos_execution_zone' not found in output"}]}, {"md": "## Step 4: Run the daemon and call the module\n\nStart `logoscore` in daemon mode pointed at `./modules`, then use the client\nsubcommands to load `logos_execution_zone`, introspect it, and call several\nof its methods. Daemon output is captured in `logs.txt`.", "execs": []}, {"md": "### 4.1 Start the daemon\n\nStart logoscore in daemon mode in the background, capturing output to\n`logs.txt`:\n\n```bash\nlogoscore -D -m ./modules > logs.txt &\n```\n\nThe `-D` flag starts the daemon. The client subcommands below connect to\nthis running process via the config written under `~/.logoscore/`.", "execs": [{"kind": "run", "cmd": "sh -c './logos/bin/logoscore -D -m ./modules > logs.txt 2>&1 &'", "status": "pass", "exit_code": 0, "output": "", "note": ""}]}, {"md": "```bash\nsleep 3\n```", "execs": [{"kind": "run", "cmd": "sleep 3", "status": "pass", "exit_code": 0, "output": "", "note": ""}]}, {"md": "### 4.2 Inspect the startup log\n\nReview the daemon's startup output:\n\n```bash\ncat logs.txt\n```", "execs": [{"kind": "run", "cmd": "cat logs.txt", "status": "pass", "exit_code": 0, "output": "[2026-06-20 18:54:49.524] [warning] [logos] Module capability_module carries no usable logos_protocol_version (pre-protocol build) \u2014 loading permissively\n[2026-06-20 18:54:49.789] [info] [logos] Module loaded: capability_module\nLogoscore daemon started (pid 4333, instance bd7803587f64)\nDaemon state: /tmp/doctest-test-cgzx31v5/.logoscore/daemon/state.json\nLocal client config: /tmp/doctest-test-cgzx31v5/.logoscore/client/config.json\n", "note": ""}]}, {"md": "### 4.3 Check daemon status\n\nVerify the daemon is running:\n\n```bash\nlogoscore status\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore status", "status": "pass", "exit_code": 0, "output": "{\"daemon\":{\"pid\":4333,\"status\":\"running\",\"version\":\"1.0.0\"},\"modules\":[{\"name\":\"capability_module\",\"status\":\"loaded\"}],\"modules_summary\":{\"crashed\":0,\"loaded\":1,\"not_loaded\":0}}\n", "note": ""}]}, {"md": "### 4.4 List discovered modules\n\n`logos_execution_zone` should be visible in the scan directory:\n\n```bash\nlogoscore list-modules\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore list-modules", "status": "fail", "exit_code": 0, "output": "[{\"name\":\"capability_module\",\"status\":\"loaded\"}]\n", "note": "expected 'logos_execution_zone' not found in output"}]}, {"md": "### 4.5 Load the module\n\nLoad `logos_execution_zone` into the running daemon:\n\n```bash\nlogoscore load-module logos_execution_zone\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore load-module logos_execution_zone", "status": "fail", "exit_code": 3, "output": "{\"code\":\"MODULE_LOAD_FAILED\",\"known_modules\":[\"capability_module\"],\"message\":\"Failed to load module 'logos_execution_zone'.\",\"status\":\"error\"}\n", "note": "exit code 3"}]}, {"md": "### 4.6 Confirm the module is loaded\n\nRe-run `status`; the module that was `not_loaded` before now reports\n`loaded`:\n\n```bash\nlogoscore status\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore status", "status": "fail", "exit_code": 0, "output": "{\"daemon\":{\"pid\":4333,\"status\":\"running\",\"version\":\"1.0.0\"},\"modules\":[{\"name\":\"capability_module\",\"status\":\"loaded\"}],\"modules_summary\":{\"crashed\":0,\"loaded\":1,\"not_loaded\":0}}\n", "note": "expected 'logos_execution_zone' not found in output"}]}, {"md": "### 4.7 Introspect the module with module-info\n\n`module-info` lists the methods the module exposes \u2014 the same methods you\ncan `call`:\n\n```bash\nlogoscore module-info logos_execution_zone\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore module-info logos_execution_zone", "status": "fail", "exit_code": 3, "output": "{\"code\":\"MODULE_NOT_FOUND\",\"message\":\"Module 'logos_execution_zone' not found.\",\"status\":\"error\"}\n", "note": "exit code 3"}]}, {"md": "### 4.8 Read the module name\n\n`name` returns the module's own identifier \u2014 the simplest possible\nround-trip through the loaded plugin over liblogos' IPC:\n\n```bash\nlogoscore call logos_execution_zone name\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore call logos_execution_zone name", "status": "fail", "exit_code": 4, "output": "{\"code\":\"RPC_FAILED\",\"message\":\"callModuleMethod('logos_execution_zone','name') RPC call failed.\",\"status\":\"error\"}\n", "note": "exit code 4"}]}, {"md": "### 4.9 Read the module version\n\n`version` returns the module's semantic version (`1.0.0`), matching\n`metadata.json`:\n\n```bash\nlogoscore call logos_execution_zone version\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore call logos_execution_zone version", "status": "fail", "exit_code": 4, "output": "{\"code\":\"METHOD_FAILED\",\"message\":\"Call to logos_execution_zone.version failed.\",\"status\":\"error\"}\n", "note": "exit code 4"}]}, {"md": "### 4.10 Encode an account id to base58\n\n`account_id_to_base58` takes a 32-byte account id as 64 hex characters\nand returns its base58 form. This is a pure encoding helper in\n`wallet_ffi` \u2014 no open wallet and no network required, so it runs\nentirely offline:\n\n```bash\nlogoscore call logos_execution_zone account_id_to_base58 aaaaaaaa...aaaa # 64 hex chars\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore call logos_execution_zone account_id_to_base58 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "status": "fail", "exit_code": 4, "output": "{\"code\":\"METHOD_FAILED\",\"message\":\"Call to logos_execution_zone.account_id_to_base58 failed.\",\"status\":\"error\"}\n", "note": "exit code 4"}]}, {"md": "### 4.11 Round-trip it back to hex\n\n`account_id_from_base58` is the inverse: feed it the base58 string we just\nproduced and it returns the original 64-hex account id. Encoding then\ndecoding the same id and recovering the input is a deterministic,\nend-to-end proof that the codec \u2014 and the IPC path to this module \u2014 work:\n\n```bash\n# Encode, then decode the result back \u2014 the round-trip returns the input.\nB58=$(logoscore call logos_execution_zone account_id_to_base58 aaaa...aaaa)\nlogoscore call logos_execution_zone account_id_from_base58 \"$B58\"\n```", "execs": [{"kind": "run", "cmd": "ENC=$(./logos/bin/logoscore call logos_execution_zone account_id_to_base58 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)\nB58=$(printf '%s' \"$ENC\" | sed -n 's/.*\"result\":\"\\([^\"]*\\)\".*/\\1/p')\necho \"encoded: $B58\"\n./logos/bin/logoscore call logos_execution_zone account_id_from_base58 \"$B58\"\n", "status": "fail", "exit_code": 4, "output": "encoded: \n{\"code\":\"METHOD_FAILED\",\"message\":\"Call to logos_execution_zone.account_id_from_base58 failed.\",\"status\":\"error\"}\n", "note": "exit code 4"}]}, {"md": "### 4.12 Reject malformed base58\n\nDecoding obvious garbage fails cleanly: `account_id_from_base58` returns\nan empty result rather than crashing the module or the daemon:\n\n```bash\nlogoscore call logos_execution_zone account_id_from_base58 '!!!not-base58!!!'\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore call logos_execution_zone account_id_from_base58 '!!!not-base58!!!'", "status": "fail", "exit_code": 4, "output": "{\"code\":\"METHOD_FAILED\",\"message\":\"Call to logos_execution_zone.account_id_from_base58 failed.\",\"status\":\"error\"}\n", "note": "exit code 4"}]}, {"md": "### 4.13 Stop the daemon\n\nShut the daemon down cleanly:\n\n```bash\nlogoscore stop\n```\n\nThe daemon removes its state file and exits.", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore stop", "status": "pass", "exit_code": 0, "output": "{\"message\":\"Daemon shutting down.\",\"status\":\"ok\"}\n", "note": ""}]}, {"md": "```bash\nsleep 2\n```", "execs": [{"kind": "run", "cmd": "sleep 2", "status": "pass", "exit_code": 0, "output": "", "note": ""}]}, {"md": "### 4.14 Confirm the daemon has stopped\n\nWith no daemon running, the client reports `not_running` and exits\nnon-zero, so we add `|| true` to let the doc-test assert on the output:\n\n```bash\nlogoscore status\n```", "execs": [{"kind": "run", "cmd": "./logos/bin/logoscore status || true", "status": "pass", "exit_code": 0, "output": "{\"daemon\":{\"instance_id\":\"bd7803587f64\",\"status\":\"not_running\",\"version\":\"1.0\"},\"modules\":[],\"rpc_error\":\"core_service not reachable\"}\n", "note": ""}]}]}]}</script>
<script>
const DATA = JSON.parse(document.getElementById("report-data").textContent);
if (window.marked) { marked.setOptions({ gfm: true, breaks: false }); }
const mdToHtml = (s) => window.marked ? marked.parse(s || "") : ("<pre>" + (s || "") + "</pre>");
const sum = DATA.summary;
document.getElementById("summary").innerHTML =
`<span class="pill pass">${sum.passed} passed</span> ` +
(sum.failed ? `<span class="pill fail">${sum.failed} failed</span> ` : "") +
(sum.skipped ? `<span class="pill skip">${sum.skipped} skipped</span>` : "");
const picker = document.getElementById("picker");
DATA.tutorials.forEach((t, i) => {
const o = document.createElement("option");
o.value = i; o.textContent = t.meta.name; picker.appendChild(o);
});
function execHtml(e) {
const badge = `<span class="badge ${e.status}">${e.status.toUpperCase()}</span>`;
const kind = `<span class="kind">${e.kind}${e.exit_code !== undefined ? " · exit " + e.exit_code : ""}</span>`;
let h = `<div class="exec"><div class="exec-head">${badge}${kind}</div>`;
if (e.note) h += `<div class="note">${escapeHtml(e.note)}</div>`;
if (e.cmd) h += `<pre class="cmd">${escapeHtml(e.cmd)}</pre>`;
const out = (e.output || "").trim();
if (out) {
const long = out.split("\n").length > 12;
if (long) {
h += `<details><summary>output (${out.split("\n").length} lines)</summary><pre class="output">${escapeHtml(out)}</pre></details>`;
} else {
h += `<pre class="output">${escapeHtml(out)}</pre>`;
}
}
h += `</div>`;
return h;
}
function escapeHtml(s) {
return String(s).replace(/[&<>]/g, c => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;" }[c]));
}
function render(idx) {
const t = DATA.tutorials[idx];
const main = document.getElementById("main");
main.innerHTML = "";
const h = document.createElement("div");
h.className = "tutorial-title";
h.textContent = t.meta.name + " — " + t.meta.platform;
main.appendChild(h);
t.rows.forEach(row => {
const isStructural = row.execs.length === 0 &&
(/^#\s|^##\s/.test(row.md.trim()));
const div = document.createElement("div");
const hasExec = row.execs.length > 0;
const hasFail = row.execs.some(e => e.status === "fail");
div.className = "row" + (hasExec ? "" : (isStructural ? " section" : " preamble")) +
(hasFail ? " has-fail" : "");
const left = document.createElement("div");
left.className = "col left";
left.innerHTML = `<div class="md">${mdToHtml(row.md)}</div>`;
div.appendChild(left);
if (hasExec || !isStructural) {
const right = document.createElement("div");
right.className = "col right";
if (hasExec) {
right.innerHTML = `<div class="col-label">Executed</div>` +
row.execs.map(execHtml).join("");
} else {
right.innerHTML = `<div class="col-label">Executed</div>` +
`<div class="empty">No commands run for this step.</div>`;
}
div.appendChild(right);
}
main.appendChild(div);
});
}
function slug(s) {
return String(s).toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
}
function indexFromHash() {
const raw = decodeURIComponent(location.hash.replace(/^#/, ""));
if (!raw) return 0;
if (/^\d+$/.test(raw) && +raw < DATA.tutorials.length) return +raw;
const i = DATA.tutorials.findIndex(
t => slug(t.meta.name) === raw || t.meta.name === raw
);
return i >= 0 ? i : 0;
}
function show(idx) { picker.value = idx; render(idx); }
picker.addEventListener("change", () => {
location.hash = slug(DATA.tutorials[+picker.value].meta.name);
render(+picker.value);
});
window.addEventListener("hashchange", () => show(indexFromHash()));
show(indexFromHash());
</script>
</body>
</html>