mirror of
https://github.com/logos-co/logos-workspace.git
synced 2026-08-27 10:41:16 +00:00
525 lines
26 KiB
Nix
525 lines
26 KiB
Nix
{
|
|
description = "Logos Workspace — unified multi-repo development environment";
|
|
|
|
# ── Inputs ─────────────────────────────────────────────────────────────────
|
|
#
|
|
# The bulk of this block is auto-generated by `ws sync-graph` from each
|
|
# repo's flake.lock. Nix's flake parser requires `inputs` to be a literal
|
|
# attrset (no `let`, `//`, `import`, or `builtins.mapAttrs` allowed), so
|
|
# the per-repo follows can't be computed at evaluation time — they must
|
|
# be written into this file directly.
|
|
#
|
|
# To regenerate after editing any repo's flake inputs:
|
|
#
|
|
# ws sync-graph
|
|
#
|
|
# URL overrides (logos-blockchain org, tutorial sub-flakes) and manual
|
|
# follows overrides live in `scripts/ws` near the top of `cmd_sync_graph`.
|
|
|
|
inputs = {
|
|
# ── Manual: shared Nix infrastructure ──────────────────────────────────
|
|
#
|
|
# logos-nix pins the workspace's nixpkgs (and therefore Qt). Overriding
|
|
# logos-nix here propagates to ALL downstream consumers via the auto-
|
|
# generated follows below.
|
|
logos-nix.url = "github:logos-co/logos-nix";
|
|
nixpkgs.follows = "logos-nix/nixpkgs";
|
|
# Pinned explicitly because logos-blockchain-module's upstream lock
|
|
# currently references an invalid commit-ish via /0.2.1.
|
|
logos-blockchain.url = "github:logos-blockchain/logos-blockchain/88941ff33f2e028591b9d0ed2549a328d54f0cfa";
|
|
|
|
# BEGIN AUTO-INPUTS — generated by `ws sync-graph`, do not edit by hand
|
|
logos-protocol = {
|
|
url = "github:logos-co/logos-protocol/c6234940fc030af2fd5c445db82120dc2162887f";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-qt-sdk = {
|
|
url = "github:logos-co/logos-qt-sdk/9020fa99f214458fd1f1c69a8ed16e02536ac9f9";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-cpp-sdk = {
|
|
url = "github:logos-co/logos-cpp-sdk/31b9d2bf5f2b7542df50d07c1050b865b4b30de8";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-view-module-runtime = {
|
|
url = "github:logos-co/logos-view-module-runtime/2374fce796a6b1198a0f70f1712c290b6a526a02";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.logos-qt-sdk.follows = "logos-qt-sdk";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-module-client = {
|
|
url = "github:logos-co/logos-module-client/67bfa107c8ab5968064de25103ac72b5ee1e45da";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.logos-qt-sdk.follows = "logos-qt-sdk";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-module = {
|
|
url = "github:logos-co/logos-module/7583396720a33153f4bec85c1464bc463fb95477";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-liblogos = {
|
|
url = "github:logos-co/logos-liblogos/bcccf2db6562439ea124aab06af5bf8125adf2a3";
|
|
inputs.logos-capability-module.follows = "logos-capability-module";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-module.follows = "logos-module";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-package-manager.follows = "logos-package-manager";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.logos-qt-sdk.follows = "logos-qt-sdk";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.process-stats.follows = "process-stats";
|
|
};
|
|
logos-logoscore-cli = {
|
|
url = "github:logos-co/logos-logoscore-cli/859c365ea15acd27cc9acfcebbb092d26d491585";
|
|
inputs.logos-capability-module.follows = "logos-capability-module";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-liblogos.follows = "logos-liblogos";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.logos-qt-sdk.follows = "logos-qt-sdk";
|
|
inputs.logos-test-modules.follows = "logos-test-modules";
|
|
inputs.nix-bundle-appimage.follows = "nix-bundle-appimage";
|
|
inputs.nix-bundle-dir.follows = "nix-bundle-dir";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-capability-module = {
|
|
url = "github:logos-co/logos-capability-module/e5373f252468b2b7999d96d4d248cbb5c3ccbdd4";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-package = {
|
|
url = "github:logos-co/logos-package/53336d37e4efb7c8e8243347ab77ab78705214c9";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-plugin-qt = {
|
|
url = "github:logos-co/logos-plugin-qt/f33f264abb6d628cc78cf926f9f33c7cc8252151";
|
|
inputs.logos-module.follows = "logos-module";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-module-builder = {
|
|
url = "github:logos-co/logos-module-builder/0325d6aa9d5737fca461482c204f594339da24e2";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-module.follows = "logos-module";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-plugin-core.follows = "logos-plugin-qt";
|
|
inputs.logos-plugin-qt.follows = "logos-plugin-qt";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.logos-qt-sdk.follows = "logos-qt-sdk";
|
|
inputs.logos-rust-sdk.follows = "logos-rust-sdk";
|
|
inputs.logos-standalone-app.follows = "logos-standalone-app";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-bundle-dir = {
|
|
url = "github:logos-co/nix-bundle-dir/4937262f55cf8be942263255dd0801e3e3878bc9";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-bundle-lgx = {
|
|
url = "github:logos-co/nix-bundle-lgx/b49074a8e1157832002b11d3d254c1aaa4b96680";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-package.follows = "logos-package";
|
|
inputs.nix-bundle-dir.follows = "nix-bundle-dir";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-bundle-appimage = {
|
|
url = "github:logos-co/nix-bundle-appimage/8fcc56b5afcc313ca917cf3487be082ae2f0184c";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nix-bundle-dir.follows = "nix-bundle-dir";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-bundle-macos-app = {
|
|
url = "github:logos-co/nix-bundle-macos-app/d6b0cc518e599ab7a52258bf3e1f8123c8a01d31";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nix-bundle-dir.follows = "nix-bundle-dir";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-standalone-app = {
|
|
url = "github:logos-co/logos-standalone-app/c8c0bece1fe8f0d21541e136b222aecbe2755b9f";
|
|
inputs.logos-capability-module.follows = "logos-capability-module";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-design-system.follows = "logos-design-system";
|
|
inputs.logos-liblogos.follows = "logos-liblogos";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.logos-qt-sdk.follows = "logos-qt-sdk";
|
|
inputs.logos-view-module-runtime.follows = "logos-view-module-runtime";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-basecamp = {
|
|
url = "github:logos-co/logos-basecamp/f808b0f394dd3cc3399fd32f08ec60ceec792688";
|
|
inputs.logos-capability-module.follows = "logos-capability-module";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-design-system.follows = "logos-design-system";
|
|
inputs.logos-liblogos.follows = "logos-liblogos";
|
|
inputs.logos-module.follows = "logos-module";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-package.follows = "logos-package";
|
|
inputs.logos-package-downloader-module.follows = "logos-package-downloader-module";
|
|
inputs.logos-package-manager.follows = "logos-package-manager";
|
|
inputs.logos-package-manager-module.follows = "logos-package-manager-module";
|
|
inputs.logos-package-manager-ui.follows = "logos-package-manager-ui";
|
|
inputs.logos-protocol.follows = "logos-protocol";
|
|
inputs.logos-qt-sdk.follows = "logos-qt-sdk";
|
|
inputs.logos-view-module-runtime.follows = "logos-view-module-runtime";
|
|
inputs.nix-bundle-appimage.follows = "nix-bundle-appimage";
|
|
inputs.nix-bundle-dir.follows = "nix-bundle-dir";
|
|
inputs.nix-bundle-macos-app.follows = "nix-bundle-macos-app";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-accounts-module = {
|
|
url = "github:logos-co/logos-accounts-module/8b4eceb56fcb54c148affa38dfe6d8e72aedd3e3";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
logos-accounts-ui = {
|
|
url = "github:logos-co/logos-accounts-ui/008e2d848caff272a7a1ffacc5644727394f26af";
|
|
inputs.accounts_module.follows = "logos-accounts-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-chat-module = {
|
|
url = "github:logos-co/logos-chat-module/f6043d5f6fba7e870e807f2b5d26a52db716b2b1";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
logos-chat-ui = {
|
|
url = "github:logos-co/logos-chat-ui/7f51db696cd6ceb24c6cac72596eed2a59f2c227";
|
|
inputs.chat_module.follows = "logos-chat-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
logos-package-manager = {
|
|
url = "github:logos-co/logos-package-manager/4871ed198d6e35f198af15c93afd184aa36788e0";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-package.follows = "logos-package";
|
|
inputs.nix-bundle-appimage.follows = "nix-bundle-appimage";
|
|
inputs.nix-bundle-dir.follows = "nix-bundle-dir";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-package-downloader = {
|
|
url = "github:logos-co/logos-package-downloader/90af05714f093464eee587ddcd1042a24e0fb4ab";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-package.follows = "logos-package";
|
|
inputs.nix-bundle-appimage.follows = "nix-bundle-appimage";
|
|
inputs.nix-bundle-dir.follows = "nix-bundle-dir";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-package-manager-module = {
|
|
url = "github:logos-co/logos-package-manager-module/d8968c609416538b9872d85291f76d4c9cb1da54";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.logos-package-manager.follows = "logos-package-manager";
|
|
};
|
|
logos-package-downloader-module = {
|
|
url = "github:logos-co/logos-package-downloader-module/7c9bd77b38e6fdafe27150b45d50548875f8d1eb";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.logos-package-downloader.follows = "logos-package-downloader";
|
|
};
|
|
logos-package-manager-ui = {
|
|
url = "github:logos-co/logos-package-manager-ui/7c8c3acd7b1215fef956a05b9423ab169a09becc";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.package_downloader.follows = "logos-package-downloader-module";
|
|
inputs.package_manager.follows = "logos-package-manager-module";
|
|
};
|
|
logos-storage-module = {
|
|
url = "github:logos-co/logos-storage-module/984da34f95a4c252b3852d311c1298c5a3e81ecf";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-storage-ui = {
|
|
url = "github:logos-co/logos-storage-ui/c7bf3177325b4cfbab6725bf43731d88eaadd656";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
inputs.storage_module.follows = "logos-storage-module";
|
|
};
|
|
logos-wallet-module = {
|
|
url = "github:logos-co/logos-wallet-module/16fdcd4acd37cbd7e17d24517a806e1d15e3ed27";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
logos-wallet-ui = {
|
|
url = "github:logos-co/logos-wallet-ui/c3e0d0d7ebdd5ba0b28eda6cf3b8733a12c759da";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
inputs.wallet_module.follows = "logos-wallet-module";
|
|
};
|
|
logos-delivery-module = {
|
|
url = "github:logos-co/logos-delivery-module/794c21cbe177bdea16d4907468eaf52d4282dda7";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
logos-delivery-demo = {
|
|
url = "github:logos-co/logos-delivery-demo/b5fec54843a20290fdc847762bdbc7f2d7217da1";
|
|
inputs.delivery_module.follows = "logos-delivery-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-blockchain-module = {
|
|
url = "github:logos-blockchain/logos-blockchain-module/4c8df124929c6e86d21e2f0db50a99dedee901b3";
|
|
inputs.logos-blockchain.follows = "logos-blockchain";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-blockchain-ui = {
|
|
url = "github:logos-blockchain/logos-blockchain-ui/36ab36dcdec6c496cb8c9fd41b2961a0a0f7c2be";
|
|
inputs.liblogos_blockchain_module.follows = "logos-blockchain-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
logos-execution-zone-wallet-ui = {
|
|
url = "github:logos-blockchain/logos-execution-zone-wallet-ui/4e11c4348afce0e0eeaae8186aefd700e2c8f0fc";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.logos_execution_zone.follows = "logos-execution-zone-module";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
logos-execution-zone-module = {
|
|
url = "github:logos-blockchain/logos-execution-zone-module/5537c0065eee0abf098bb53a2caf108aa3e94d10";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
logos-libp2p-module = {
|
|
url = "github:logos-co/logos-libp2p-module/31ecb52ed6eff774b7058c976dfb16f167fe6fb3";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.logoscore-cli.follows = "logos-logoscore-cli";
|
|
inputs.package-manager.follows = "logos-package-manager";
|
|
};
|
|
logos-webview-app = {
|
|
url = "github:logos-co/logos-webview-app/b5d1bb40da6ba550076069a10cf9beaac45aa515";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.nix-bundle-lgx.follows = "nix-bundle-lgx";
|
|
};
|
|
counter_qml.url = "github:logos-co/counter_qml/8029a894f4221f9284efabbedcee7d9d18929777";
|
|
counter = {
|
|
url = "github:logos-co/counter/204ec0d3f0ccffc5d40269db9e7253cba7c330d6";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-design-system = {
|
|
url = "github:logos-co/logos-design-system/491e522cb94c819c85bf87ff1df893d77a5054be";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-js-sdk = {
|
|
url = "github:logos-co/logos-js-sdk/6b6ccb5f10ea358ae8c9bee4264722dfb0aed76b";
|
|
inputs.logos-capability-module.follows = "logos-capability-module";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-liblogos.follows = "logos-liblogos";
|
|
inputs.logos-module.follows = "logos-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.logos-module-client.follows = "logos-module-client";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-nim-sdk = {
|
|
url = "github:logos-co/logos-nim-sdk/df1f21906e661d96f5e4bda172cb9a619292b603";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-liblogos.follows = "logos-liblogos";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-rust-sdk.url = "github:logos-co/logos-rust-sdk/9957a9dd81c38c27e7021b623709129d3a4b7476";
|
|
logos-logoscore-py = {
|
|
url = "github:logos-co/logos-logoscore-py/4f094457e8ad9155dd2aa1eb8de20d804f66eed4";
|
|
inputs.logos-logoscore-cli.follows = "logos-logoscore-cli";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.logos-test-modules.follows = "logos-test-modules";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-test-modules = {
|
|
url = "github:logos-co/logos-test-modules/ab4be29aae379624e7e1dfa71e34a8a9ae067116";
|
|
inputs.logos-liblogos.follows = "logos-liblogos";
|
|
inputs.logos-logoscore-cli.follows = "logos-logoscore-cli";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
process-stats = {
|
|
url = "github:logos-co/process-stats/33ace1270f90c89b3565e803139c0970fcd1ce8f";
|
|
inputs.logos-nix.follows = "logos-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-module-viewer = {
|
|
url = "github:logos-co/logos-module-viewer/b6489c1aab8c1590fa127dbaedb39708f3614fbc";
|
|
inputs.logos-capability-module.follows = "logos-capability-module";
|
|
inputs.logos-cpp-sdk.follows = "logos-cpp-sdk";
|
|
inputs.logos-liblogos.follows = "logos-liblogos";
|
|
inputs.logos-package-manager.follows = "logos-package-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
logos-evm-net-proxy.url = "github:logos-co/logos-evm-net-proxy/564a730551b677ff8292144c3773a46d99a18b91";
|
|
logos-evm-keystore-module = {
|
|
url = "github:logos-co/logos-evm-keystore-module/1ac386973acf568b48bb52f7e17baf302fa55670";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-evm-eth-rpc-module = {
|
|
url = "github:logos-co/logos-evm-eth-rpc-module/8a825cdbf0b78de4af30b6250e91b08d2e1ba1d7";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-evm-token-list-module = {
|
|
url = "github:logos-co/logos-evm-token-list-module/25d5d6b2a96987bb2a757a0348c150baeb675e3b";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-evm-uniswap-module = {
|
|
url = "github:logos-co/logos-evm-uniswap-module/df069a7eab47d705eb3b519092a5e41e85ddd7f1";
|
|
inputs.eth_rpc_module.follows = "logos-evm-eth-rpc-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-evm-railgun-module = {
|
|
url = "github:logos-co/logos-evm-railgun-module/b6d066932c62791c8be5b9a7344318d8df9a6156";
|
|
inputs.eth_rpc_module.follows = "logos-evm-eth-rpc-module";
|
|
inputs.keystore_module.follows = "logos-evm-keystore-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
};
|
|
logos-evm-wallet-backend-module = {
|
|
url = "github:logos-co/logos-evm-wallet-backend-module/584dbfe3195ec6dfe4c0d8b91fabb02ac2d963f4";
|
|
inputs.eth_rpc_module.follows = "logos-evm-eth-rpc-module";
|
|
inputs.keystore_module.follows = "logos-evm-keystore-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.railgun_module.follows = "logos-evm-railgun-module";
|
|
inputs.token_list_module.follows = "logos-evm-token-list-module";
|
|
inputs.uniswap_module.follows = "logos-evm-uniswap-module";
|
|
};
|
|
logos-evm-wallet-ui = {
|
|
url = "github:logos-co/logos-evm-wallet-ui/68f7c4fe6005990dea38de67d6853d12d9045872";
|
|
inputs.eth_rpc_module.follows = "logos-evm-eth-rpc-module";
|
|
inputs.keystore_module.follows = "logos-evm-keystore-module";
|
|
inputs.logos-module-builder.follows = "logos-module-builder";
|
|
inputs.railgun_module.follows = "logos-evm-railgun-module";
|
|
inputs.token_list_module.follows = "logos-evm-token-list-module";
|
|
inputs.uniswap_module.follows = "logos-evm-uniswap-module";
|
|
inputs.wallet_backend_module.follows = "logos-evm-wallet-backend-module";
|
|
};
|
|
# END AUTO-INPUTS
|
|
};
|
|
|
|
outputs = { self, nixpkgs, ... }@inputs:
|
|
let
|
|
systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
|
forAllSystems = fn: nixpkgs.lib.genAttrs systems fn;
|
|
|
|
depGraph = import ./nix/dep-graph.nix;
|
|
|
|
# Every logos flake input we iterate over for packages/apps/checks.
|
|
# Excludes `logos-nix` (it's a nixpkgs pin, not a buildable repo).
|
|
repoInputNames = builtins.attrNames
|
|
(builtins.removeAttrs depGraph [ "logos-nix" ]);
|
|
|
|
# Mapping from flake input name → submodule directory name under repos/.
|
|
# Only entries where the names differ need to be listed.
|
|
inputToDirOverrides = {
|
|
"logos-calc-module" = "logos-tutorial/logos-calc-module";
|
|
"logos-calc-ui" = "logos-tutorial/logos-calc-ui";
|
|
"logos-calc-ui-cpp" = "logos-tutorial/logos-calc-ui-cpp";
|
|
};
|
|
|
|
inputToDir = name: inputToDirOverrides.${name} or name;
|
|
|
|
in {
|
|
|
|
# ── Packages ──────────────────────────────────────────────────────────
|
|
# nix build .#logos-cpp-sdk → default package
|
|
# nix build .#logos-basecamp → default package
|
|
# nix build .#logos-basecamp--portable → non-default output
|
|
# nix build .#logos-liblogos--portable
|
|
# nix bundle --bundler .#nix-bundle-lgx .#logos-chat-module--lib
|
|
# All repo package outputs are exposed: default as the repo name,
|
|
# non-default as <repo>--<output>.
|
|
packages = forAllSystems (system:
|
|
let
|
|
# Collect all package outputs from all repos.
|
|
# Each repo's packages are forwarded lazily — the value is not
|
|
# evaluated until someone actually builds it, so broken store
|
|
# paths or missing files won't cause errors at evaluation time.
|
|
allPkgs = builtins.foldl' (acc: name:
|
|
let
|
|
repoPkgs = (inputs.${name}.packages.${system} or {});
|
|
outNames = builtins.attrNames repoPkgs;
|
|
in
|
|
acc // builtins.listToAttrs (map (outName:
|
|
let
|
|
attrName = if outName == "default" then name else "${name}--${outName}";
|
|
in
|
|
{ name = attrName; value = repoPkgs.${outName}; }
|
|
) outNames)
|
|
) {} repoInputNames;
|
|
in allPkgs
|
|
);
|
|
|
|
# ── Apps ──────────────────────────────────────────────────────────────
|
|
# nix run .#logos-standalone-app -- --plugin ./result/lib/
|
|
# Forwards apps outputs from all repos. Default app exposed as repo name,
|
|
# non-default as <repo>--<output>.
|
|
apps = forAllSystems (system:
|
|
builtins.foldl' (acc: name:
|
|
let
|
|
repoApps = (inputs.${name}.apps.${system} or {});
|
|
outNames = builtins.attrNames repoApps;
|
|
in
|
|
acc // builtins.listToAttrs (map (outName:
|
|
let
|
|
attrName = if outName == "default" then name else "${name}--${outName}";
|
|
in
|
|
{ name = attrName; value = repoApps.${outName}; }
|
|
) outNames)
|
|
) {} repoInputNames
|
|
);
|
|
|
|
# ── Dev Shells ────────────────────────────────────────────────────────
|
|
# nix develop → workspace shell (ws CLI + common tools)
|
|
# nix develop .#logos-cpp-sdk → that repo's own devShell
|
|
# nix develop → workspace shell with ws CLI + common tools
|
|
# For sub-repo devShells use: nix develop path:./repos/<repo-name>
|
|
# or: ws develop <repo-name>
|
|
devShells = forAllSystems (system:
|
|
let
|
|
pkgs = import nixpkgs { inherit system; };
|
|
# Always delegates to the live scripts/ws in the workspace,
|
|
# without needing to rebuild the devshell. Falls back to the
|
|
# flake directory if LOGOS_WORKSPACE_ROOT is not set.
|
|
wsScript = pkgs.writeShellScriptBin "ws" ''
|
|
exec "''${LOGOS_WORKSPACE_ROOT:-${builtins.toString ./.}}/scripts/ws" "$@"
|
|
'';
|
|
in {
|
|
default = import ./nix/devshell.nix { inherit pkgs wsScript; };
|
|
}
|
|
);
|
|
|
|
# ── Checks ────────────────────────────────────────────────────────────
|
|
# nix flake check → run ALL repo checks
|
|
# nix build .#checks.x86_64-linux.logos-cpp-sdk--test
|
|
checks = forAllSystems (system:
|
|
builtins.foldl' (acc: name:
|
|
let
|
|
result = builtins.tryEval (inputs.${name}.checks.${system} or {});
|
|
repoChecks = if result.success then result.value else {};
|
|
prefixed = nixpkgs.lib.mapAttrs'
|
|
(cname: drv: { name = "${name}--${cname}"; value = drv; })
|
|
repoChecks;
|
|
in
|
|
acc // prefixed
|
|
) {} repoInputNames
|
|
);
|
|
|
|
# ── Bundlers ──────────────────────────────────────────────────────────
|
|
# Forwards nix-bundle-lgx bundlers so scripts can use "$WORKSPACE_ROOT"
|
|
# as the --bundler reference.
|
|
bundlers = forAllSystems (system:
|
|
inputs.nix-bundle-lgx.bundlers.${system}
|
|
);
|
|
|
|
# ── Lib (for programmatic use) ────────────────────────────────────────
|
|
lib = {
|
|
inherit repoInputNames inputToDir;
|
|
# Dependency graph: input name → { deps, follows, hasTests }
|
|
depGraph = depGraph;
|
|
};
|
|
};
|
|
}
|