From 558f11da6c7021c16d551526ea15cf1476e63b1f Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Wed, 16 Oct 2024 10:07:00 +0000 Subject: [PATCH 01/25] Restructure and update repo --- cabal.project | 32 + flake.lock | 1096 +++++++++++++++++ flake.nix | 57 + README.md => hydra-explorer/README.md | 2 +- {exe => hydra-explorer/exe}/Main.hs | 0 .../hydra-explorer.cabal | 0 .../json-schemas}/hydra-explorer-api.yaml | 0 {src => hydra-explorer/src}/Hydra/Explorer.hs | 0 .../src}/Hydra/Explorer/ExplorerState.hs | 0 .../src}/Hydra/Explorer/Options.hs | 0 .../test}/Hydra/Explorer/ExplorerStateSpec.hs | 0 .../test}/Hydra/ExplorerSpec.hs | 0 {test => hydra-explorer/test}/Main.hs | 0 {test => hydra-explorer/test}/Spec.hs | 0 {web => hydra-explorer/web}/.env | 0 {web => hydra-explorer/web}/.eslintrc.json | 0 {web => hydra-explorer/web}/.gitignore | 0 {web => hydra-explorer/web}/README.md | 0 .../web}/hydra-explorer.nix | 0 {web => hydra-explorer/web}/next.config.mjs | 0 {web => hydra-explorer/web}/package.json | 0 {web => hydra-explorer/web}/postcss.config.js | 0 .../web}/public/favicon.svg | 0 {web => hydra-explorer/web}/public/hydra.svg | 0 .../web}/src/app/globals.css | 0 .../web}/src/app/layout.tsx | 0 {web => hydra-explorer/web}/src/app/model.tsx | 0 {web => hydra-explorer/web}/src/app/page.tsx | 0 .../web}/src/components/HeadDetails/index.tsx | 0 .../src/components/HeadsDashboard/index.tsx | 0 .../web}/src/components/HeadsTable/index.tsx | 0 .../src/components/IntervalSetter/index.tsx | 0 .../components/MemberCommitDetails/index.tsx | 0 .../web}/src/components/TickBox/index.tsx | 0 .../web}/src/hooks/DataFetcher/index.tsx | 0 .../src/providers/CardanoExplorer/index.tsx | 0 .../src/providers/HeadsDataProvider/index.tsx | 0 .../src/providers/IntervalProvider/index.tsx | 0 {web => hydra-explorer/web}/src/utils.tsx | 0 .../web}/tailwind.config.ts | 0 {web => hydra-explorer/web}/tsconfig.json | 0 {web => hydra-explorer/web}/yarn.lock | 0 nix/outputs.nix | 14 + nix/project.nix | 79 ++ nix/shell.nix | 78 ++ 45 files changed, 1357 insertions(+), 1 deletion(-) create mode 100644 cabal.project create mode 100644 flake.lock create mode 100644 flake.nix rename README.md => hydra-explorer/README.md (88%) rename {exe => hydra-explorer/exe}/Main.hs (100%) rename hydra-explorer.cabal => hydra-explorer/hydra-explorer.cabal (100%) rename {json-schemas => hydra-explorer/json-schemas}/hydra-explorer-api.yaml (100%) rename {src => hydra-explorer/src}/Hydra/Explorer.hs (100%) rename {src => hydra-explorer/src}/Hydra/Explorer/ExplorerState.hs (100%) rename {src => hydra-explorer/src}/Hydra/Explorer/Options.hs (100%) rename {test => hydra-explorer/test}/Hydra/Explorer/ExplorerStateSpec.hs (100%) rename {test => hydra-explorer/test}/Hydra/ExplorerSpec.hs (100%) rename {test => hydra-explorer/test}/Main.hs (100%) rename {test => hydra-explorer/test}/Spec.hs (100%) rename {web => hydra-explorer/web}/.env (100%) rename {web => hydra-explorer/web}/.eslintrc.json (100%) rename {web => hydra-explorer/web}/.gitignore (100%) rename {web => hydra-explorer/web}/README.md (100%) rename {web => hydra-explorer/web}/hydra-explorer.nix (100%) rename {web => hydra-explorer/web}/next.config.mjs (100%) rename {web => hydra-explorer/web}/package.json (100%) rename {web => hydra-explorer/web}/postcss.config.js (100%) rename {web => hydra-explorer/web}/public/favicon.svg (100%) rename {web => hydra-explorer/web}/public/hydra.svg (100%) rename {web => hydra-explorer/web}/src/app/globals.css (100%) rename {web => hydra-explorer/web}/src/app/layout.tsx (100%) rename {web => hydra-explorer/web}/src/app/model.tsx (100%) rename {web => hydra-explorer/web}/src/app/page.tsx (100%) rename {web => hydra-explorer/web}/src/components/HeadDetails/index.tsx (100%) rename {web => hydra-explorer/web}/src/components/HeadsDashboard/index.tsx (100%) rename {web => hydra-explorer/web}/src/components/HeadsTable/index.tsx (100%) rename {web => hydra-explorer/web}/src/components/IntervalSetter/index.tsx (100%) rename {web => hydra-explorer/web}/src/components/MemberCommitDetails/index.tsx (100%) rename {web => hydra-explorer/web}/src/components/TickBox/index.tsx (100%) rename {web => hydra-explorer/web}/src/hooks/DataFetcher/index.tsx (100%) rename {web => hydra-explorer/web}/src/providers/CardanoExplorer/index.tsx (100%) rename {web => hydra-explorer/web}/src/providers/HeadsDataProvider/index.tsx (100%) rename {web => hydra-explorer/web}/src/providers/IntervalProvider/index.tsx (100%) rename {web => hydra-explorer/web}/src/utils.tsx (100%) rename {web => hydra-explorer/web}/tailwind.config.ts (100%) rename {web => hydra-explorer/web}/tsconfig.json (100%) rename {web => hydra-explorer/web}/yarn.lock (100%) create mode 100644 nix/outputs.nix create mode 100644 nix/project.nix create mode 100644 nix/shell.nix diff --git a/cabal.project b/cabal.project new file mode 100644 index 0000000..e6788c6 --- /dev/null +++ b/cabal.project @@ -0,0 +1,32 @@ +repository cardano-haskell-packages + url: https://chap.intersectmbo.org/ + secure: True + root-keys: + 3e0cce471cf09815f930210f7827266fd09045445d65923e6d0238a6cd15126f + 443abb7fb497a134c343faf52f0b659bd7999bc06b7f63fa76dc99d631f9bea1 + a86a1f6ce86c449c46666bda44268677abf29b5b2d2eb5ec7af903ec2f117a82 + bcec67e8e99cabfa7764d75ad9b158d72bfacf70ca1d0ec8bc6b4406d1bf8413 + c00aae8461a256275598500ea0e187588c35a5d5d7454fb57eac18d9edb86a56 + d4a35cd3121aa00d18544bb0ac01c3e1691d618f462c46129271bccf39f7e8ee + +index-state: + , hackage.haskell.org 2024-10-14T02:12:15Z + , cardano-haskell-packages 2024-10-14T23:19:53Z + +packages: + hydra-explorer + +source-repository-package + type: git + location: https://github.com/cardano-scaling/hydra + tag: d55c4efb896273dc39d4bdc4fc83ec361de55f73 + --sha256: sha256-LziIjrdjMA8dVPKMwKskLyjlnx5HhpDwTjC9sek5Bfo= + subdir: + hydra-prelude + hydra-cardano-api + hydra-plutus + hydra-plutus-extras + hydra-test-utils + hydra-tx + hydra-node + hydra-cluster diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..90d9e6d --- /dev/null +++ b/flake.lock @@ -0,0 +1,1096 @@ +{ + "nodes": { + "CHaP": { + "flake": false, + "locked": { + "lastModified": 1728953092, + "narHash": "sha256-DBqT9uexf/yoZjtEP3263ltnhP/o7iBl8IZdJRfPjJs=", + "owner": "IntersectMBO", + "repo": "cardano-haskell-packages", + "rev": "fd5e5cf056090977ecbd661ad07f602eb7e2614d", + "type": "github" + }, + "original": { + "owner": "IntersectMBO", + "ref": "repo", + "repo": "cardano-haskell-packages", + "type": "github" + } + }, + "HTTP": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "blst": { + "flake": false, + "locked": { + "lastModified": 1691598027, + "narHash": "sha256-oqljy+ZXJAXEB/fJtmB8rlAr4UXM+Z2OkDa20gpILNA=", + "owner": "supranational", + "repo": "blst", + "rev": "3dd0f804b1819e5d03fb22ca2e6fac105932043a", + "type": "github" + }, + "original": { + "owner": "supranational", + "ref": "v0.3.11", + "repo": "blst", + "type": "github" + } + }, + "cabal-32": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, + "cabal-34": { + "flake": false, + "locked": { + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "owner": "haskell", + "repo": "cabal", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cardano-shell": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "easy-purescript-nix": { + "inputs": { + "flake-utils": "flake-utils" + }, + "locked": { + "lastModified": 1710161569, + "narHash": "sha256-lcIRIOFCdIWEGyKyG/tB4KvxM9zoWuBRDxW+T+mvIb0=", + "owner": "justinwoo", + "repo": "easy-purescript-nix", + "rev": "117fd96acb69d7d1727df95b6fde9d8715e031fc", + "type": "github" + }, + "original": { + "owner": "justinwoo", + "repo": "easy-purescript-nix", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "ghc-8.6.5-iohk": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "iogx", + "pre-commit-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "hackage": { + "flake": false, + "locked": { + "lastModified": 1729039425, + "narHash": "sha256-sIglYcw8Dacj4n0bRlUWo+NLkDMcVi6vtmKvUyG+ZrQ=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "6dc43e5e01f113ce151056a8f94bce7bb2f13eb9", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "haskell-nix": { + "inputs": { + "HTTP": "HTTP", + "cabal-32": "cabal-32", + "cabal-34": "cabal-34", + "cabal-36": "cabal-36", + "cardano-shell": "cardano-shell", + "flake-compat": "flake-compat", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "hackage": [ + "hackage" + ], + "hls-1.10": "hls-1.10", + "hls-2.0": "hls-2.0", + "hls-2.2": "hls-2.2", + "hls-2.3": "hls-2.3", + "hls-2.4": "hls-2.4", + "hls-2.5": "hls-2.5", + "hls-2.6": "hls-2.6", + "hls-2.7": "hls-2.7", + "hls-2.8": "hls-2.8", + "hls-2.9": "hls-2.9", + "hpc-coveralls": "hpc-coveralls", + "hydra": "hydra", + "iserv-proxy": "iserv-proxy", + "nixpkgs": [ + "haskell-nix", + "nixpkgs-unstable" + ], + "nixpkgs-2003": "nixpkgs-2003", + "nixpkgs-2105": "nixpkgs-2105", + "nixpkgs-2111": "nixpkgs-2111", + "nixpkgs-2205": "nixpkgs-2205", + "nixpkgs-2211": "nixpkgs-2211", + "nixpkgs-2305": "nixpkgs-2305", + "nixpkgs-2311": "nixpkgs-2311", + "nixpkgs-2405": "nixpkgs-2405", + "nixpkgs-unstable": "nixpkgs-unstable", + "old-ghc-nix": "old-ghc-nix", + "stackage": "stackage" + }, + "locked": { + "lastModified": 1729068074, + "narHash": "sha256-sxbi1kOBNfy3ZhEdfCApdRmtQzyNYhCRQP8O2uX22oY=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "82d4d2042de1f1fc2231690add3e9cdadfe88416", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "hls-1.10": { + "flake": false, + "locked": { + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "1.10.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.0": { + "flake": false, + "locked": { + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "783905f211ac63edf982dd1889c671653327e441", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.0.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.2": { + "flake": false, + "locked": { + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.2.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.3": { + "flake": false, + "locked": { + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.4": { + "flake": false, + "locked": { + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.5": { + "flake": false, + "locked": { + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.6": { + "flake": false, + "locked": { + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.7": { + "flake": false, + "locked": { + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.8": { + "flake": false, + "locked": { + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.9": { + "flake": false, + "locked": { + "lastModified": 1720003792, + "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.9.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hpc-coveralls": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hydra": { + "inputs": { + "nix": "nix", + "nixpkgs": [ + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "iogx": { + "inputs": { + "CHaP": [ + "CHaP" + ], + "easy-purescript-nix": "easy-purescript-nix", + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_2", + "hackage": [ + "hackage" + ], + "haskell-nix": [ + "haskell-nix" + ], + "iohk-nix": "iohk-nix", + "nix2container": "nix2container", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable", + "pre-commit-hooks-nix": "pre-commit-hooks-nix", + "sphinxcontrib-haddock": "sphinxcontrib-haddock" + }, + "locked": { + "lastModified": 1728426320, + "narHash": "sha256-QzAp7Q9wU0quZe6zhYd02FZlPc2gLrxloVPMAz5lFPA=", + "owner": "input-output-hk", + "repo": "iogx", + "rev": "b938d477101397afb2b9bae8aeaaaea310bc72d1", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iogx", + "type": "github" + } + }, + "iohk-nix": { + "inputs": { + "blst": "blst", + "nixpkgs": [ + "iogx", + "nixpkgs" + ], + "secp256k1": "secp256k1", + "sodium": "sodium" + }, + "locked": { + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "type": "github" + } + }, + "iserv-proxy": { + "flake": false, + "locked": { + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", + "type": "github" + }, + "original": { + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" + } + }, + "lowdown-src": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix2container": { + "inputs": { + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1724996935, + "narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "fa6bb0a1159f55d071ba99331355955ae30b3401", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2003": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2205": { + "locked": { + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2211": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305": { + "locked": { + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311": { + "locked": { + "lastModified": 1719957072, + "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2405": { + "locked": { + "lastModified": 1726447378, + "narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-24.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1690680713, + "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", + "type": "github" + } + }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1726583932, + "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "658e7223191d2598641d50ee4e898126768fe847", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1712920918, + "narHash": "sha256-1yxFvUcJfUphK9V91KufIQom7gCsztza0H4Rz2VCWUU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "92323443a56f4e9fc4e4b712e3119f66d0969297", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "old-ghc-nix": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, + "pre-commit-hooks-nix": { + "inputs": { + "flake-compat": "flake-compat_3", + "gitignore": "gitignore", + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1728092656, + "narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "1211305a5b237771e13fcca0c51e60ad47326a9a", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "CHaP": "CHaP", + "hackage": "hackage", + "haskell-nix": "haskell-nix", + "iogx": "iogx", + "nixpkgs": [ + "haskell-nix", + "nixpkgs" + ] + } + }, + "secp256k1": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, + "sodium": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, + "sphinxcontrib-haddock": { + "flake": false, + "locked": { + "lastModified": 1594136664, + "narHash": "sha256-O9YT3iCUBHP3CEF88VDLLCO2HSP3HqkNA2q2939RnVY=", + "owner": "michaelpj", + "repo": "sphinxcontrib-haddock", + "rev": "f3956b3256962b2d27d5a4e96edb7951acf5de34", + "type": "github" + }, + "original": { + "owner": "michaelpj", + "repo": "sphinxcontrib-haddock", + "type": "github" + } + }, + "stackage": { + "flake": false, + "locked": { + "lastModified": 1729039017, + "narHash": "sha256-fGExfgG+7UNSOV8YfOrWPpOHWrCjA02gQkeSBhaAzjQ=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "df1d8f0960407551fea7af7af75a9c2f9e18de97", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..8b9fb7a --- /dev/null +++ b/flake.nix @@ -0,0 +1,57 @@ +# Docs for this file: https://github.com/input-output-hk/iogx/blob/main/doc/api.md#flakenix +{ + description = "Change the description field in your flake.nix"; + + + inputs = { + iogx = { + url = "github:input-output-hk/iogx"; + inputs.hackage.follows = "hackage"; + inputs.CHaP.follows = "CHaP"; + inputs.haskell-nix.follows = "haskell-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nixpkgs.follows = "haskell-nix/nixpkgs"; + + hackage = { + url = "github:input-output-hk/hackage.nix"; + flake = false; + }; + + CHaP = { + url = "github:IntersectMBO/cardano-haskell-packages?ref=repo"; + flake = false; + }; + + haskell-nix = { + url = "github:input-output-hk/haskell.nix"; + inputs.hackage.follows = "hackage"; + }; + }; + + + # Docs for mkFlake: https://github.com/input-output-hk/iogx/blob/main/doc/api.md#mkflake + outputs = inputs: inputs.iogx.lib.mkFlake { + + inherit inputs; + + repoRoot = ./.; + + outputs = import ./nix/outputs.nix; + + systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + + }; + + + nixConfig = { + extra-substituters = [ + "https://cache.iog.io" + ]; + extra-trusted-public-keys = [ + "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" + ]; + allow-import-from-derivation = true; + }; +} diff --git a/README.md b/hydra-explorer/README.md similarity index 88% rename from README.md rename to hydra-explorer/README.md index afb451d..60efd64 100644 --- a/README.md +++ b/hydra-explorer/README.md @@ -13,4 +13,4 @@ hydra-explorer \ Note: this assumes you are running a cardano-node in preprod. -By definition, hydra-explorer will bind port 9090. \ No newline at end of file +By definition, hydra-explorer will bind port 9090. diff --git a/exe/Main.hs b/hydra-explorer/exe/Main.hs similarity index 100% rename from exe/Main.hs rename to hydra-explorer/exe/Main.hs diff --git a/hydra-explorer.cabal b/hydra-explorer/hydra-explorer.cabal similarity index 100% rename from hydra-explorer.cabal rename to hydra-explorer/hydra-explorer.cabal diff --git a/json-schemas/hydra-explorer-api.yaml b/hydra-explorer/json-schemas/hydra-explorer-api.yaml similarity index 100% rename from json-schemas/hydra-explorer-api.yaml rename to hydra-explorer/json-schemas/hydra-explorer-api.yaml diff --git a/src/Hydra/Explorer.hs b/hydra-explorer/src/Hydra/Explorer.hs similarity index 100% rename from src/Hydra/Explorer.hs rename to hydra-explorer/src/Hydra/Explorer.hs diff --git a/src/Hydra/Explorer/ExplorerState.hs b/hydra-explorer/src/Hydra/Explorer/ExplorerState.hs similarity index 100% rename from src/Hydra/Explorer/ExplorerState.hs rename to hydra-explorer/src/Hydra/Explorer/ExplorerState.hs diff --git a/src/Hydra/Explorer/Options.hs b/hydra-explorer/src/Hydra/Explorer/Options.hs similarity index 100% rename from src/Hydra/Explorer/Options.hs rename to hydra-explorer/src/Hydra/Explorer/Options.hs diff --git a/test/Hydra/Explorer/ExplorerStateSpec.hs b/hydra-explorer/test/Hydra/Explorer/ExplorerStateSpec.hs similarity index 100% rename from test/Hydra/Explorer/ExplorerStateSpec.hs rename to hydra-explorer/test/Hydra/Explorer/ExplorerStateSpec.hs diff --git a/test/Hydra/ExplorerSpec.hs b/hydra-explorer/test/Hydra/ExplorerSpec.hs similarity index 100% rename from test/Hydra/ExplorerSpec.hs rename to hydra-explorer/test/Hydra/ExplorerSpec.hs diff --git a/test/Main.hs b/hydra-explorer/test/Main.hs similarity index 100% rename from test/Main.hs rename to hydra-explorer/test/Main.hs diff --git a/test/Spec.hs b/hydra-explorer/test/Spec.hs similarity index 100% rename from test/Spec.hs rename to hydra-explorer/test/Spec.hs diff --git a/web/.env b/hydra-explorer/web/.env similarity index 100% rename from web/.env rename to hydra-explorer/web/.env diff --git a/web/.eslintrc.json b/hydra-explorer/web/.eslintrc.json similarity index 100% rename from web/.eslintrc.json rename to hydra-explorer/web/.eslintrc.json diff --git a/web/.gitignore b/hydra-explorer/web/.gitignore similarity index 100% rename from web/.gitignore rename to hydra-explorer/web/.gitignore diff --git a/web/README.md b/hydra-explorer/web/README.md similarity index 100% rename from web/README.md rename to hydra-explorer/web/README.md diff --git a/web/hydra-explorer.nix b/hydra-explorer/web/hydra-explorer.nix similarity index 100% rename from web/hydra-explorer.nix rename to hydra-explorer/web/hydra-explorer.nix diff --git a/web/next.config.mjs b/hydra-explorer/web/next.config.mjs similarity index 100% rename from web/next.config.mjs rename to hydra-explorer/web/next.config.mjs diff --git a/web/package.json b/hydra-explorer/web/package.json similarity index 100% rename from web/package.json rename to hydra-explorer/web/package.json diff --git a/web/postcss.config.js b/hydra-explorer/web/postcss.config.js similarity index 100% rename from web/postcss.config.js rename to hydra-explorer/web/postcss.config.js diff --git a/web/public/favicon.svg b/hydra-explorer/web/public/favicon.svg similarity index 100% rename from web/public/favicon.svg rename to hydra-explorer/web/public/favicon.svg diff --git a/web/public/hydra.svg b/hydra-explorer/web/public/hydra.svg similarity index 100% rename from web/public/hydra.svg rename to hydra-explorer/web/public/hydra.svg diff --git a/web/src/app/globals.css b/hydra-explorer/web/src/app/globals.css similarity index 100% rename from web/src/app/globals.css rename to hydra-explorer/web/src/app/globals.css diff --git a/web/src/app/layout.tsx b/hydra-explorer/web/src/app/layout.tsx similarity index 100% rename from web/src/app/layout.tsx rename to hydra-explorer/web/src/app/layout.tsx diff --git a/web/src/app/model.tsx b/hydra-explorer/web/src/app/model.tsx similarity index 100% rename from web/src/app/model.tsx rename to hydra-explorer/web/src/app/model.tsx diff --git a/web/src/app/page.tsx b/hydra-explorer/web/src/app/page.tsx similarity index 100% rename from web/src/app/page.tsx rename to hydra-explorer/web/src/app/page.tsx diff --git a/web/src/components/HeadDetails/index.tsx b/hydra-explorer/web/src/components/HeadDetails/index.tsx similarity index 100% rename from web/src/components/HeadDetails/index.tsx rename to hydra-explorer/web/src/components/HeadDetails/index.tsx diff --git a/web/src/components/HeadsDashboard/index.tsx b/hydra-explorer/web/src/components/HeadsDashboard/index.tsx similarity index 100% rename from web/src/components/HeadsDashboard/index.tsx rename to hydra-explorer/web/src/components/HeadsDashboard/index.tsx diff --git a/web/src/components/HeadsTable/index.tsx b/hydra-explorer/web/src/components/HeadsTable/index.tsx similarity index 100% rename from web/src/components/HeadsTable/index.tsx rename to hydra-explorer/web/src/components/HeadsTable/index.tsx diff --git a/web/src/components/IntervalSetter/index.tsx b/hydra-explorer/web/src/components/IntervalSetter/index.tsx similarity index 100% rename from web/src/components/IntervalSetter/index.tsx rename to hydra-explorer/web/src/components/IntervalSetter/index.tsx diff --git a/web/src/components/MemberCommitDetails/index.tsx b/hydra-explorer/web/src/components/MemberCommitDetails/index.tsx similarity index 100% rename from web/src/components/MemberCommitDetails/index.tsx rename to hydra-explorer/web/src/components/MemberCommitDetails/index.tsx diff --git a/web/src/components/TickBox/index.tsx b/hydra-explorer/web/src/components/TickBox/index.tsx similarity index 100% rename from web/src/components/TickBox/index.tsx rename to hydra-explorer/web/src/components/TickBox/index.tsx diff --git a/web/src/hooks/DataFetcher/index.tsx b/hydra-explorer/web/src/hooks/DataFetcher/index.tsx similarity index 100% rename from web/src/hooks/DataFetcher/index.tsx rename to hydra-explorer/web/src/hooks/DataFetcher/index.tsx diff --git a/web/src/providers/CardanoExplorer/index.tsx b/hydra-explorer/web/src/providers/CardanoExplorer/index.tsx similarity index 100% rename from web/src/providers/CardanoExplorer/index.tsx rename to hydra-explorer/web/src/providers/CardanoExplorer/index.tsx diff --git a/web/src/providers/HeadsDataProvider/index.tsx b/hydra-explorer/web/src/providers/HeadsDataProvider/index.tsx similarity index 100% rename from web/src/providers/HeadsDataProvider/index.tsx rename to hydra-explorer/web/src/providers/HeadsDataProvider/index.tsx diff --git a/web/src/providers/IntervalProvider/index.tsx b/hydra-explorer/web/src/providers/IntervalProvider/index.tsx similarity index 100% rename from web/src/providers/IntervalProvider/index.tsx rename to hydra-explorer/web/src/providers/IntervalProvider/index.tsx diff --git a/web/src/utils.tsx b/hydra-explorer/web/src/utils.tsx similarity index 100% rename from web/src/utils.tsx rename to hydra-explorer/web/src/utils.tsx diff --git a/web/tailwind.config.ts b/hydra-explorer/web/tailwind.config.ts similarity index 100% rename from web/tailwind.config.ts rename to hydra-explorer/web/tailwind.config.ts diff --git a/web/tsconfig.json b/hydra-explorer/web/tsconfig.json similarity index 100% rename from web/tsconfig.json rename to hydra-explorer/web/tsconfig.json diff --git a/web/yarn.lock b/hydra-explorer/web/yarn.lock similarity index 100% rename from web/yarn.lock rename to hydra-explorer/web/yarn.lock diff --git a/nix/outputs.nix b/nix/outputs.nix new file mode 100644 index 0000000..48c87c8 --- /dev/null +++ b/nix/outputs.nix @@ -0,0 +1,14 @@ +{ repoRoot, inputs, pkgs, lib, system }: + +let + + project = repoRoot.nix.project; + +in + +[ + ( + # Docs for project.flake: https://github.com/input-output-hk/iogx/blob/main/doc/api.md#mkhaskellprojectoutflake + project.flake + ) +] diff --git a/nix/project.nix b/nix/project.nix new file mode 100644 index 0000000..4258cdc --- /dev/null +++ b/nix/project.nix @@ -0,0 +1,79 @@ +{ repoRoot, inputs, pkgs, system, lib }: + +let + + cabalProject' = pkgs.haskell-nix.cabalProject' ({ pkgs, config, ... }: + let + # When `isCross` is `true`, it means that we are cross-compiling the project. + # WARNING You must use the `pkgs` coming from cabalProject' for `isCross` to work. + isCross = pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform; + in + { + src = ../.; + + shell.withHoogle = false; + + inputMap = { + "https://chap.intersectmbo.org/" = inputs.iogx.inputs.CHaP; + }; + + name = "my-project"; + + compiler-nix-name = lib.mkDefault "ghc96"; + + # flake.variants.profiled = { + # modules = [{ + # enableProfiling = true; + # enableLibraryProfiling = true; + # }]; + # }; + + # flake.variants.ghc928 = { + # compiler-nix-name = "ghc928"; + # }; + + # flake.variants.ghc8107 = { + # compiler-nix-name = "ghc8107"; + # }; + + modules = + [ + { + packages = { }; + } + { + packages = { }; + } + ]; + }); + + + cabalProject = cabalProject'.appendOverlays [ ]; + + + # Docs for mkHaskellProject: https://github.com/input-output-hk/iogx/blob/main/doc/api.md#mkhaskellproject + project = lib.iogx.mkHaskellProject { + inherit cabalProject; + + shellArgs = repoRoot.nix.shell; + + # includeMingwW64HydraJobs = false; + + # includeProfiledHydraJobs = false; + + # readTheDocs = { + # enable = false; + # siteFolder = "doc/read-the-docs-site"; + # sphinxToolchain = null; + # }; + + # combinedHaddock = { + # enable = false; + # prologue = ""; + # packages = []; + # }; + }; + +in + +project diff --git a/nix/shell.nix b/nix/shell.nix new file mode 100644 index 0000000..1adf23c --- /dev/null +++ b/nix/shell.nix @@ -0,0 +1,78 @@ +# Docs for this file: https://github.com/input-output-hk/iogx/blob/main/doc/api.md#mkhaskellprojectinshellargs +# See `shellArgs` in `mkHaskellProject` in ./project.nix for more details. + +{ repoRoot, inputs, pkgs, lib, system }: + +# Each flake variant defined in your project.nix project will yield a separate +# shell. If no flake variants are defined, then cabalProject is the original +# project. +cabalProject: + +{ + name = "nix-shell"; + + # prompt = null; + + # welcomeMessage = null; + + # packages = []; + + # scripts = { + # foo = { + # description = ""; + # group = "general"; + # enabled = true; + # exec = '' + # echo "Hello, World!" + # ''; + # }; + # }; + + # env = { + # KEY = "VALUE"; + # }; + + # shellHook = ""; + + tools = { + # haskellCompilerVersion = cabalProject.args.compiler-nix-name; + # cabal-fmt = null; + # cabal-install = null; + # haskell-language-server = null; + # haskell-language-server-wrapper = null; + # fourmolu = null; + # hlint = null; + # stylish-haskell = null; + # ghcid = null; + # shellcheck = null; + # prettier = null; + # editorconfig-checker = null; + # nixpkgs-fmt = null; + # optipng = null; + # purs-tidy = null; + }; + + # preCommit = { + # cabal-fmt.enable = false; + # cabal-fmt.extraOptions = ""; + # stylish-haskell.enable = false; + # stylish-haskell.extraOptions = ""; + # fourmolu.enable = false; + # fourmolu.extraOptions = ""; + # hlint.enable = false; + # hlint.extraOptions = ""; + # shellcheck.enable = false; + # shellcheck.extraOptions = ""; + # prettier.enable = false; + # prettier.extraOptions = ""; + # editorconfig-checker.enable = false; + # editorconfig-checker.extraOptions = ""; + # nixpkgs-fmt.enable = false; + # nixpkgs-fmt.extraOptions = ""; + # optipng.enable = false; + # optipng.extraOptions = ""; + # purs-tidy.enable = false; + # purs-tidy.extraOptions = ""; + # }; +} + \ No newline at end of file From b7922472b27480ba63fb1444d9f0e3c2d1cde7c6 Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Wed, 16 Oct 2024 10:33:28 +0000 Subject: [PATCH 02/25] Add github CI --- .github/workflows/ci-nix.yaml | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/ci-nix.yaml diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml new file mode 100644 index 0000000..bddfe1f --- /dev/null +++ b/.github/workflows/ci-nix.yaml @@ -0,0 +1,46 @@ +name: "CI" + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true +on: + merge_group: + push: + branches: + - master + - release + pull_request: + schedule: + - cron: "0 4 * * *" + +permissions: + checks: write + pull-requests: write + +jobs: + build-test: + name: "Build & test" + runs-on: ubuntu-latest + + steps: + - name: 📥 Checkout repository + uses: actions/checkout@v4 + + - name: ❄ Prepare nix + uses: cachix/install-nix-action@v30 + with: + extra_nix_config: | + accept-flake-config = true + log-lines = 1000 + + - name: ❄ Cachix cache of nix derivations + uses: cachix/cachix-action@v15 + with: + name: cardano-scaling + authToken: '${{ secrets.CACHIX_CARDANO_SCALING_AUTH_TOKEN }}' + + - name: ❓ Test + run: | + nix build github:srid/devour-flake \ + -L --no-link --print-out-paths \ + --override-input flake . From 2884d0b6ac8188ca60cf254d18e155d40cab0897 Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Wed, 16 Oct 2024 11:39:51 +0000 Subject: [PATCH 03/25] .gitignore: init --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b23ba7b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +dist-newstyle +result* From ed11415b0c2430168358b228224a066397dba64f Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Wed, 16 Oct 2024 11:57:38 +0000 Subject: [PATCH 04/25] Add system image --- flake.lock | 66 +++++++++++++++++++++++++++++++++++++ flake.nix | 96 +++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 140 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index 90d9e6d..55e05da 100644 --- a/flake.lock +++ b/flake.lock @@ -183,6 +183,24 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -690,6 +708,24 @@ "type": "github" } }, + "nixinate": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1708891350, + "narHash": "sha256-VOQrKK7Df/IVuNki+NshVuGkTa/Tw0GigPjWcZff6kk=", + "owner": "MatthewCroughan", + "repo": "nixinate", + "rev": "452f33c60df5b72ad0858f5f2cf224bdf1f17746", + "type": "github" + }, + "original": { + "owner": "MatthewCroughan", + "repo": "nixinate", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1657693803, @@ -834,6 +870,18 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1727825735, + "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + } + }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -929,6 +977,22 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1653060744, + "narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "dfd82985c273aac6eced03625f454b334daae2e8", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "old-ghc-nix": { "flake": false, "locked": { @@ -970,9 +1034,11 @@ "root": { "inputs": { "CHaP": "CHaP", + "flake-parts": "flake-parts", "hackage": "hackage", "haskell-nix": "haskell-nix", "iogx": "iogx", + "nixinate": "nixinate", "nixpkgs": [ "haskell-nix", "nixpkgs" diff --git a/flake.nix b/flake.nix index 8b9fb7a..8ba789c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,49 +1,100 @@ -# Docs for this file: https://github.com/input-output-hk/iogx/blob/main/doc/api.md#flakenix { - description = "Change the description field in your flake.nix"; - + description = "hydra-explorer application and system image"; inputs = { - iogx = { - url = "github:input-output-hk/iogx"; - inputs.hackage.follows = "hackage"; - inputs.CHaP.follows = "CHaP"; - inputs.haskell-nix.follows = "haskell-nix"; - inputs.nixpkgs.follows = "nixpkgs"; + + CHaP = { + url = "github:IntersectMBO/cardano-haskell-packages?ref=repo"; + flake = false; }; - nixpkgs.follows = "haskell-nix/nixpkgs"; + flake-parts.url = "github:hercules-ci/flake-parts"; hackage = { url = "github:input-output-hk/hackage.nix"; flake = false; }; - CHaP = { - url = "github:IntersectMBO/cardano-haskell-packages?ref=repo"; - flake = false; - }; - haskell-nix = { url = "github:input-output-hk/haskell.nix"; inputs.hackage.follows = "hackage"; }; + + iogx = { + url = "github:input-output-hk/iogx"; + inputs.hackage.follows = "hackage"; + inputs.CHaP.follows = "CHaP"; + inputs.haskell-nix.follows = "haskell-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nixinate.url = "github:MatthewCroughan/nixinate"; + + nixpkgs.follows = "haskell-nix/nixpkgs"; + }; + outputs = inputs: + let + systems = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ]; + in + inputs.iogx.lib.mkFlake + { - # Docs for mkFlake: https://github.com/input-output-hk/iogx/blob/main/doc/api.md#mkflake - outputs = inputs: inputs.iogx.lib.mkFlake { + inherit inputs; + inherit systems; - inherit inputs; + repoRoot = ./.; - repoRoot = ./.; + outputs = import ./nix/outputs.nix; - outputs = import ./nix/outputs.nix; + } // + inputs.flake-parts.lib.mkFlake { inherit inputs; } { + inherit systems; + flake = { - systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + apps = inputs.nixinate.nixinate."x86_64-linux" inputs.self; - }; + nixosConfigurations = { + hydra-explorer = inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = inputs; + modules = [ + { + _module.args.nixinate = { + host = "explorer.hydra.family"; + sshUser = "root"; + buildOn = "local"; + substituteOnTarget = true; + hermetic = false; + }; + } + { + imports = [ "${inputs.nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" ]; + + networking.hostName = "hydra-explorer"; + + nix.settings.trusted-users = [ "root" ]; + services.openssh.enable = true; + + system.stateVersion = "24.05"; + + networking.firewall = { + allowedTCPPorts = [ 25 80 443 ]; + enable = false; + }; + } + ]; + }; + }; + }; + }; nixConfig = { extra-substituters = [ @@ -54,4 +105,5 @@ ]; allow-import-from-derivation = true; }; + } From e300d4370dc5227fb814e0ada7717df50cbee81d Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Wed, 16 Oct 2024 12:31:26 +0000 Subject: [PATCH 05/25] Add cardano-node --- flake.lock | 2184 ++++++++++++++++++++++++++++++++++++++++++----- flake.nix | 28 +- nix/outputs.nix | 1 - 3 files changed, 1978 insertions(+), 235 deletions(-) diff --git a/flake.lock b/flake.lock index 55e05da..69d05cc 100644 --- a/flake.lock +++ b/flake.lock @@ -17,6 +17,23 @@ "type": "github" } }, + "CHaP_2": { + "flake": false, + "locked": { + "lastModified": 1725978043, + "narHash": "sha256-3AwgQ308g74rISxUlbzQRX3At0trVoH836vBwkcFFYg=", + "owner": "intersectmbo", + "repo": "cardano-haskell-packages", + "rev": "ce5ba82d474225506523e66a4050718de7e2b3fe", + "type": "github" + }, + "original": { + "owner": "intersectmbo", + "ref": "repo", + "repo": "cardano-haskell-packages", + "type": "github" + } + }, "HTTP": { "flake": false, "locked": { @@ -33,6 +50,52 @@ "type": "github" } }, + "HTTP_2": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "blank": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "blank", + "type": "github" + } + }, + "blank_2": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "blank", + "type": "github" + } + }, "blst": { "flake": false, "locked": { @@ -50,6 +113,23 @@ "type": "github" } }, + "blst_2": { + "flake": false, + "locked": { + "lastModified": 1691598027, + "narHash": "sha256-oqljy+ZXJAXEB/fJtmB8rlAr4UXM+Z2OkDa20gpILNA=", + "owner": "supranational", + "repo": "blst", + "rev": "3dd0f804b1819e5d03fb22ca2e6fac105932043a", + "type": "github" + }, + "original": { + "owner": "supranational", + "ref": "v0.3.11", + "repo": "blst", + "type": "github" + } + }, "cabal-32": { "flake": false, "locked": { @@ -67,260 +147,826 @@ "type": "github" } }, - "cabal-34": { + "cabal-32_2": { "flake": false, "locked": { - "lastModified": 1645834128, - "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", "owner": "haskell", "repo": "cabal", - "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", "type": "github" }, "original": { "owner": "haskell", - "ref": "3.4", + "ref": "3.2", "repo": "cabal", "type": "github" } }, - "cabal-36": { + "cabal-34": { "flake": false, "locked": { - "lastModified": 1669081697, - "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", "owner": "haskell", "repo": "cabal", - "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", "type": "github" }, "original": { "owner": "haskell", - "ref": "3.6", + "ref": "3.4", "repo": "cabal", "type": "github" } }, - "cardano-shell": { + "cabal-34_2": { "flake": false, "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", - "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "owner": "haskell", + "repo": "cabal", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "cardano-shell", + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", "type": "github" } }, - "easy-purescript-nix": { - "inputs": { - "flake-utils": "flake-utils" - }, + "cabal-36": { + "flake": false, "locked": { - "lastModified": 1710161569, - "narHash": "sha256-lcIRIOFCdIWEGyKyG/tB4KvxM9zoWuBRDxW+T+mvIb0=", - "owner": "justinwoo", - "repo": "easy-purescript-nix", - "rev": "117fd96acb69d7d1727df95b6fde9d8715e031fc", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { - "owner": "justinwoo", - "repo": "easy-purescript-nix", + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", "type": "github" } }, - "flake-compat": { + "cabal-36_2": { "flake": false, "locked": { - "lastModified": 1672831974, - "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", - "owner": "input-output-hk", - "repo": "flake-compat", - "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "hkm/gitlab-fix", - "repo": "flake-compat", + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", "type": "github" } }, - "flake-compat_2": { + "call-flake": { "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "lastModified": 1687380775, + "narHash": "sha256-bmhE1TmrJG4ba93l9WQTLuYM53kwGQAjYHRvHOeuxWU=", + "owner": "divnix", + "repo": "call-flake", + "rev": "74061f6c241227cd05e79b702db9a300a2e4131a", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "divnix", + "repo": "call-flake", "type": "github" } }, - "flake-compat_3": { - "flake": false, + "cardano-automation": { + "inputs": { + "flake-utils": "flake-utils", + "haskellNix": [ + "cardano-node", + "haskellNix" + ], + "nixpkgs": [ + "cardano-node", + "nixpkgs" + ], + "tullia": "tullia" + }, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "lastModified": 1679408951, + "narHash": "sha256-xM78upkrXjRu/739V/IxFrA9m+6rvgOiolt4ReKLAog=", + "owner": "input-output-hk", + "repo": "cardano-automation", + "rev": "628f135d243d4a9e388c187e4c6179246038ee72", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "input-output-hk", + "repo": "cardano-automation", "type": "github" } }, - "flake-parts": { + "cardano-mainnet-mirror": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "lastModified": 1642701714, + "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", + "owner": "input-output-hk", + "repo": "cardano-mainnet-mirror", + "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", + "owner": "input-output-hk", + "ref": "nix", + "repo": "cardano-mainnet-mirror", "type": "github" } }, - "flake-utils": { + "cardano-node": { "inputs": { - "systems": "systems" + "CHaP": "CHaP_2", + "cardano-automation": "cardano-automation", + "cardano-mainnet-mirror": "cardano-mainnet-mirror", + "customConfig": "customConfig", + "em": "em", + "empty-flake": "empty-flake", + "flake-compat": "flake-compat_2", + "hackageNix": "hackageNix", + "haskellNix": "haskellNix", + "hostNixpkgs": [ + "cardano-node", + "nixpkgs" + ], + "iohkNix": "iohkNix", + "nixpkgs": [ + "cardano-node", + "haskellNix", + "nixpkgs-unstable" + ], + "ops-lib": "ops-lib", + "std": "std_2", + "utils": "utils_2" }, "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "lastModified": 1726677789, + "narHash": "sha256-utAO4ZP9EAW4LdMT/hdMoykwT/h9gizoVvCbmYfAZSQ=", + "owner": "IntersectMBO", + "repo": "cardano-node", + "rev": "341ea87ba3b4936188f8c2d4f09bbf1976a7926e", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "IntersectMBO", + "ref": "9.2.0", + "repo": "cardano-node", "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, + "cardano-shell": { + "flake": false, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "input-output-hk", + "repo": "cardano-shell", "type": "github" } }, - "flake-utils_3": { - "inputs": { - "systems": "systems_3" - }, + "cardano-shell_2": { + "flake": false, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "input-output-hk", + "repo": "cardano-shell", "type": "github" } }, - "ghc-8.6.5-iohk": { - "flake": false, + "customConfig": { "locked": { - "lastModified": 1600920045, - "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", "owner": "input-output-hk", - "repo": "ghc", - "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "release/8.6.5-iohk", - "repo": "ghc", + "repo": "empty-flake", "type": "github" } }, - "gitignore": { + "devshell": { "inputs": { + "flake-utils": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], "nixpkgs": [ - "iogx", - "pre-commit-hooks-nix", + "cardano-node", + "cardano-automation", + "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "lastModified": 1663445644, + "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", + "owner": "numtide", + "repo": "devshell", + "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", + "owner": "numtide", + "repo": "devshell", "type": "github" } }, - "hackage": { - "flake": false, + "dmerge": { + "inputs": { + "nixlib": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ], + "yants": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "yants" + ] + }, "locked": { - "lastModified": 1729039425, - "narHash": "sha256-sIglYcw8Dacj4n0bRlUWo+NLkDMcVi6vtmKvUyG+ZrQ=", - "owner": "input-output-hk", - "repo": "hackage.nix", - "rev": "6dc43e5e01f113ce151056a8f94bce7bb2f13eb9", + "lastModified": 1659548052, + "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", + "owner": "divnix", + "repo": "data-merge", + "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "hackage.nix", + "owner": "divnix", + "repo": "data-merge", + "type": "github" + } + }, + "dmerge_2": { + "inputs": { + "haumea": [ + "cardano-node", + "std", + "haumea" + ], + "nixlib": [ + "cardano-node", + "std", + "lib" + ], + "yants": [ + "cardano-node", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1686862774, + "narHash": "sha256-ojGtRQ9pIOUrxsQEuEPerUkqIJEuod9hIflfNkY+9CE=", + "owner": "divnix", + "repo": "dmerge", + "rev": "9f7f7a8349d33d7bd02e0f2b484b1f076e503a96", + "type": "github" + }, + "original": { + "owner": "divnix", + "ref": "0.2.1", + "repo": "dmerge", + "type": "github" + } + }, + "easy-purescript-nix": { + "inputs": { + "flake-utils": "flake-utils_5" + }, + "locked": { + "lastModified": 1710161569, + "narHash": "sha256-lcIRIOFCdIWEGyKyG/tB4KvxM9zoWuBRDxW+T+mvIb0=", + "owner": "justinwoo", + "repo": "easy-purescript-nix", + "rev": "117fd96acb69d7d1727df95b6fde9d8715e031fc", + "type": "github" + }, + "original": { + "owner": "justinwoo", + "repo": "easy-purescript-nix", + "type": "github" + } + }, + "em": { + "flake": false, + "locked": { + "lastModified": 1685015066, + "narHash": "sha256-etAdEoYhtvjTw1ITh28WPNfwvvb5t/fpwCP6s7odSiQ=", + "owner": "deepfire", + "repo": "em", + "rev": "af69bb5c2ac2161434d8fea45f920f8f359587ce", + "type": "github" + }, + "original": { + "owner": "deepfire", + "repo": "em", + "type": "github" + } + }, + "empty-flake": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "fixes", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_5": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_6": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_6": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_7": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "ghc-8.6.5-iohk": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "ghc-8.6.5-iohk_2": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "ghc910X": { + "flake": false, + "locked": { + "lastModified": 1714520650, + "narHash": "sha256-4uz6RA1hRr0RheGNDM49a/B3jszqNNU8iHIow4mSyso=", + "ref": "ghc-9.10", + "rev": "2c6375b9a804ac7fca1e82eb6fcfc8594c67c5f5", + "revCount": 62663, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "ref": "ghc-9.10", + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc911": { + "flake": false, + "locked": { + "lastModified": 1714817013, + "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", + "ref": "refs/heads/master", + "rev": "fc24c5cf6c62ca9e3c8d236656e139676df65034", + "revCount": 62816, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "iogx", + "pre-commit-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gomod2nix": { + "inputs": { + "nixpkgs": "nixpkgs", + "utils": "utils" + }, + "locked": { + "lastModified": 1655245309, + "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", + "owner": "tweag", + "repo": "gomod2nix", + "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "gomod2nix", + "type": "github" + } + }, + "hackage": { + "flake": false, + "locked": { + "lastModified": 1729039425, + "narHash": "sha256-sIglYcw8Dacj4n0bRlUWo+NLkDMcVi6vtmKvUyG+ZrQ=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "6dc43e5e01f113ce151056a8f94bce7bb2f13eb9", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "hackageNix": { + "flake": false, + "locked": { + "lastModified": 1725928375, + "narHash": "sha256-XO/6kJ77bR99bAuRGr9PleQX75vde5CbSU+6Xf3e8NQ=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "68cfb288b958e9d7a1329df614684132f44bd2b3", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", "type": "github" } }, "haskell-nix": { + "inputs": { + "HTTP": "HTTP_2", + "cabal-32": "cabal-32_2", + "cabal-34": "cabal-34_2", + "cabal-36": "cabal-36_2", + "cardano-shell": "cardano-shell_2", + "flake-compat": "flake-compat_4", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_2", + "hackage": [ + "hackage" + ], + "hls-1.10": "hls-1.10_2", + "hls-2.0": "hls-2.0_2", + "hls-2.2": "hls-2.2_2", + "hls-2.3": "hls-2.3_2", + "hls-2.4": "hls-2.4_2", + "hls-2.5": "hls-2.5_2", + "hls-2.6": "hls-2.6_2", + "hls-2.7": "hls-2.7_2", + "hls-2.8": "hls-2.8_2", + "hls-2.9": "hls-2.9_2", + "hpc-coveralls": "hpc-coveralls_2", + "hydra": "hydra_2", + "iserv-proxy": "iserv-proxy_2", + "nixpkgs": [ + "haskell-nix", + "nixpkgs-unstable" + ], + "nixpkgs-2003": "nixpkgs-2003_2", + "nixpkgs-2105": "nixpkgs-2105_2", + "nixpkgs-2111": "nixpkgs-2111_2", + "nixpkgs-2205": "nixpkgs-2205_2", + "nixpkgs-2211": "nixpkgs-2211_2", + "nixpkgs-2305": "nixpkgs-2305_2", + "nixpkgs-2311": "nixpkgs-2311_2", + "nixpkgs-2405": "nixpkgs-2405", + "nixpkgs-unstable": "nixpkgs-unstable_2", + "old-ghc-nix": "old-ghc-nix_2", + "stackage": "stackage_2" + }, + "locked": { + "lastModified": 1729068074, + "narHash": "sha256-sxbi1kOBNfy3ZhEdfCApdRmtQzyNYhCRQP8O2uX22oY=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "82d4d2042de1f1fc2231690add3e9cdadfe88416", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "haskellNix": { "inputs": { "HTTP": "HTTP", "cabal-32": "cabal-32", "cabal-34": "cabal-34", "cabal-36": "cabal-36", "cardano-shell": "cardano-shell", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_3", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "ghc910X": "ghc910X", + "ghc911": "ghc911", "hackage": [ - "hackage" + "cardano-node", + "hackageNix" ], "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", @@ -336,8 +982,8 @@ "hydra": "hydra", "iserv-proxy": "iserv-proxy", "nixpkgs": [ - "haskell-nix", - "nixpkgs-unstable" + "cardano-node", + "nixpkgs" ], "nixpkgs-2003": "nixpkgs-2003", "nixpkgs-2105": "nixpkgs-2105", @@ -346,17 +992,16 @@ "nixpkgs-2211": "nixpkgs-2211", "nixpkgs-2305": "nixpkgs-2305", "nixpkgs-2311": "nixpkgs-2311", - "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" }, "locked": { - "lastModified": 1729068074, - "narHash": "sha256-sxbi1kOBNfy3ZhEdfCApdRmtQzyNYhCRQP8O2uX22oY=", + "lastModified": 1718797200, + "narHash": "sha256-ueFxTuZrQ3ZT/Fj5sSeUWlqKa4+OkUU1xW0E+q/XTfw=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "82d4d2042de1f1fc2231690add3e9cdadfe88416", + "rev": "cb139fa956158397aa398186bb32dd26f7318784", "type": "github" }, "original": { @@ -365,6 +1010,29 @@ "type": "github" } }, + "haumea": { + "inputs": { + "nixpkgs": [ + "cardano-node", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1685133229, + "narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=", + "owner": "nix-community", + "repo": "haumea", + "rev": "34dd58385092a23018748b50f9b23de6266dffc2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.2.2", + "repo": "haumea", + "type": "github" + } + }, "hls-1.10": { "flake": false, "locked": { @@ -382,6 +1050,23 @@ "type": "github" } }, + "hls-1.10_2": { + "flake": false, + "locked": { + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "1.10.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-2.0": { "flake": false, "locked": { @@ -399,6 +1084,23 @@ "type": "github" } }, + "hls-2.0_2": { + "flake": false, + "locked": { + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "783905f211ac63edf982dd1889c671653327e441", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.0.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-2.2": { "flake": false, "locked": { @@ -416,109 +1118,245 @@ "type": "github" } }, - "hls-2.3": { + "hls-2.2_2": { + "flake": false, + "locked": { + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.2.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.3": { + "flake": false, + "locked": { + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.3_2": { + "flake": false, + "locked": { + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.4": { + "flake": false, + "locked": { + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.4_2": { + "flake": false, + "locked": { + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.5": { + "flake": false, + "locked": { + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.5_2": { + "flake": false, + "locked": { + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.6": { + "flake": false, + "locked": { + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.6_2": { "flake": false, "locked": { - "lastModified": 1695910642, - "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.3.0.0", + "ref": "2.6.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.4": { + "hls-2.7": { "flake": false, "locked": { - "lastModified": 1699862708, - "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.4.0.1", + "ref": "2.7.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.5": { + "hls-2.7_2": { "flake": false, "locked": { - "lastModified": 1701080174, - "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.5.0.0", + "ref": "2.7.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.6": { + "hls-2.8": { "flake": false, "locked": { - "lastModified": 1705325287, - "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.6.0.0", + "ref": "2.8.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.7": { + "hls-2.8_2": { "flake": false, "locked": { - "lastModified": 1708965829, - "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.7.0.0", + "ref": "2.8.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.8": { + "hls-2.9": { "flake": false, "locked": { - "lastModified": 1715153580, - "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "lastModified": 1718469202, + "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", + "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.8.0.0", + "ref": "2.9.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.9": { + "hls-2.9_2": { "flake": false, "locked": { "lastModified": 1720003792, @@ -551,9 +1389,49 @@ "type": "github" } }, + "hpc-coveralls_2": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, "hydra": { "inputs": { "nix": "nix", + "nixpkgs": [ + "cardano-node", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "hydra_2": { + "inputs": { + "nix": "nix_2", "nixpkgs": [ "haskell-nix", "hydra", @@ -574,14 +1452,36 @@ "type": "indirect" } }, + "incl": { + "inputs": { + "nixlib": [ + "cardano-node", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "incl", + "type": "github" + } + }, "iogx": { "inputs": { "CHaP": [ "CHaP" ], "easy-purescript-nix": "easy-purescript-nix", - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_6", "hackage": [ "hackage" ], @@ -589,7 +1489,7 @@ "haskell-nix" ], "iohk-nix": "iohk-nix", - "nix2container": "nix2container", + "nix2container": "nix2container_2", "nixpkgs": [ "nixpkgs" ], @@ -613,11 +1513,35 @@ }, "iohk-nix": { "inputs": { - "blst": "blst", + "blst": "blst_2", "nixpkgs": [ "iogx", "nixpkgs" ], + "secp256k1": "secp256k1_2", + "sodium": "sodium_2" + }, + "locked": { + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "type": "github" + } + }, + "iohkNix": { + "inputs": { + "blst": "blst", + "nixpkgs": [ + "cardano-node", + "nixpkgs" + ], "secp256k1": "secp256k1", "sodium": "sodium" }, @@ -652,6 +1576,38 @@ "type": "github" } }, + "iserv-proxy_2": { + "flake": false, + "locked": { + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", + "type": "github" + }, + "original": { + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" + } + }, + "lib": { + "locked": { + "lastModified": 1694306727, + "narHash": "sha256-26fkTOJOI65NOTNKFvtcJF9mzzf/kK9swHzfYt1Dl6Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c30b6a84c0b84ec7aecbe74466033facc9ed103f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "lowdown-src": { "flake": false, "locked": { @@ -663,16 +1619,170 @@ "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "lowdown-src_2": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "mdbook-kroki-preprocessor": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "n2c": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs_5", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix-nomad": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": [ + "cardano-node", + "cardano-automation", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix", + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix2container": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_2": { + "inputs": { + "flake-utils": "flake-utils_7", + "nixpkgs": "nixpkgs_8" + }, + "locked": { + "lastModified": 1724996935, + "narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "fa6bb0a1159f55d071ba99331355955ae30b3401", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", "type": "github" } }, - "nix": { + "nix_2": { "inputs": { - "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs", - "nixpkgs-regression": "nixpkgs-regression" + "lowdown-src": "lowdown-src_2", + "nixpkgs": "nixpkgs_7", + "nixpkgs-regression": "nixpkgs-regression_2" }, "locked": { "lastModified": 1661606874, @@ -689,28 +1799,47 @@ "type": "github" } }, - "nix2container": { + "nixago": { "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_2" + "flake-utils": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixago-exts": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] }, "locked": { - "lastModified": 1724996935, - "narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "fa6bb0a1159f55d071ba99331355955ae30b3401", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, "nixinate": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1708891350, @@ -728,16 +1857,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.05-small", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -758,6 +1887,22 @@ "type": "github" } }, + "nixpkgs-2003_2": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2105": { "locked": { "lastModified": 1659914493, @@ -774,6 +1919,22 @@ "type": "github" } }, + "nixpkgs-2105_2": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2111": { "locked": { "lastModified": 1659446231, @@ -790,6 +1951,22 @@ "type": "github" } }, + "nixpkgs-2111_2": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2205": { "locked": { "lastModified": 1685573264, @@ -806,6 +1983,22 @@ "type": "github" } }, + "nixpkgs-2205_2": { + "locked": { + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2211": { "locked": { "lastModified": 1688392541, @@ -822,7 +2015,39 @@ "type": "github" } }, + "nixpkgs-2211_2": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2305": { + "locked": { + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305_2": { "locked": { "lastModified": 1705033721, "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", @@ -839,6 +2064,22 @@ } }, "nixpkgs-2311": { + "locked": { + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311_2": { "locked": { "lastModified": 1719957072, "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", @@ -878,75 +2119,216 @@ "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" }, "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + } + }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, + "nixpkgs-regression_2": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1690680713, + "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", + "type": "github" + } + }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "type": "github" + } + }, + "nixpkgs-unstable_2": { + "locked": { + "lastModified": 1726583932, + "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "658e7223191d2598641d50ee4e898126768fe847", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_10": { + "locked": { + "lastModified": 1653060744, + "narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "dfd82985c273aac6eced03625f454b334daae2e8", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression": { + "nixpkgs_4": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1642336556, + "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", "type": "github" }, "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, - "nixpkgs-stable": { + "nixpkgs_5": { "locked": { - "lastModified": 1690680713, - "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-22.05-small", "repo": "nixpkgs", - "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", "type": "github" } }, - "nixpkgs-stable_2": { + "nixpkgs_6": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", - "owner": "NixOS", + "lastModified": 1708343346, + "narHash": "sha256-qlzHvterVRzS8fS0ophQpkh0rqw0abijHEOAKm0HmV0=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "9312b935a538684049cb668885e60f15547d4c5f", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-24.05", + "owner": "nixos", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs_7": { "locked": { - "lastModified": 1726583932, - "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "658e7223191d2598641d50ee4e898126768fe847", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_8": { "locked": { "lastModified": 1712920918, "narHash": "sha256-1yxFvUcJfUphK9V91KufIQom7gCsztza0H4Rz2VCWUU=", @@ -961,7 +2343,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_9": { "locked": { "lastModified": 1719082008, "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", @@ -977,19 +2359,18 @@ "type": "github" } }, - "nixpkgs_4": { + "nosys": { "locked": { - "lastModified": 1653060744, - "narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "dfd82985c273aac6eced03625f454b334daae2e8", + "lastModified": 1668010795, + "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", + "owner": "divnix", + "repo": "nosys", + "rev": "feade0141487801c71ff55623b421ed535dbdefa", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", + "owner": "divnix", + "repo": "nosys", "type": "github" } }, @@ -1010,11 +2391,91 @@ "type": "github" } }, + "old-ghc-nix_2": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, + "ops-lib": { + "flake": false, + "locked": { + "lastModified": 1713366514, + "narHash": "sha256-0hNlv+grFTE+TeXIbxSY97QoEEaUupOKMusZ4PesdrQ=", + "owner": "input-output-hk", + "repo": "ops-lib", + "rev": "19d83fa8eab1c0b7765f736eb4e8569d84d3e39d", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "ops-lib", + "type": "github" + } + }, + "paisano": { + "inputs": { + "call-flake": "call-flake", + "nixpkgs": [ + "cardano-node", + "std", + "nixpkgs" + ], + "nosys": "nosys", + "yants": [ + "cardano-node", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1708640854, + "narHash": "sha256-EpcAmvIS4ErqhXtVEfd2GPpU/E/s8CCRSfYzk6FZ/fY=", + "owner": "paisano-nix", + "repo": "core", + "rev": "adcf742bc9463c08764ca9e6955bd5e7dcf3a3fe", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "0.2.0", + "repo": "core", + "type": "github" + } + }, + "paisano-tui": { + "flake": false, + "locked": { + "lastModified": 1708637035, + "narHash": "sha256-R19YURSK+MY/Rw6FZnojQS9zuDh+OoTAyngQAjjoubc=", + "owner": "paisano-nix", + "repo": "tui", + "rev": "231761b260587a64817e4ffae3afc15defaa15db", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "v0.5.0", + "repo": "tui", + "type": "github" + } + }, "pre-commit-hooks-nix": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_6", "gitignore": "gitignore", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_9", "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { @@ -1034,6 +2495,7 @@ "root": { "inputs": { "CHaP": "CHaP", + "cardano-node": "cardano-node", "flake-parts": "flake-parts", "hackage": "hackage", "haskell-nix": "haskell-nix", @@ -1062,6 +2524,23 @@ "type": "github" } }, + "secp256k1_2": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, "sodium": { "flake": false, "locked": { @@ -1079,6 +2558,23 @@ "type": "github" } }, + "sodium_2": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, "sphinxcontrib-haddock": { "flake": false, "locked": { @@ -1096,6 +2592,22 @@ } }, "stackage": { + "flake": false, + "locked": { + "lastModified": 1718756571, + "narHash": "sha256-8rL8viTbuE9/yV1of6SWp2tHmhVMD2UmkOfmN5KDbKg=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "027672fb6fd45828b0e623c8152572d4058429ad", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "stackage_2": { "flake": false, "locked": { "lastModified": 1729039017, @@ -1111,6 +2623,107 @@ "type": "github" } }, + "std": { + "inputs": { + "blank": "blank", + "devshell": "devshell", + "dmerge": "dmerge", + "flake-utils": "flake-utils_3", + "makes": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor", + "microvm": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "n2c": "n2c", + "nixago": "nixago", + "nixpkgs": "nixpkgs_3", + "yants": "yants" + }, + "locked": { + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "owner": "divnix", + "repo": "std", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, + "std_2": { + "inputs": { + "arion": [ + "cardano-node", + "std", + "blank" + ], + "blank": "blank_2", + "devshell": [ + "cardano-node", + "std", + "blank" + ], + "dmerge": "dmerge_2", + "haumea": "haumea", + "incl": "incl", + "lib": "lib", + "makes": [ + "cardano-node", + "std", + "blank" + ], + "microvm": [ + "cardano-node", + "std", + "blank" + ], + "n2c": [ + "cardano-node", + "std", + "blank" + ], + "nixago": [ + "cardano-node", + "std", + "blank" + ], + "nixpkgs": "nixpkgs_6", + "paisano": "paisano", + "paisano-tui": "paisano-tui", + "terranix": [ + "cardano-node", + "std", + "blank" + ], + "yants": "yants_2" + }, + "locked": { + "lastModified": 1715201063, + "narHash": "sha256-LcLYV5CDhIiJs3MfxGZFKsXPR4PtfnY4toZ75GM+2Pw=", + "owner": "divnix", + "repo": "std", + "rev": "b6924a7d37a46fc1dda8efe405040e27ecf1bbd6", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1155,6 +2768,125 @@ "repo": "default", "type": "github" } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tullia": { + "inputs": { + "nix-nomad": "nix-nomad", + "nix2container": "nix2container", + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "nixpkgs" + ], + "std": "std" + }, + "locked": { + "lastModified": 1668711738, + "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", + "owner": "input-output-hk", + "repo": "tullia", + "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "tullia", + "type": "github" + } + }, + "utils": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_2": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "yants": { + "inputs": { + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660507851, + "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", + "owner": "divnix", + "repo": "yants", + "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } + }, + "yants_2": { + "inputs": { + "nixpkgs": [ + "cardano-node", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1686863218, + "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", + "owner": "divnix", + "repo": "yants", + "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 8ba789c..d01381e 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,8 @@ flake = false; }; + cardano-node.url = "github:IntersectMBO/cardano-node/9.2.0"; + flake-parts.url = "github:hercules-ci/flake-parts"; hackage = { @@ -75,20 +77,30 @@ }; } { - imports = [ "${inputs.nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" ]; - - networking.hostName = "hydra-explorer"; + imports = [ + "${inputs.nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" + inputs.cardano-node.nixosModules.cardano-node + ]; + + networking = { + hostName = "hydra-explorer"; + firewall = { + allowedTCPPorts = [ 25 80 443 ]; + enable = false; + }; + }; nix.settings.trusted-users = [ "root" ]; + services.cardano-node = { + enable = true; + environment = "preprod"; + port = 3002; + }; + services.openssh.enable = true; system.stateVersion = "24.05"; - - networking.firewall = { - allowedTCPPorts = [ 25 80 443 ]; - enable = false; - }; } ]; }; diff --git a/nix/outputs.nix b/nix/outputs.nix index 48c87c8..73672d0 100644 --- a/nix/outputs.nix +++ b/nix/outputs.nix @@ -8,7 +8,6 @@ in [ ( - # Docs for project.flake: https://github.com/input-output-hk/iogx/blob/main/doc/api.md#mkhaskellprojectoutflake project.flake ) ] From 79288608d7d5dc2d6bfa7f5039c910c64af0bbcf Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:59:42 +0200 Subject: [PATCH 06/25] Fix nixos-config modules --- flake.lock | 31 -------------------- flake.nix | 68 ++++--------------------------------------- nix/nixos-configs.nix | 46 +++++++++++++++++++++++++++++ nix/outputs.nix | 3 ++ 4 files changed, 55 insertions(+), 93 deletions(-) create mode 100644 nix/nixos-configs.nix diff --git a/flake.lock b/flake.lock index 69d05cc..14b2adf 100644 --- a/flake.lock +++ b/flake.lock @@ -622,24 +622,6 @@ "type": "github" } }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -2111,18 +2093,6 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1727825735, - "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - } - }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -2496,7 +2466,6 @@ "inputs": { "CHaP": "CHaP", "cardano-node": "cardano-node", - "flake-parts": "flake-parts", "hackage": "hackage", "haskell-nix": "haskell-nix", "iogx": "iogx", diff --git a/flake.nix b/flake.nix index d01381e..28a1099 100644 --- a/flake.nix +++ b/flake.nix @@ -10,8 +10,6 @@ cardano-node.url = "github:IntersectMBO/cardano-node/9.2.0"; - flake-parts.url = "github:hercules-ci/flake-parts"; - hackage = { url = "github:input-output-hk/hackage.nix"; flake = false; @@ -33,7 +31,6 @@ nixinate.url = "github:MatthewCroughan/nixinate"; nixpkgs.follows = "haskell-nix/nixpkgs"; - }; outputs = inputs: @@ -45,67 +42,14 @@ "aarch64-linux" ]; in - inputs.iogx.lib.mkFlake - { - - inherit inputs; - inherit systems; - - repoRoot = ./.; - - outputs = import ./nix/outputs.nix; - - } // - inputs.flake-parts.lib.mkFlake { inherit inputs; } { + inputs.iogx.lib.mkFlake { + inherit inputs; inherit systems; - flake = { - - apps = inputs.nixinate.nixinate."x86_64-linux" inputs.self; - - nixosConfigurations = { - hydra-explorer = inputs.nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = inputs; - modules = [ - { - _module.args.nixinate = { - host = "explorer.hydra.family"; - sshUser = "root"; - buildOn = "local"; - substituteOnTarget = true; - hermetic = false; - }; - } - { - imports = [ - "${inputs.nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" - inputs.cardano-node.nixosModules.cardano-node - ]; - - networking = { - hostName = "hydra-explorer"; - firewall = { - allowedTCPPorts = [ 25 80 443 ]; - enable = false; - }; - }; - - nix.settings.trusted-users = [ "root" ]; - - services.cardano-node = { - enable = true; - environment = "preprod"; - port = 3002; - }; - - services.openssh.enable = true; - - system.stateVersion = "24.05"; - } - ]; - }; - }; + repoRoot = ./.; + flake = args: { + nixosConfigurations = import ./nix/nixos-configs.nix args; }; + outputs = import ./nix/outputs.nix; }; nixConfig = { diff --git a/nix/nixos-configs.nix b/nix/nixos-configs.nix new file mode 100644 index 0000000..cff8364 --- /dev/null +++ b/nix/nixos-configs.nix @@ -0,0 +1,46 @@ +{ repoRoot, inputs }: +{ + nixosConfigurations = { + hydra-explorer = inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = inputs; + modules = [ + { + _module.args.nixinate = { + host = "explorer.hydra.family"; + sshUser = "root"; + buildOn = "local"; + substituteOnTarget = true; + hermetic = false; + }; + } + { + imports = [ + "${inputs.nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" + inputs.cardano-node.nixosModules.cardano-node + ]; + + networking = { + hostName = "hydra-explorer"; + firewall = { + allowedTCPPorts = [ 25 80 443 ]; + enable = false; + }; + }; + + nix.settings.trusted-users = [ "root" ]; + + services.cardano-node = { + enable = true; + environment = "preprod"; + port = 3002; + }; + + services.openssh.enable = true; + + system.stateVersion = "24.05"; + } + ]; + }; + }; +} \ No newline at end of file diff --git a/nix/outputs.nix b/nix/outputs.nix index 73672d0..e8be7fa 100644 --- a/nix/outputs.nix +++ b/nix/outputs.nix @@ -7,6 +7,9 @@ let in [ + { + apps = inputs.nixinate.nixinate."x86_64-linux" inputs.self; + } ( project.flake ) From be97ec1129dafc72868bb0511c8ed359631f59af Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Thu, 17 Oct 2024 09:28:53 +0000 Subject: [PATCH 07/25] Fix code and build --- NOTICE | 14 -- cabal.project | 7 +- hydra-explorer/LICENSE | 202 ++++++++++++++++++ hydra-explorer/hydra-explorer.cabal | 2 +- hydra-explorer/src/Hydra/Explorer.hs | 33 +-- .../src/Hydra/Explorer/ExplorerState.hs | 123 ++++++++++- hydra-explorer/src/Hydra/Explorer/Options.hs | 92 ++++++-- 7 files changed, 421 insertions(+), 52 deletions(-) delete mode 100644 NOTICE create mode 100644 hydra-explorer/LICENSE diff --git a/NOTICE b/NOTICE deleted file mode 100644 index f1f56f0..0000000 --- a/NOTICE +++ /dev/null @@ -1,14 +0,0 @@ -Copyright 2023 Input Output Global Ltd. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/cabal.project b/cabal.project index e6788c6..726226e 100644 --- a/cabal.project +++ b/cabal.project @@ -22,11 +22,12 @@ source-repository-package tag: d55c4efb896273dc39d4bdc4fc83ec361de55f73 --sha256: sha256-LziIjrdjMA8dVPKMwKskLyjlnx5HhpDwTjC9sek5Bfo= subdir: - hydra-prelude hydra-cardano-api + hydra-chain-observer + hydra-cluster + hydra-node hydra-plutus hydra-plutus-extras + hydra-prelude hydra-test-utils hydra-tx - hydra-node - hydra-cluster diff --git a/hydra-explorer/LICENSE b/hydra-explorer/LICENSE new file mode 100644 index 0000000..b6ddde7 --- /dev/null +++ b/hydra-explorer/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2021-2022] [IOG] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/hydra-explorer/hydra-explorer.cabal b/hydra-explorer/hydra-explorer.cabal index ab3fe07..48065d9 100644 --- a/hydra-explorer/hydra-explorer.cabal +++ b/hydra-explorer/hydra-explorer.cabal @@ -7,7 +7,6 @@ copyright: 2023 IOG license: Apache-2.0 license-files: LICENSE - NOTICE source-repository head type: git @@ -47,6 +46,7 @@ library , base , hydra-cardano-api , hydra-chain-observer + , hydra-tx , hydra-node , hydra-prelude , io-classes diff --git a/hydra-explorer/src/Hydra/Explorer.hs b/hydra-explorer/src/Hydra/Explorer.hs index 89843fb..e3a57c5 100644 --- a/hydra-explorer/src/Hydra/Explorer.hs +++ b/hydra-explorer/src/Hydra/Explorer.hs @@ -5,9 +5,9 @@ import Hydra.Prelude import Control.Concurrent.Class.MonadSTM (modifyTVar', newTVarIO, readTVarIO) import Hydra.API.APIServerLog (APIServerLog (..), Method (..), PathInfo (..)) -import Hydra.ChainObserver (ChainObservation) +import Hydra.ChainObserver.NodeClient (ChainObservation) import Hydra.Explorer.ExplorerState (ExplorerState (..), HeadState, TickState, aggregateHeadObservations, initialTickState) -import Hydra.Explorer.Options (Options (..), toArgStartChainFrom) +import Hydra.Explorer.Options (BlockfrostOptions (..), DirectOptions (..), Options (..), toArgProjectPath, toArgStartChainFrom) import Hydra.Logging (Tracer, Verbosity (..), traceWith, withTracer) import Hydra.Options qualified as Options import Network.Wai (Middleware, Request (..)) @@ -84,25 +84,30 @@ run opts = do (getExplorerState, modifyExplorerState) <- createExplorerState let chainObserverArgs = - Options.toArgNodeSocket nodeSocket - <> Options.toArgNetworkId networkId - <> toArgStartChainFrom startChainFrom + case opts of + DirectOpts DirectOptions{networkId, nodeSocket, startChainFrom} -> + ["direct"] + <> Options.toArgNodeSocket nodeSocket + <> Options.toArgNetworkId networkId + <> toArgStartChainFrom startChainFrom + BlockfrostOpts BlockfrostOptions{projectPath, startChainFrom} -> + ["blockfrost"] + <> toArgProjectPath projectPath + <> toArgStartChainFrom startChainFrom race_ ( withArgs chainObserverArgs $ Hydra.ChainObserver.main (observerHandler modifyExplorerState) ) (Warp.runSettings (settings tracer) (httpApp tracer getExplorerState)) where + portToBind = + case opts of + DirectOpts DirectOptions{port} -> port + BlockfrostOpts BlockfrostOptions{port} -> port + settings tracer = Warp.defaultSettings - & Warp.setPort (fromIntegral port) + & Warp.setPort (fromIntegral portToBind) & Warp.setHost "0.0.0.0" - & Warp.setBeforeMainLoop (traceWith tracer $ APIServerStarted port) + & Warp.setBeforeMainLoop (traceWith tracer $ APIServerStarted portToBind) & Warp.setOnException (\_ e -> traceWith tracer $ APIConnectionError{reason = show e}) - - Options - { networkId - , port - , nodeSocket - , startChainFrom - } = opts diff --git a/hydra-explorer/src/Hydra/Explorer/ExplorerState.hs b/hydra-explorer/src/Hydra/Explorer/ExplorerState.hs index 520fad5..e73163b 100644 --- a/hydra-explorer/src/Hydra/Explorer/ExplorerState.hs +++ b/hydra-explorer/src/Hydra/Explorer/ExplorerState.hs @@ -2,19 +2,20 @@ module Hydra.Explorer.ExplorerState where import Hydra.Prelude -import Hydra.HeadId (HeadId (..), HeadSeed) +import Hydra.Tx.HeadId (HeadId (..), HeadSeed) import Data.Aeson (Value (..)) import Hydra.Cardano.Api (BlockNo, ChainPoint (..), TxIn, UTxO) -import Hydra.Chain (HeadParameters (..), OnChainTx (..)) +import Hydra.Chain (OnChainTx (..)) import Hydra.Chain.Direct.Tx ( headSeedToTxIn, ) -import Hydra.ChainObserver (ChainObservation (..)) -import Hydra.ContestationPeriod (ContestationPeriod, toNominalDiffTime) -import Hydra.OnChainId (OnChainId) -import Hydra.Party (Party) -import Hydra.Snapshot (SnapshotNumber (..)) +import Hydra.ChainObserver.NodeClient (ChainObservation (..)) +import Hydra.Tx.ContestationPeriod (ContestationPeriod, toNominalDiffTime) +import Hydra.Tx.HeadParameters (HeadParameters (..)) +import Hydra.Tx.OnChainId (OnChainId) +import Hydra.Tx.Party (Party) +import Hydra.Tx.Snapshot (SnapshotNumber (..)) data HeadMember = HeadMember { party :: Party @@ -225,6 +226,94 @@ aggregateCollectComObservation headId point blockNo currentHeads = , blockNo = blockNo } +aggregateDepositObservation :: HeadId -> ChainPoint -> BlockNo -> [HeadState] -> [HeadState] +aggregateDepositObservation headId point blockNo currentHeads = + case findHeadState headId currentHeads of + Just headState -> + let newHeadState = headState{status = Open} + in replaceHeadState newHeadState currentHeads + Nothing -> currentHeads <> [newUnknownHeadState] + where + newUnknownHeadState = + HeadState + { headId + , seedTxIn = Unknown + , status = Open + , contestationPeriod = Unknown + , members = Unknown + , contestations = Seen 0 + , snapshotNumber = Seen 0 + , contestationDeadline = Unknown + , point = point + , blockNo = blockNo + } + +aggregateRecoverObservation :: HeadId -> ChainPoint -> BlockNo -> [HeadState] -> [HeadState] +aggregateRecoverObservation headId point blockNo currentHeads = + case findHeadState headId currentHeads of + Just headState -> + let newHeadState = headState{status = Open} + in replaceHeadState newHeadState currentHeads + Nothing -> currentHeads <> [newUnknownHeadState] + where + newUnknownHeadState = + HeadState + { headId + , seedTxIn = Unknown + , status = Open + , contestationPeriod = Unknown + , members = Unknown + , contestations = Seen 0 + , snapshotNumber = Seen 0 + , contestationDeadline = Unknown + , point = point + , blockNo = blockNo + } + +aggregateIncrementObservation :: HeadId -> ChainPoint -> BlockNo -> [HeadState] -> [HeadState] +aggregateIncrementObservation headId point blockNo currentHeads = + case findHeadState headId currentHeads of + Just headState -> + let newHeadState = headState{status = Open} + in replaceHeadState newHeadState currentHeads + Nothing -> currentHeads <> [newUnknownHeadState] + where + newUnknownHeadState = + HeadState + { headId + , seedTxIn = Unknown + , status = Open + , contestationPeriod = Unknown + , members = Unknown + , contestations = Seen 0 + , snapshotNumber = Seen 0 + , contestationDeadline = Unknown + , point = point + , blockNo = blockNo + } + +aggregateDecrementObservation :: HeadId -> ChainPoint -> BlockNo -> [HeadState] -> [HeadState] +aggregateDecrementObservation headId point blockNo currentHeads = + case findHeadState headId currentHeads of + Just headState -> + let newHeadState = headState{status = Open} + in replaceHeadState newHeadState currentHeads + Nothing -> currentHeads <> [newUnknownHeadState] + where + newUnknownHeadState = + HeadState + { headId + , seedTxIn = Unknown + , status = Open + , contestationPeriod = Unknown + , members = Unknown + , contestations = Seen 0 + , snapshotNumber = Seen 0 + , contestationDeadline = Unknown + , point = point + , blockNo = blockNo + } + aggregateCloseObservation :: HeadId -> ChainPoint -> BlockNo -> SnapshotNumber -> UTCTime -> [HeadState] -> [HeadState] aggregateCloseObservation headId point blockNo (UnsafeSnapshotNumber sn) contestationDeadline currentHeads = case findHeadState headId currentHeads of @@ -341,6 +430,26 @@ aggregateHeadObservations observations explorerState = { heads = aggregateCollectComObservation headId point blockNo heads , tick = TickState point blockNo } + HeadObservation{point, blockNo, onChainTx = OnDepositTx{headId}} -> + ExplorerState + { heads = aggregateDepositObservation headId point blockNo heads + , tick = TickState point blockNo + } + HeadObservation{point, blockNo, onChainTx = OnRecoverTx{headId}} -> + ExplorerState + { heads = aggregateRecoverObservation headId point blockNo heads + , tick = TickState point blockNo + } + HeadObservation{point, blockNo, onChainTx = OnIncrementTx{headId}} -> + ExplorerState + { heads = aggregateIncrementObservation headId point blockNo heads + , tick = TickState point blockNo + } + HeadObservation{point, blockNo, onChainTx = OnDecrementTx{headId}} -> + ExplorerState + { heads = aggregateDecrementObservation headId point blockNo heads + , tick = TickState point blockNo + } HeadObservation{point, blockNo, onChainTx = OnCloseTx{headId, snapshotNumber, contestationDeadline}} -> ExplorerState { heads = aggregateCloseObservation headId point blockNo snapshotNumber contestationDeadline heads diff --git a/hydra-explorer/src/Hydra/Explorer/Options.hs b/hydra-explorer/src/Hydra/Explorer/Options.hs index aa8c3f0..c59aaa1 100644 --- a/hydra-explorer/src/Hydra/Explorer/Options.hs +++ b/hydra-explorer/src/Hydra/Explorer/Options.hs @@ -3,17 +3,33 @@ module Hydra.Explorer.Options where import Hydra.Prelude import Hydra.Cardano.Api (ChainPoint (..), NetworkId, SlotNo (..), SocketPath, serialiseToRawBytesHexText) -import Hydra.Network (PortNumber) +import Hydra.ChainObserver.Options (projectPathParser) +import Hydra.Network (PortNumber, readPort) import Hydra.Options ( - apiPortParser, networkIdParser, nodeSocketParser, startChainFromParser, ) -import Options.Applicative (Parser, ParserInfo, fullDesc, header, helper, info, progDesc) +import Options.Applicative ( + Parser, + ParserInfo, + command, + fullDesc, + header, + help, + helper, + hsubparser, + info, + long, + maybeReader, + metavar, + option, + progDesc, + showDefault, + value, + ) -type Options :: Type -data Options = Options +data DirectOptions = DirectOptions { networkId :: NetworkId , port :: PortNumber , nodeSocket :: SocketPath @@ -21,18 +37,65 @@ data Options = Options } deriving stock (Show, Eq) -optionsParser :: Parser Options -optionsParser = - Options - <$> networkIdParser - <*> apiPortParser - <*> nodeSocketParser - <*> optional startChainFromParser +data BlockfrostOptions = BlockfrostOptions + { port :: PortNumber + , projectPath :: FilePath + , startChainFrom :: Maybe ChainPoint + } + deriving stock (Show, Eq) + +data Options = DirectOpts DirectOptions | BlockfrostOpts BlockfrostOptions + deriving stock (Show, Eq) + +apiPortParser :: Parser PortNumber +apiPortParser = + option + (maybeReader readPort) + ( long "api-port" + <> value 9090 + <> showDefault + <> metavar "PORT" + <> help "Listen port for incoming client API connections." + ) + +directOptionsParser :: Parser Options +directOptionsParser = + DirectOpts + <$> ( DirectOptions + <$> networkIdParser + <*> apiPortParser + <*> nodeSocketParser + <*> optional startChainFromParser + ) + +blockfrostOptionsParser :: Parser Options +blockfrostOptionsParser = + BlockfrostOpts + <$> ( BlockfrostOptions + <$> apiPortParser + <*> projectPathParser + <*> optional startChainFromParser + ) + +directOptionsInfo :: ParserInfo Options +directOptionsInfo = + info + directOptionsParser + (progDesc "Direct Mode") + +blockfrostOptionsInfo :: ParserInfo Options +blockfrostOptionsInfo = + info + blockfrostOptionsParser + (progDesc "Blockfrost Mode") hydraExplorerOptions :: ParserInfo Options hydraExplorerOptions = info - ( optionsParser + ( hsubparser + ( command "direct" directOptionsInfo + <> command "blockfrost" blockfrostOptionsInfo + ) <**> helper ) ( fullDesc @@ -49,3 +112,6 @@ toArgStartChainFrom = \case in ["--start-chain-from", show slotNo <> "." <> headerHashBase16] Nothing -> [] + +toArgProjectPath :: FilePath -> [String] +toArgProjectPath projectPath = ["--project-path", projectPath] From ca1eddf7c4210e409ebc427fd3a155a66cbefeca Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Thu, 17 Oct 2024 10:34:08 +0000 Subject: [PATCH 08/25] Add nixosModule --- nix/nixos-configs.nix | 8 +++-- nix/nixosModule.nix | 76 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 nix/nixosModule.nix diff --git a/nix/nixos-configs.nix b/nix/nixos-configs.nix index cff8364..c9189c4 100644 --- a/nix/nixos-configs.nix +++ b/nix/nixos-configs.nix @@ -1,6 +1,5 @@ { repoRoot, inputs }: { - nixosConfigurations = { hydra-explorer = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; @@ -18,6 +17,7 @@ imports = [ "${inputs.nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" inputs.cardano-node.nixosModules.cardano-node + (import (inputs.self + "/nix/nixosModule.nix") { inherit inputs; }) ]; networking = { @@ -33,14 +33,16 @@ services.cardano-node = { enable = true; environment = "preprod"; + socketPath = "/root/node.socket"; port = 3002; }; + services.hydra-explorer.enable = true; + services.openssh.enable = true; system.stateVersion = "24.05"; } ]; }; - }; -} \ No newline at end of file +} diff --git a/nix/nixosModule.nix b/nix/nixosModule.nix new file mode 100644 index 0000000..6a18a6e --- /dev/null +++ b/nix/nixosModule.nix @@ -0,0 +1,76 @@ +{ inputs, ... }: +{ config, pkgs, lib, ... }: + +with builtins; +with lib; + +let cfg = config.services.hydra-explorer; +in + + +{ + options = { + services.hydra-explorer = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable hydra-explorer + ''; + }; + package = mkOption { + type = types.package; + default = inputs.self.packages.x86_64-linux.hydra-explorer; + description = '' + The hydra-explorer package to use. + ''; + }; + socketPath = mkOption { + type = types.path; + default = "/root/node.socket"; + description = '' + The node socket + ''; + }; + port = mkOption { + type = types.port; + default = 9081; + description = '' + The port to run on + ''; + }; + user = mkOption { + type = types.str; + default = "root"; + description = '' + The user to run the systemd service + ''; + }; + group = mkOption { + type = types.str; + default = "root"; + description = '' + The group to run the systemd service. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.hydra-explorer = { + after = [ "cardano-node.service" ]; + enable = true; + description = "Hydra Explorer"; + unitConfig = { + Type = "simple"; + }; + serviceConfig = { + ExecStart = "${cfg.package}/bin/hydra-explorer --node-socket ${cfg.socketPath} --port ${toString cfg.port}"; + Restart = "on-failure"; + User = cfg.user; + Group = cfg.group; + }; + wantedBy = [ "multi-user.target" ]; + }; + }; +} From ca870e3072d4155c52b73a9e996db729fabf5d57 Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Wed, 23 Oct 2024 13:19:37 +0000 Subject: [PATCH 09/25] TEMP: change ip --- nix/nixos-configs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/nixos-configs.nix b/nix/nixos-configs.nix index c9189c4..fd3b1cd 100644 --- a/nix/nixos-configs.nix +++ b/nix/nixos-configs.nix @@ -6,7 +6,7 @@ modules = [ { _module.args.nixinate = { - host = "explorer.hydra.family"; + host = "13.38.81.225"; sshUser = "root"; buildOn = "local"; substituteOnTarget = true; From 041b857d5c22f1f0421004a7936d8656e43e886f Mon Sep 17 00:00:00 2001 From: Daniel Firth Date: Thu, 31 Oct 2024 12:46:03 +0000 Subject: [PATCH 10/25] README: init --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..8b40f04 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# hydra-explorer + +This is the system image repository for the hydra-explorer service. + +## Deployment + +``` +nix run .#apps.nixinate.hydra-explorer +``` From 990fea44785e9b1b5111fc5df276b4e77fce5e18 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Fri, 1 Nov 2024 13:10:03 +0000 Subject: [PATCH 11/25] Attempt to use nixos-generators to build a local version --- README.md | 11 +++++- flake.lock | 37 +++++++++++++++++++ flake.nix | 20 +++++++++-- nix/hydra-explorer-aws.nix | 26 ++++++++++++++ nix/hydra-explorer-configuration.nix | 54 ++++++++++++++++++++++++++++ nix/nixos-configs.nix | 48 ++----------------------- nix/nixosModule.nix | 14 +++++--- nix/outputs.nix | 22 ++++++++++-- 8 files changed, 175 insertions(+), 57 deletions(-) create mode 100644 nix/hydra-explorer-aws.nix create mode 100644 nix/hydra-explorer-configuration.nix diff --git a/README.md b/README.md index 8b40f04..edfc69c 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,15 @@ This is the system image repository for the hydra-explorer service. ## Deployment +```sh +nix run .#apps.x86_64-linux.nixinate.hydra-explorer ``` -nix run .#apps.nixinate.hydra-explorer + +## Testing locally + +```sh +nix build .#qemu +cp result/nixos.qcow2 . +chmod 755 nixos.qcow2 +qemu-system-x86_64 -enable-kvm -m 8000 -drive file=nixos.qcow2,media=disk,if=virtio -nic user,model=virtio ``` diff --git a/flake.lock b/flake.lock index 14b2adf..4035540 100644 --- a/flake.lock +++ b/flake.lock @@ -1837,6 +1837,42 @@ "type": "github" } }, + "nixlib": { + "locked": { + "lastModified": 1729386149, + "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixos-generators": { + "inputs": { + "nixlib": "nixlib", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729472750, + "narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=", + "owner": "nix-community", + "repo": "nixos-generators", + "rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-generators", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1653581809, @@ -2470,6 +2506,7 @@ "haskell-nix": "haskell-nix", "iogx": "iogx", "nixinate": "nixinate", + "nixos-generators": "nixos-generators", "nixpkgs": [ "haskell-nix", "nixpkgs" diff --git a/flake.nix b/flake.nix index 28a1099..7210e02 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + nixos-generators = { + url = "github:nix-community/nixos-generators"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixinate.url = "github:MatthewCroughan/nixinate"; nixpkgs.follows = "haskell-nix/nixpkgs"; @@ -43,12 +48,23 @@ ]; in inputs.iogx.lib.mkFlake { + + nixpkgsArgs.overlays = [ + (final: prev: { + hydra-explorer = builtins.throw "Bleh"; + }) + ]; + inherit inputs; inherit systems; + repoRoot = ./.; - flake = args: { - nixosConfigurations = import ./nix/nixos-configs.nix args; + + flake = _: { + nixosConfigurations.hydra-explorer = + import ./nix/hydra-explorer-aws.nix { inherit inputs; }; }; + outputs = import ./nix/outputs.nix; }; diff --git a/nix/hydra-explorer-aws.nix b/nix/hydra-explorer-aws.nix new file mode 100644 index 0000000..1b854c8 --- /dev/null +++ b/nix/hydra-explorer-aws.nix @@ -0,0 +1,26 @@ +{ inputs, ... }: +inputs.nixpkgs.lib.nixosSystem +{ + system = "x86_64-linux"; + specialArgs = inputs; + modules = [ + { + _module.args.nixinate = { + host = "13.38.81.225"; + sshUser = "root"; + buildOn = "local"; + substituteOnTarget = true; + hermetic = false; + }; + } + { + imports = [ + "${inputs.nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" + (import ./hydra-explorer-configuration.nix { + cardano-node-module = inputs.cardano-node.nixosModules.cardano-node; + hydra-explorer = inputs.self.packages.x86_64-linux.hydra-explorer; + }) + ]; + } + ]; +} diff --git a/nix/hydra-explorer-configuration.nix b/nix/hydra-explorer-configuration.nix new file mode 100644 index 0000000..bc7dc69 --- /dev/null +++ b/nix/hydra-explorer-configuration.nix @@ -0,0 +1,54 @@ +{ cardano-node-module, hydra-explorer }: +{ pkgs +, lib +, inputs +, ... +}: +{ + imports = [ + cardano-node-module + (import ./nixosModule.nix { inherit hydra-explorer; }) + ]; + + networking = { + hostName = "hydra-explorer"; + firewall = { + allowedTCPPorts = [ 25 80 443 ]; + enable = false; + }; + }; + + users.users.root = { + initialPassword = ""; # No password + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIATz/Jv+AnBft+9Q01UF07OydvgTTaTdCa+nMqabkUNl" # noonio + ]; + }; + + services.getty.autologinUser = "root"; + + nix.settings.trusted-users = [ "root" ]; + + services.cardano-node = { + enable = true; + environment = "preprod"; + socketPath = "/run/cardano-node/node.socket"; + port = 3002; + extraServiceConfig = _: + { + serviceConfig.Environment = ["CARDANO_NODE_NETWORK_ID=2"]; + }; + }; + + services.hydra-explorer = { + enable = true; + socketPath = "/run/cardano-node/node.socket"; + }; + + services.openssh = { + settings.PasswordAuthentication = false; + enable = true; + }; + + system.stateVersion = "24.05"; +} diff --git a/nix/nixos-configs.nix b/nix/nixos-configs.nix index fd3b1cd..e9c770e 100644 --- a/nix/nixos-configs.nix +++ b/nix/nixos-configs.nix @@ -1,48 +1,4 @@ -{ repoRoot, inputs }: +{ inputs, ... }: { - hydra-explorer = inputs.nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = inputs; - modules = [ - { - _module.args.nixinate = { - host = "13.38.81.225"; - sshUser = "root"; - buildOn = "local"; - substituteOnTarget = true; - hermetic = false; - }; - } - { - imports = [ - "${inputs.nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" - inputs.cardano-node.nixosModules.cardano-node - (import (inputs.self + "/nix/nixosModule.nix") { inherit inputs; }) - ]; - - networking = { - hostName = "hydra-explorer"; - firewall = { - allowedTCPPorts = [ 25 80 443 ]; - enable = false; - }; - }; - - nix.settings.trusted-users = [ "root" ]; - - services.cardano-node = { - enable = true; - environment = "preprod"; - socketPath = "/root/node.socket"; - port = 3002; - }; - - services.hydra-explorer.enable = true; - - services.openssh.enable = true; - - system.stateVersion = "24.05"; - } - ]; - }; + hydra-explorer = import ./hydra-explorer-aws.nix { inherit inputs; }; } diff --git a/nix/nixosModule.nix b/nix/nixosModule.nix index 6a18a6e..40e57ee 100644 --- a/nix/nixosModule.nix +++ b/nix/nixosModule.nix @@ -1,5 +1,9 @@ -{ inputs, ... }: -{ config, pkgs, lib, ... }: +{ hydra-explorer }: +{ config +, pkgs +, lib +, ... +}: with builtins; with lib; @@ -7,7 +11,6 @@ with lib; let cfg = config.services.hydra-explorer; in - { options = { services.hydra-explorer = { @@ -20,7 +23,7 @@ in }; package = mkOption { type = types.package; - default = inputs.self.packages.x86_64-linux.hydra-explorer; + default = hydra-explorer; description = '' The hydra-explorer package to use. ''; @@ -59,6 +62,8 @@ in config = mkIf cfg.enable { systemd.services.hydra-explorer = { after = [ "cardano-node.service" ]; + requires = [ "cardano-node.service" ]; + wantedBy = [ "multi-user.target" ]; enable = true; description = "Hydra Explorer"; unitConfig = { @@ -70,7 +75,6 @@ in User = cfg.user; Group = cfg.group; }; - wantedBy = [ "multi-user.target" ]; }; }; } diff --git a/nix/outputs.nix b/nix/outputs.nix index e8be7fa..59241db 100644 --- a/nix/outputs.nix +++ b/nix/outputs.nix @@ -1,14 +1,30 @@ { repoRoot, inputs, pkgs, lib, system }: let - project = repoRoot.nix.project; - in - [ { apps = inputs.nixinate.nixinate."x86_64-linux" inputs.self; + + # A place to hack on the image to see how it works. + packages.qemu = inputs.nixos-generators.nixosGenerate { + inherit system; + specialArgs = { + inherit + inputs; + diskSize = 10 * 1024; + }; + + format = "qcow"; + + modules = [ + (import ./hydra-explorer-configuration.nix { + cardano-node-module = inputs.cardano-node.nixosModules.cardano-node; + hydra-explorer = inputs.self.packages.x86_64-linux.hydra-explorer; + }) + ]; + }; } ( project.flake From a96519bfb90fc2e0e4626add6eb1242cd17c58f8 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Sat, 2 Nov 2024 08:18:10 +0000 Subject: [PATCH 12/25] Fix cardano-node by adding host; correct args to hydra-explorer --- .envrc | 1 + .github/workflows/ci-nix.yaml | 14 ++++++++------ .gitignore | 5 +++++ hydra-explorer/hydra-explorer.cabal | 1 + .../test/Hydra/Explorer/ExplorerStateSpec.hs | 4 ++-- nix/hydra-explorer-configuration.nix | 10 ++++------ nix/nixosModule.nix | 13 ++++++++++--- nix/project.nix | 2 +- 8 files changed, 32 insertions(+), 18 deletions(-) create mode 100644 .envrc diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index bddfe1f..68a4fbd 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -10,8 +10,6 @@ on: - master - release pull_request: - schedule: - - cron: "0 4 * * *" permissions: checks: write @@ -39,8 +37,12 @@ jobs: name: cardano-scaling authToken: '${{ secrets.CACHIX_CARDANO_SCALING_AUTH_TOKEN }}' - - name: ❓ Test + - name: ❓ Build and test run: | - nix build github:srid/devour-flake \ - -L --no-link --print-out-paths \ - --override-input flake . + nix run .#apps.x86_64-linux.hydra-explorer -- --help + + # Note: The tests need to find `json-schemas/hydra-explorer-api.yaml`; + # so they need to be run in this specific folder. + cd hydra-explorer + nix run .#apps.x86_64-linux.tests + diff --git a/.gitignore b/.gitignore index b23ba7b..4f48911 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ dist-newstyle result* + +test-results.xml +hspec-results.md + +.pre-commit-config.yaml diff --git a/hydra-explorer/hydra-explorer.cabal b/hydra-explorer/hydra-explorer.cabal index 48065d9..09162eb 100644 --- a/hydra-explorer/hydra-explorer.cabal +++ b/hydra-explorer/hydra-explorer.cabal @@ -92,6 +92,7 @@ test-suite tests , openapi3 , QuickCheck , yaml + , hydra-tx other-modules: Hydra.Explorer.ExplorerStateSpec diff --git a/hydra-explorer/test/Hydra/Explorer/ExplorerStateSpec.hs b/hydra-explorer/test/Hydra/Explorer/ExplorerStateSpec.hs index c5504cd..71bbdf7 100644 --- a/hydra-explorer/test/Hydra/Explorer/ExplorerStateSpec.hs +++ b/hydra-explorer/test/Hydra/Explorer/ExplorerStateSpec.hs @@ -3,9 +3,9 @@ module Hydra.Explorer.ExplorerStateSpec where import Hydra.Prelude import Test.Hydra.Prelude -import Hydra.ChainObserver (ChainObservation (..)) +import Hydra.ChainObserver.NodeClient (ChainObservation (..)) import Hydra.Explorer.ExplorerState (ExplorerState (..), HeadState (..), aggregateHeadObservations, initialTickState) -import Hydra.HeadId (HeadId) +import Hydra.Tx.HeadId (HeadId) import Test.QuickCheck (forAll, listOf1, (=/=)) spec :: Spec diff --git a/nix/hydra-explorer-configuration.nix b/nix/hydra-explorer-configuration.nix index bc7dc69..b4d35e6 100644 --- a/nix/hydra-explorer-configuration.nix +++ b/nix/hydra-explorer-configuration.nix @@ -31,18 +31,16 @@ services.cardano-node = { enable = true; - environment = "preprod"; - socketPath = "/run/cardano-node/node.socket"; + environment = "preview"; + hostAddr = "0.0.0.0"; port = 3002; - extraServiceConfig = _: - { - serviceConfig.Environment = ["CARDANO_NODE_NETWORK_ID=2"]; - }; + socketPath = "/run/cardano-node/node.socket"; }; services.hydra-explorer = { enable = true; socketPath = "/run/cardano-node/node.socket"; + networkArg = "--testnet-magic 2"; }; services.openssh = { diff --git a/nix/nixosModule.nix b/nix/nixosModule.nix index 40e57ee..fb9215e 100644 --- a/nix/nixosModule.nix +++ b/nix/nixosModule.nix @@ -37,9 +37,9 @@ in }; port = mkOption { type = types.port; - default = 9081; + default = 8080; description = '' - The port to run on + The api port to run on ''; }; user = mkOption { @@ -56,6 +56,13 @@ in The group to run the systemd service. ''; }; + networkArg = mkOption { + type = types.str; + default = "--testnet-magic 2"; + description = '' + A network argument,like '--testnet-magic 2' + ''; + }; }; }; @@ -70,7 +77,7 @@ in Type = "simple"; }; serviceConfig = { - ExecStart = "${cfg.package}/bin/hydra-explorer --node-socket ${cfg.socketPath} --port ${toString cfg.port}"; + ExecStart = "${cfg.package}/bin/hydra-explorer direct --node-socket ${cfg.socketPath} --api-port ${toString cfg.port} ${cfg.networkArg}"; Restart = "on-failure"; User = cfg.user; Group = cfg.group; diff --git a/nix/project.nix b/nix/project.nix index 4258cdc..6fb7bf4 100644 --- a/nix/project.nix +++ b/nix/project.nix @@ -17,7 +17,7 @@ let "https://chap.intersectmbo.org/" = inputs.iogx.inputs.CHaP; }; - name = "my-project"; + name = "hydra-explorer"; compiler-nix-name = lib.mkDefault "ghc96"; From 206a2c9e26178250e603797a4fb6ed8370640ffa Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Tue, 5 Nov 2024 13:35:57 +0000 Subject: [PATCH 13/25] Make the headers readable --- hydra-explorer/web/src/components/HeadsDashboard/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hydra-explorer/web/src/components/HeadsDashboard/index.tsx b/hydra-explorer/web/src/components/HeadsDashboard/index.tsx index 91e3a24..00e8358 100644 --- a/hydra-explorer/web/src/components/HeadsDashboard/index.tsx +++ b/hydra-explorer/web/src/components/HeadsDashboard/index.tsx @@ -16,7 +16,7 @@ const HeadsDashboard = () => { {error ? (

{error}

) : ( -
+

Total Heads

From 2815b975999620995e2719962043f611f6f204ce Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Thu, 7 Nov 2024 15:40:51 +0000 Subject: [PATCH 14/25] Static path argument; static content in nixosModule; start chain from arg --- flake.lock | 35 +++++++++++++++++++- flake.nix | 6 ++-- hydra-explorer/src/Hydra/Explorer.hs | 17 ++++++---- hydra-explorer/src/Hydra/Explorer/Options.hs | 16 +++++++++ nix/hydra-explorer-aws.nix | 3 +- nix/hydra-explorer-configuration.nix | 7 ++-- nix/nixos-configs.nix | 4 --- nix/nixosModule.nix | 27 ++++++++++++--- nix/outputs.nix | 3 ++ 9 files changed, 96 insertions(+), 22 deletions(-) delete mode 100644 nix/nixos-configs.nix diff --git a/flake.lock b/flake.lock index 4035540..86e8346 100644 --- a/flake.lock +++ b/flake.lock @@ -1722,6 +1722,24 @@ "type": "github" } }, + "nix-npm-buildpackage": { + "inputs": { + "nixpkgs": "nixpkgs_10" + }, + "locked": { + "lastModified": 1686315622, + "narHash": "sha256-ccqZqY6wUFot0ewyNKQUrMR6IEliGza+pjKoSVMXIeM=", + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "rev": "991a792bccd611842f6bc1aa99fe80380ad68d44", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "type": "github" + } + }, "nix2container": { "inputs": { "flake-utils": "flake-utils_2", @@ -1821,7 +1839,7 @@ }, "nixinate": { "inputs": { - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1708891350, @@ -2226,6 +2244,20 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1653917367, + "narHash": "sha256-04MsJC0g9kE01nBuXThMppZK+yvCZECQnUaZKSU+HJo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "437c8e6554911095f0557d524e9d2ffe1c26e33a", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1653060744, "narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=", @@ -2505,6 +2537,7 @@ "hackage": "hackage", "haskell-nix": "haskell-nix", "iogx": "iogx", + "nix-npm-buildpackage": "nix-npm-buildpackage", "nixinate": "nixinate", "nixos-generators": "nixos-generators", "nixpkgs": [ diff --git a/flake.nix b/flake.nix index 7210e02..eaa10e2 100644 --- a/flake.nix +++ b/flake.nix @@ -35,6 +35,8 @@ nixinate.url = "github:MatthewCroughan/nixinate"; + nix-npm-buildpackage.url = "github:serokell/nix-npm-buildpackage"; + nixpkgs.follows = "haskell-nix/nixpkgs"; }; @@ -50,9 +52,7 @@ inputs.iogx.lib.mkFlake { nixpkgsArgs.overlays = [ - (final: prev: { - hydra-explorer = builtins.throw "Bleh"; - }) + inputs.nix-npm-buildpackage.overlays.default ]; inherit inputs; diff --git a/hydra-explorer/src/Hydra/Explorer.hs b/hydra-explorer/src/Hydra/Explorer.hs index e3a57c5..ebac5b5 100644 --- a/hydra-explorer/src/Hydra/Explorer.hs +++ b/hydra-explorer/src/Hydra/Explorer.hs @@ -25,12 +25,13 @@ type API = :<|> Raw server :: + FilePath -> GetExplorerState -> Server API -server getExplorerState = +server staticPath getExplorerState = handleGetHeads getExplorerState :<|> handleGetTick getExplorerState - :<|> serveDirectoryFileServer "static" + :<|> serveDirectoryFileServer staticPath handleGetHeads :: GetExplorerState -> @@ -54,12 +55,12 @@ logMiddleware tracer app' req sendResponse = do } app' req sendResponse -httpApp :: Tracer IO APIServerLog -> GetExplorerState -> Application -httpApp tracer getExplorerState = +httpApp :: Tracer IO APIServerLog -> FilePath -> GetExplorerState -> Application +httpApp tracer staticPath getExplorerState = logMiddleware tracer . simpleCors . serve (Proxy @API) - $ server getExplorerState + $ server staticPath getExplorerState observerHandler :: ModifyExplorerState -> [ChainObservation] -> IO () observerHandler modifyExplorerState observations = do @@ -98,8 +99,12 @@ run opts = do ( withArgs chainObserverArgs $ Hydra.ChainObserver.main (observerHandler modifyExplorerState) ) - (Warp.runSettings (settings tracer) (httpApp tracer getExplorerState)) + (Warp.runSettings (settings tracer) (httpApp tracer staticPath getExplorerState)) where + staticPath = + case opts of + DirectOpts DirectOptions{staticFilePath} -> staticFilePath + BlockfrostOpts BlockfrostOptions{staticFilePath} -> staticFilePath portToBind = case opts of DirectOpts DirectOptions{port} -> port diff --git a/hydra-explorer/src/Hydra/Explorer/Options.hs b/hydra-explorer/src/Hydra/Explorer/Options.hs index c59aaa1..867aab6 100644 --- a/hydra-explorer/src/Hydra/Explorer/Options.hs +++ b/hydra-explorer/src/Hydra/Explorer/Options.hs @@ -27,6 +27,7 @@ import Options.Applicative ( progDesc, showDefault, value, + str ) data DirectOptions = DirectOptions @@ -34,6 +35,7 @@ data DirectOptions = DirectOptions , port :: PortNumber , nodeSocket :: SocketPath , startChainFrom :: Maybe ChainPoint + , staticFilePath :: FilePath } deriving stock (Show, Eq) @@ -41,6 +43,7 @@ data BlockfrostOptions = BlockfrostOptions { port :: PortNumber , projectPath :: FilePath , startChainFrom :: Maybe ChainPoint + , staticFilePath :: FilePath } deriving stock (Show, Eq) @@ -58,6 +61,17 @@ apiPortParser = <> help "Listen port for incoming client API connections." ) +staticFilePathParser :: Parser FilePath +staticFilePathParser = + option + str + ( long "static-path" + <> value "static" + <> showDefault + <> metavar "PATH" + <> help "Path to static files." + ) + directOptionsParser :: Parser Options directOptionsParser = DirectOpts @@ -66,6 +80,7 @@ directOptionsParser = <*> apiPortParser <*> nodeSocketParser <*> optional startChainFromParser + <*> staticFilePathParser ) blockfrostOptionsParser :: Parser Options @@ -75,6 +90,7 @@ blockfrostOptionsParser = <$> apiPortParser <*> projectPathParser <*> optional startChainFromParser + <*> staticFilePathParser ) directOptionsInfo :: ParserInfo Options diff --git a/nix/hydra-explorer-aws.nix b/nix/hydra-explorer-aws.nix index 1b854c8..372933f 100644 --- a/nix/hydra-explorer-aws.nix +++ b/nix/hydra-explorer-aws.nix @@ -6,7 +6,7 @@ inputs.nixpkgs.lib.nixosSystem modules = [ { _module.args.nixinate = { - host = "13.38.81.225"; + host = "explorer.hydra.family"; sshUser = "root"; buildOn = "local"; substituteOnTarget = true; @@ -19,6 +19,7 @@ inputs.nixpkgs.lib.nixosSystem (import ./hydra-explorer-configuration.nix { cardano-node-module = inputs.cardano-node.nixosModules.cardano-node; hydra-explorer = inputs.self.packages.x86_64-linux.hydra-explorer; + hydra-explorer-web = inputs.self.packages.x86_64-linux.hydra-explorer-web; }) ]; } diff --git a/nix/hydra-explorer-configuration.nix b/nix/hydra-explorer-configuration.nix index b4d35e6..3a8697e 100644 --- a/nix/hydra-explorer-configuration.nix +++ b/nix/hydra-explorer-configuration.nix @@ -1,4 +1,4 @@ -{ cardano-node-module, hydra-explorer }: +{ cardano-node-module, hydra-explorer, hydra-explorer-web }: { pkgs , lib , inputs @@ -7,7 +7,7 @@ { imports = [ cardano-node-module - (import ./nixosModule.nix { inherit hydra-explorer; }) + (import ./nixosModule.nix { inherit hydra-explorer hydra-explorer-web; }) ]; networking = { @@ -22,6 +22,7 @@ initialPassword = ""; # No password openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIATz/Jv+AnBft+9Q01UF07OydvgTTaTdCa+nMqabkUNl" # noonio + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEMuBv9vXsKsOsjS7B6zMOpuLw+gGGHR6hADuTeiNfKO" # locallycompact ]; }; @@ -41,6 +42,8 @@ enable = true; socketPath = "/run/cardano-node/node.socket"; networkArg = "--testnet-magic 2"; + port = 80; + startChainFrom = "49533501.e364500a42220ea47314215679b7e42e9bbb81fa69d1366fe738d8aef900f7ee"; }; services.openssh = { diff --git a/nix/nixos-configs.nix b/nix/nixos-configs.nix deleted file mode 100644 index e9c770e..0000000 --- a/nix/nixos-configs.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ inputs, ... }: -{ - hydra-explorer = import ./hydra-explorer-aws.nix { inherit inputs; }; -} diff --git a/nix/nixosModule.nix b/nix/nixosModule.nix index fb9215e..29244ff 100644 --- a/nix/nixosModule.nix +++ b/nix/nixosModule.nix @@ -1,4 +1,4 @@ -{ hydra-explorer }: +{ hydra-explorer, hydra-explorer-web }: { config , pkgs , lib @@ -28,6 +28,13 @@ in The hydra-explorer package to use. ''; }; + static-assets-path = mkOption { + type = types.package; + default = hydra-explorer-web; + description = '' + The hydra-explorer-web package to use. + ''; + }; socketPath = mkOption { type = types.path; default = "/root/node.socket"; @@ -63,6 +70,12 @@ in A network argument,like '--testnet-magic 2' ''; }; + startChainFrom = mkOption { + type = types.str; + description = '' + Block in which current master scripts were published + ''; + }; }; }; @@ -73,11 +86,15 @@ in wantedBy = [ "multi-user.target" ]; enable = true; description = "Hydra Explorer"; - unitConfig = { - Type = "simple"; - }; serviceConfig = { - ExecStart = "${cfg.package}/bin/hydra-explorer direct --node-socket ${cfg.socketPath} --api-port ${toString cfg.port} ${cfg.networkArg}"; + WorkingDirectory = "/"; + ExecStart = ''${cfg.package}/bin/hydra-explorer direct \ + --static-path ${hydra-explorer-web.out} \ + --node-socket ${cfg.socketPath} \ + --api-port ${toString cfg.port} \ + ${cfg.networkArg} \ + --start-chain-from ${cfg.startChainFrom} + ''; Restart = "on-failure"; User = cfg.user; Group = cfg.group; diff --git a/nix/outputs.nix b/nix/outputs.nix index 59241db..2c9f123 100644 --- a/nix/outputs.nix +++ b/nix/outputs.nix @@ -7,6 +7,8 @@ in { apps = inputs.nixinate.nixinate."x86_64-linux" inputs.self; + packages.hydra-explorer-web = import ../hydra-explorer/web/hydra-explorer.nix { inherit pkgs; }; + # A place to hack on the image to see how it works. packages.qemu = inputs.nixos-generators.nixosGenerate { inherit system; @@ -22,6 +24,7 @@ in (import ./hydra-explorer-configuration.nix { cardano-node-module = inputs.cardano-node.nixosModules.cardano-node; hydra-explorer = inputs.self.packages.x86_64-linux.hydra-explorer; + hydra-explorer-web = inputs.self.packages.x86_64-linux.hydra-explorer-web; }) ]; }; From c1080d2faa99323737cf132e033e4dda224dd85e Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Thu, 7 Nov 2024 16:23:38 +0000 Subject: [PATCH 15/25] Fix tests --- hydra-explorer/test/Hydra/ExplorerSpec.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hydra-explorer/test/Hydra/ExplorerSpec.hs b/hydra-explorer/test/Hydra/ExplorerSpec.hs index 25743a3..8356eeb 100644 --- a/hydra-explorer/test/Hydra/ExplorerSpec.hs +++ b/hydra-explorer/test/Hydra/ExplorerSpec.hs @@ -78,7 +78,7 @@ apiServerSpec = do Wai.get "tick" `shouldRespondWith` matchingJSONSchema componentSchemas tickSchema where - webServer = httpApp nullTracer getRandomExplorerState + webServer = httpApp nullTracer "static" getRandomExplorerState getRandomExplorerState = generate arbitrary From 927a7c4939ce0e210546c0c0d790089aca360c90 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Thu, 7 Nov 2024 16:51:02 +0000 Subject: [PATCH 16/25] More access to deploy --- nix/hydra-explorer-configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hydra-explorer-configuration.nix b/nix/hydra-explorer-configuration.nix index 3a8697e..dab72d8 100644 --- a/nix/hydra-explorer-configuration.nix +++ b/nix/hydra-explorer-configuration.nix @@ -23,6 +23,7 @@ openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIATz/Jv+AnBft+9Q01UF07OydvgTTaTdCa+nMqabkUNl" # noonio "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEMuBv9vXsKsOsjS7B6zMOpuLw+gGGHR6hADuTeiNfKO" # locallycompact + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBoR/OGSvjN2PCi2+OGeFTSTWR0aacCwK41j1gUu5UGr" # v0d1ch ]; }; From f3924188d09073807849f8193dd828928e450894 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Fri, 8 Nov 2024 08:00:27 +0000 Subject: [PATCH 17/25] Add ffankenz --- nix/hydra-explorer-configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/hydra-explorer-configuration.nix b/nix/hydra-explorer-configuration.nix index dab72d8..206e823 100644 --- a/nix/hydra-explorer-configuration.nix +++ b/nix/hydra-explorer-configuration.nix @@ -24,6 +24,7 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIATz/Jv+AnBft+9Q01UF07OydvgTTaTdCa+nMqabkUNl" # noonio "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEMuBv9vXsKsOsjS7B6zMOpuLw+gGGHR6hADuTeiNfKO" # locallycompact "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBoR/OGSvjN2PCi2+OGeFTSTWR0aacCwK41j1gUu5UGr" # v0d1ch + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBtamRlrHLKLzr8Pcm3qEgdbJh7vCjMO4tm0wbW3REYL" # ffakenz ]; }; From 1f7e93605de8ce7ffa21937bbcaef295a1586d81 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Fri, 8 Nov 2024 11:00:00 +0000 Subject: [PATCH 18/25] Bring over final spec test; still failing at present --- flake.lock | 4277 ++++++++++++++--- flake.nix | 6 + hydra-explorer/hydra-explorer.cabal | 7 + .../test/Hydra/Explorer/HydraExplorerSpec.hs | 159 + nix/shell.nix | 64 +- 5 files changed, 3835 insertions(+), 678 deletions(-) create mode 100644 hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs diff --git a/flake.lock b/flake.lock index 86e8346..027ffd5 100644 --- a/flake.lock +++ b/flake.lock @@ -34,6 +34,40 @@ "type": "github" } }, + "CHaP_3": { + "flake": false, + "locked": { + "lastModified": 1728663083, + "narHash": "sha256-ejmJzPYPKdIwN53Arz3ycNcMO1YnS4k4uSBC7XeBRsQ=", + "owner": "IntersectMBO", + "repo": "cardano-haskell-packages", + "rev": "16d7391e69a69b9954acf097ffca3bda61a4faf0", + "type": "github" + }, + "original": { + "owner": "IntersectMBO", + "ref": "repo", + "repo": "cardano-haskell-packages", + "type": "github" + } + }, + "CHaP_4": { + "flake": false, + "locked": { + "lastModified": 1725978043, + "narHash": "sha256-3AwgQ308g74rISxUlbzQRX3At0trVoH836vBwkcFFYg=", + "owner": "intersectmbo", + "repo": "cardano-haskell-packages", + "rev": "ce5ba82d474225506523e66a4050718de7e2b3fe", + "type": "github" + }, + "original": { + "owner": "intersectmbo", + "ref": "repo", + "repo": "cardano-haskell-packages", + "type": "github" + } + }, "HTTP": { "flake": false, "locked": { @@ -66,6 +100,58 @@ "type": "github" } }, + "HTTP_3": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "HTTP_4": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "aiken": { + "inputs": { + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_8", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1727863681, + "narHash": "sha256-lzSItBMYcZ7Q92+u/8XFoFgwslfkUBf8RqsunrIoruQ=", + "owner": "aiken-lang", + "repo": "aiken", + "rev": "c7ae161a39c29656938ce1c8d4f674e387980022", + "type": "github" + }, + "original": { + "owner": "aiken-lang", + "repo": "aiken", + "type": "github" + } + }, "blank": { "locked": { "lastModified": 1625557891, @@ -96,6 +182,36 @@ "type": "github" } }, + "blank_3": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "blank", + "type": "github" + } + }, + "blank_4": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "blank", + "type": "github" + } + }, "blst": { "flake": false, "locked": { @@ -130,6 +246,40 @@ "type": "github" } }, + "blst_3": { + "flake": false, + "locked": { + "lastModified": 1691598027, + "narHash": "sha256-oqljy+ZXJAXEB/fJtmB8rlAr4UXM+Z2OkDa20gpILNA=", + "owner": "supranational", + "repo": "blst", + "rev": "3dd0f804b1819e5d03fb22ca2e6fac105932043a", + "type": "github" + }, + "original": { + "owner": "supranational", + "ref": "v0.3.11", + "repo": "blst", + "type": "github" + } + }, + "blst_4": { + "flake": false, + "locked": { + "lastModified": 1691598027, + "narHash": "sha256-oqljy+ZXJAXEB/fJtmB8rlAr4UXM+Z2OkDa20gpILNA=", + "owner": "supranational", + "repo": "blst", + "rev": "3dd0f804b1819e5d03fb22ca2e6fac105932043a", + "type": "github" + }, + "original": { + "owner": "supranational", + "ref": "v0.3.11", + "repo": "blst", + "type": "github" + } + }, "cabal-32": { "flake": false, "locked": { @@ -164,6 +314,40 @@ "type": "github" } }, + "cabal-32_3": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, + "cabal-32_4": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, "cabal-34": { "flake": false, "locked": { @@ -198,6 +382,40 @@ "type": "github" } }, + "cabal-34_3": { + "flake": false, + "locked": { + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "owner": "haskell", + "repo": "cabal", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, + "cabal-34_4": { + "flake": false, + "locked": { + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "owner": "haskell", + "repo": "cabal", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, "cabal-36": { "flake": false, "locked": { @@ -232,6 +450,40 @@ "type": "github" } }, + "cabal-36_3": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36_4": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, "call-flake": { "locked": { "lastModified": 1687380775, @@ -247,6 +499,21 @@ "type": "github" } }, + "call-flake_2": { + "locked": { + "lastModified": 1687380775, + "narHash": "sha256-bmhE1TmrJG4ba93l9WQTLuYM53kwGQAjYHRvHOeuxWU=", + "owner": "divnix", + "repo": "call-flake", + "rev": "74061f6c241227cd05e79b702db9a300a2e4131a", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "call-flake", + "type": "github" + } + }, "cardano-automation": { "inputs": { "flake-utils": "flake-utils", @@ -274,17 +541,65 @@ "type": "github" } }, - "cardano-mainnet-mirror": { + "cardano-automation_2": { "inputs": { - "nixpkgs": "nixpkgs_4" + "flake-utils": "flake-utils_6", + "haskellNix": [ + "hydra-node", + "cardano-node", + "haskellNix" + ], + "nixpkgs": [ + "hydra-node", + "cardano-node", + "nixpkgs" + ], + "tullia": "tullia_2" }, "locked": { - "lastModified": 1642701714, - "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", + "lastModified": 1679408951, + "narHash": "sha256-xM78upkrXjRu/739V/IxFrA9m+6rvgOiolt4ReKLAog=", "owner": "input-output-hk", - "repo": "cardano-mainnet-mirror", - "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", - "type": "github" + "repo": "cardano-automation", + "rev": "628f135d243d4a9e388c187e4c6179246038ee72", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-automation", + "type": "github" + } + }, + "cardano-mainnet-mirror": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1642701714, + "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", + "owner": "input-output-hk", + "repo": "cardano-mainnet-mirror", + "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "nix", + "repo": "cardano-mainnet-mirror", + "type": "github" + } + }, + "cardano-mainnet-mirror_2": { + "inputs": { + "nixpkgs": "nixpkgs_13" + }, + "locked": { + "lastModified": 1642701714, + "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", + "owner": "input-output-hk", + "repo": "cardano-mainnet-mirror", + "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", + "type": "github" }, "original": { "owner": "input-output-hk", @@ -333,6 +648,48 @@ "type": "github" } }, + "cardano-node_2": { + "inputs": { + "CHaP": "CHaP_4", + "cardano-automation": "cardano-automation_2", + "cardano-mainnet-mirror": "cardano-mainnet-mirror_2", + "customConfig": "customConfig_2", + "em": "em_2", + "empty-flake": "empty-flake_2", + "flake-compat": "flake-compat_6", + "hackageNix": "hackageNix_2", + "haskellNix": "haskellNix_2", + "hostNixpkgs": [ + "hydra-node", + "cardano-node", + "nixpkgs" + ], + "iohkNix": "iohkNix_2", + "nixpkgs": [ + "hydra-node", + "cardano-node", + "haskellNix", + "nixpkgs-unstable" + ], + "ops-lib": "ops-lib_2", + "std": "std_4", + "utils": "utils_4" + }, + "locked": { + "lastModified": 1726677789, + "narHash": "sha256-utAO4ZP9EAW4LdMT/hdMoykwT/h9gizoVvCbmYfAZSQ=", + "owner": "intersectmbo", + "repo": "cardano-node", + "rev": "341ea87ba3b4936188f8c2d4f09bbf1976a7926e", + "type": "github" + }, + "original": { + "owner": "intersectmbo", + "ref": "9.2.0", + "repo": "cardano-node", + "type": "github" + } + }, "cardano-shell": { "flake": false, "locked": { @@ -365,6 +722,61 @@ "type": "github" } }, + "cardano-shell_3": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_4": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "crane": { + "inputs": { + "nixpkgs": [ + "hydra-node", + "mithril", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1720226507, + "narHash": "sha256-yHVvNsgrpyNTXZBEokL8uyB2J6gB1wEx0KOJzoeZi1A=", + "owner": "ipetkov", + "repo": "crane", + "rev": "0aed560c5c0a61c9385bddff471a13036203e11c", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "ref": "v0.18.0", + "repo": "crane", + "type": "github" + } + }, "customConfig": { "locked": { "lastModified": 1630400035, @@ -380,6 +792,21 @@ "type": "github" } }, + "customConfig_2": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, "devshell": { "inputs": { "flake-utils": [ @@ -411,6 +838,39 @@ "type": "github" } }, + "devshell_2": { + "inputs": { + "flake-utils": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixpkgs": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1663445644, + "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", + "owner": "numtide", + "repo": "devshell", + "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "dmerge": { "inputs": { "nixlib": [ @@ -475,9 +935,78 @@ "type": "github" } }, + "dmerge_3": { + "inputs": { + "nixlib": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ], + "yants": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1659548052, + "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", + "owner": "divnix", + "repo": "data-merge", + "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "data-merge", + "type": "github" + } + }, + "dmerge_4": { + "inputs": { + "haumea": [ + "hydra-node", + "cardano-node", + "std", + "haumea" + ], + "nixlib": [ + "hydra-node", + "cardano-node", + "std", + "lib" + ], + "yants": [ + "hydra-node", + "cardano-node", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1686862774, + "narHash": "sha256-ojGtRQ9pIOUrxsQEuEPerUkqIJEuod9hIflfNkY+9CE=", + "owner": "divnix", + "repo": "dmerge", + "rev": "9f7f7a8349d33d7bd02e0f2b484b1f076e503a96", + "type": "github" + }, + "original": { + "owner": "divnix", + "ref": "0.2.1", + "repo": "dmerge", + "type": "github" + } + }, "easy-purescript-nix": { "inputs": { - "flake-utils": "flake-utils_5" + "flake-utils": "flake-utils_11" }, "locked": { "lastModified": 1710161569, @@ -509,6 +1038,22 @@ "type": "github" } }, + "em_2": { + "flake": false, + "locked": { + "lastModified": 1685015066, + "narHash": "sha256-etAdEoYhtvjTw1ITh28WPNfwvvb5t/fpwCP6s7odSiQ=", + "owner": "deepfire", + "repo": "em", + "rev": "af69bb5c2ac2161434d8fea45f920f8f359587ce", + "type": "github" + }, + "original": { + "owner": "deepfire", + "repo": "em", + "type": "github" + } + }, "empty-flake": { "locked": { "lastModified": 1630400035, @@ -524,6 +1069,21 @@ "type": "github" } }, + "empty-flake_2": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -540,24 +1100,40 @@ "type": "github" } }, - "flake-compat_2": { + "flake-compat_10": { "flake": false, "locked": { - "lastModified": 1647532380, - "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", - "owner": "input-output-hk", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "fixes", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } }, - "flake-compat_3": { + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "fixes", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1672831974, @@ -592,12 +1168,13 @@ } }, "flake-compat_5": { + "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { @@ -608,6 +1185,56 @@ }, "flake-compat_6": { "flake": false, + "locked": { + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "fixes", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_9": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -622,6 +1249,60 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1725234343, + "narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "567b938d64d4b4112ee253b9274472dc3a346eb6", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -637,6 +1318,75 @@ "type": "github" } }, + "flake-utils_10": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_11": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_12": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_13": { + "inputs": { + "systems": "systems_6" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_2": { "locked": { "lastModified": 1653893745, @@ -687,11 +1437,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "type": "github" }, "original": { @@ -701,15 +1451,12 @@ } }, "flake-utils_6": { - "inputs": { - "systems": "systems_3" - }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -719,15 +1466,42 @@ } }, "flake-utils_7": { - "inputs": { - "systems": "systems_4" + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_8": { "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_9": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -736,6 +1510,22 @@ "type": "github" } }, + "formal-ledger": { + "flake": false, + "locked": { + "lastModified": 1718812337, + "narHash": "sha256-3zAxfOEs/Ff5g13493iZGGhcvYaSOJNkQLN/G3/AhiY=", + "owner": "IntersectMBO", + "repo": "formal-ledger-specifications", + "rev": "6129d97a0419f8d920e3ed63e192f34cbaf65cc6", + "type": "github" + }, + "original": { + "owner": "IntersectMBO", + "repo": "formal-ledger-specifications", + "type": "github" + } + }, "ghc-8.6.5-iohk": { "flake": false, "locked": { @@ -770,6 +1560,40 @@ "type": "github" } }, + "ghc-8.6.5-iohk_3": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "ghc-8.6.5-iohk_4": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, "ghc910X": { "flake": false, "locked": { @@ -789,11 +1613,48 @@ "url": "https://gitlab.haskell.org/ghc/ghc" } }, - "ghc911": { + "ghc910X_2": { "flake": false, "locked": { - "lastModified": 1714817013, - "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", + "lastModified": 1714520650, + "narHash": "sha256-4uz6RA1hRr0RheGNDM49a/B3jszqNNU8iHIow4mSyso=", + "ref": "ghc-9.10", + "rev": "2c6375b9a804ac7fca1e82eb6fcfc8594c67c5f5", + "revCount": 62663, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "ref": "ghc-9.10", + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc911": { + "flake": false, + "locked": { + "lastModified": 1714817013, + "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", + "ref": "refs/heads/master", + "rev": "fc24c5cf6c62ca9e3c8d236656e139676df65034", + "revCount": 62816, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc911_2": { + "flake": false, + "locked": { + "lastModified": 1714817013, + "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", "ref": "refs/heads/master", "rev": "fc24c5cf6c62ca9e3c8d236656e139676df65034", "revCount": 62816, @@ -848,6 +1709,25 @@ "type": "github" } }, + "gomod2nix_2": { + "inputs": { + "nixpkgs": "nixpkgs_10", + "utils": "utils_3" + }, + "locked": { + "lastModified": 1655245309, + "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", + "owner": "tweag", + "repo": "gomod2nix", + "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "gomod2nix", + "type": "github" + } + }, "hackage": { "flake": false, "locked": { @@ -880,6 +1760,38 @@ "type": "github" } }, + "hackageNix_2": { + "flake": false, + "locked": { + "lastModified": 1725928375, + "narHash": "sha256-XO/6kJ77bR99bAuRGr9PleQX75vde5CbSU+6Xf3e8NQ=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "68cfb288b958e9d7a1329df614684132f44bd2b3", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "hackage_2": { + "flake": false, + "locked": { + "lastModified": 1728865757, + "narHash": "sha256-DzxFSTuiXPEDB59v4sS0K57UhR70cxYtj8F52y9Mi4k=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "8f2ba6cde8ee8f8eac0593284c3465e39c51a50a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, "haskell-nix": { "inputs": { "HTTP": "HTTP_2", @@ -992,6 +1904,119 @@ "type": "github" } }, + "haskellNix_2": { + "inputs": { + "HTTP": "HTTP_3", + "cabal-32": "cabal-32_3", + "cabal-34": "cabal-34_3", + "cabal-36": "cabal-36_3", + "cardano-shell": "cardano-shell_3", + "flake-compat": "flake-compat_7", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_3", + "ghc910X": "ghc910X_2", + "ghc911": "ghc911_2", + "hackage": [ + "hydra-node", + "cardano-node", + "hackageNix" + ], + "hls-1.10": "hls-1.10_3", + "hls-2.0": "hls-2.0_3", + "hls-2.2": "hls-2.2_3", + "hls-2.3": "hls-2.3_3", + "hls-2.4": "hls-2.4_3", + "hls-2.5": "hls-2.5_3", + "hls-2.6": "hls-2.6_3", + "hls-2.7": "hls-2.7_3", + "hls-2.8": "hls-2.8_3", + "hls-2.9": "hls-2.9_3", + "hpc-coveralls": "hpc-coveralls_3", + "hydra": "hydra_3", + "iserv-proxy": "iserv-proxy_3", + "nixpkgs": [ + "hydra-node", + "cardano-node", + "nixpkgs" + ], + "nixpkgs-2003": "nixpkgs-2003_3", + "nixpkgs-2105": "nixpkgs-2105_3", + "nixpkgs-2111": "nixpkgs-2111_3", + "nixpkgs-2205": "nixpkgs-2205_3", + "nixpkgs-2211": "nixpkgs-2211_3", + "nixpkgs-2305": "nixpkgs-2305_3", + "nixpkgs-2311": "nixpkgs-2311_3", + "nixpkgs-unstable": "nixpkgs-unstable_3", + "old-ghc-nix": "old-ghc-nix_3", + "stackage": "stackage_3" + }, + "locked": { + "lastModified": 1718797200, + "narHash": "sha256-ueFxTuZrQ3ZT/Fj5sSeUWlqKa4+OkUU1xW0E+q/XTfw=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "cb139fa956158397aa398186bb32dd26f7318784", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "haskellNix_3": { + "inputs": { + "HTTP": "HTTP_4", + "cabal-32": "cabal-32_4", + "cabal-34": "cabal-34_4", + "cabal-36": "cabal-36_4", + "cardano-shell": "cardano-shell_4", + "flake-compat": "flake-compat_8", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_4", + "hackage": "hackage_2", + "hls-1.10": "hls-1.10_4", + "hls-2.0": "hls-2.0_4", + "hls-2.2": "hls-2.2_4", + "hls-2.3": "hls-2.3_4", + "hls-2.4": "hls-2.4_4", + "hls-2.5": "hls-2.5_4", + "hls-2.6": "hls-2.6_4", + "hls-2.7": "hls-2.7_4", + "hls-2.8": "hls-2.8_4", + "hls-2.9": "hls-2.9_4", + "hpc-coveralls": "hpc-coveralls_4", + "hydra": "hydra_4", + "iserv-proxy": "iserv-proxy_4", + "nixpkgs": [ + "hydra-node", + "haskellNix", + "nixpkgs-unstable" + ], + "nixpkgs-2003": "nixpkgs-2003_4", + "nixpkgs-2105": "nixpkgs-2105_4", + "nixpkgs-2111": "nixpkgs-2111_4", + "nixpkgs-2205": "nixpkgs-2205_4", + "nixpkgs-2211": "nixpkgs-2211_4", + "nixpkgs-2305": "nixpkgs-2305_4", + "nixpkgs-2311": "nixpkgs-2311_4", + "nixpkgs-2405": "nixpkgs-2405_2", + "nixpkgs-unstable": "nixpkgs-unstable_4", + "old-ghc-nix": "old-ghc-nix_4", + "stackage": "stackage_4" + }, + "locked": { + "lastModified": 1728867069, + "narHash": "sha256-acQ+3ZTHDKhujhiaCmKJstJlJsRaFgglP3W5FFvZjy8=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "5de65a1fb68cae2a7503eac9f1c314568227d764", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, "haumea": { "inputs": { "nixpkgs": [ @@ -1015,24 +2040,47 @@ "type": "github" } }, - "hls-1.10": { + "haumea_2": { + "inputs": { + "nixpkgs": [ + "hydra-node", + "cardano-node", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1685133229, + "narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=", + "owner": "nix-community", + "repo": "haumea", + "rev": "34dd58385092a23018748b50f9b23de6266dffc2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.2.2", + "repo": "haumea", + "type": "github" + } + }, + "hls": { "flake": false, "locked": { - "lastModified": 1680000865, - "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", + "lastModified": 1720542277, + "narHash": "sha256-6MWZpMYB+5VDmQavRzlbItbXqYxuKvvI2F/pahgo7NE=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", + "rev": "d331019b3715d3fe78684b170ad1aec06a2c833d", "type": "github" }, "original": { "owner": "haskell", - "ref": "1.10.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-1.10_2": { + "hls-1.10": { "flake": false, "locked": { "lastModified": 1680000865, @@ -1049,1191 +2097,2655 @@ "type": "github" } }, - "hls-2.0": { + "hls-1.10_2": { "flake": false, "locked": { - "lastModified": 1687698105, - "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "783905f211ac63edf982dd1889c671653327e441", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.0.0.1", + "ref": "1.10.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.0_2": { + "hls-1.10_3": { "flake": false, "locked": { - "lastModified": 1687698105, - "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "783905f211ac63edf982dd1889c671653327e441", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.0.0.1", + "ref": "1.10.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.2": { + "hls-1.10_4": { "flake": false, "locked": { - "lastModified": 1693064058, - "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.2.0.0", + "ref": "1.10.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.2_2": { + "hls-2.0": { "flake": false, "locked": { - "lastModified": 1693064058, - "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.2.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.3": { + "hls-2.0_2": { "flake": false, "locked": { - "lastModified": 1695910642, - "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.3.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.3_2": { + "hls-2.0_3": { "flake": false, "locked": { - "lastModified": 1695910642, - "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.3.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.4": { + "hls-2.0_4": { "flake": false, "locked": { - "lastModified": 1699862708, - "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.4.0.1", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.4_2": { + "hls-2.2": { "flake": false, "locked": { - "lastModified": 1699862708, - "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.4.0.1", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.5": { + "hls-2.2_2": { "flake": false, "locked": { - "lastModified": 1701080174, - "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.5.0.0", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.5_2": { + "hls-2.2_3": { "flake": false, "locked": { - "lastModified": 1701080174, - "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.5.0.0", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.6": { + "hls-2.2_4": { "flake": false, "locked": { - "lastModified": 1705325287, - "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.6.0.0", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.6_2": { + "hls-2.3": { "flake": false, "locked": { - "lastModified": 1705325287, - "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.6.0.0", + "ref": "2.3.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.7": { + "hls-2.3_2": { "flake": false, "locked": { - "lastModified": 1708965829, - "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.7.0.0", + "ref": "2.3.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.7_2": { + "hls-2.3_3": { "flake": false, "locked": { - "lastModified": 1708965829, - "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.7.0.0", + "ref": "2.3.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.8": { + "hls-2.3_4": { "flake": false, "locked": { - "lastModified": 1715153580, - "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.8.0.0", + "ref": "2.3.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.8_2": { + "hls-2.4": { "flake": false, "locked": { - "lastModified": 1715153580, - "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.8.0.0", + "ref": "2.4.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.9": { + "hls-2.4_2": { "flake": false, "locked": { - "lastModified": 1718469202, - "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.9.0.1", + "ref": "2.4.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.9_2": { + "hls-2.4_3": { "flake": false, "locked": { - "lastModified": 1720003792, - "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.9.0.1", + "ref": "2.4.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls": { + "hls-2.4_4": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_2": { + "hls-2.5": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hydra": { - "inputs": { - "nix": "nix", - "nixpkgs": [ - "cardano-node", - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hls-2.5_2": { + "flake": false, "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", + "type": "github" } }, - "hydra_2": { - "inputs": { - "nix": "nix_2", - "nixpkgs": [ - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hls-2.5_3": { + "flake": false, "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", + "type": "github" } }, - "incl": { - "inputs": { - "nixlib": [ - "cardano-node", - "std", - "lib" - ] - }, + "hls-2.5_4": { + "flake": false, "locked": { - "lastModified": 1669263024, - "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", - "owner": "divnix", - "repo": "incl", - "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", "type": "github" }, "original": { - "owner": "divnix", - "repo": "incl", + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "iogx": { - "inputs": { - "CHaP": [ - "CHaP" - ], - "easy-purescript-nix": "easy-purescript-nix", - "flake-compat": "flake-compat_5", - "flake-utils": "flake-utils_6", - "hackage": [ - "hackage" - ], - "haskell-nix": [ - "haskell-nix" - ], - "iohk-nix": "iohk-nix", - "nix2container": "nix2container_2", - "nixpkgs": [ - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable", - "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "sphinxcontrib-haddock": "sphinxcontrib-haddock" - }, + "hls-2.6": { + "flake": false, "locked": { - "lastModified": 1728426320, - "narHash": "sha256-QzAp7Q9wU0quZe6zhYd02FZlPc2gLrxloVPMAz5lFPA=", - "owner": "input-output-hk", - "repo": "iogx", - "rev": "b938d477101397afb2b9bae8aeaaaea310bc72d1", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iogx", + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "iohk-nix": { - "inputs": { - "blst": "blst_2", - "nixpkgs": [ - "iogx", - "nixpkgs" - ], - "secp256k1": "secp256k1_2", - "sodium": "sodium_2" - }, + "hls-2.6_2": { + "flake": false, "locked": { - "lastModified": 1721825987, - "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "iohkNix": { - "inputs": { - "blst": "blst", - "nixpkgs": [ - "cardano-node", - "nixpkgs" - ], - "secp256k1": "secp256k1", - "sodium": "sodium" - }, + "hls-2.6_3": { + "flake": false, "locked": { - "lastModified": 1721825987, - "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "iserv-proxy": { + "hls-2.6_4": { "flake": false, "locked": { - "lastModified": 1717479972, - "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", - "owner": "stable-haskell", - "repo": "iserv-proxy", - "rev": "2ed34002247213fc435d0062350b91bab920626e", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { - "owner": "stable-haskell", - "ref": "iserv-syms", - "repo": "iserv-proxy", + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "iserv-proxy_2": { + "hls-2.7": { "flake": false, "locked": { - "lastModified": 1717479972, - "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", - "owner": "stable-haskell", - "repo": "iserv-proxy", - "rev": "2ed34002247213fc435d0062350b91bab920626e", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { - "owner": "stable-haskell", - "ref": "iserv-syms", - "repo": "iserv-proxy", + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "lib": { + "hls-2.7_2": { + "flake": false, "locked": { - "lastModified": 1694306727, - "narHash": "sha256-26fkTOJOI65NOTNKFvtcJF9mzzf/kK9swHzfYt1Dl6Q=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "c30b6a84c0b84ec7aecbe74466033facc9ed103f", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "lowdown-src": { + "hls-2.7_3": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "lowdown-src_2": { + "hls-2.7_4": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "mdbook-kroki-preprocessor": { + "hls-2.8": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "n2c": { - "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": [ - "cardano-node", - "cardano-automation", - "tullia", - "std", - "nixpkgs" - ] - }, + "hls-2.8_2": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "nix": { - "inputs": { - "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_5", - "nixpkgs-regression": "nixpkgs-regression" - }, + "hls-2.8_3": { + "flake": false, "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", - "owner": "NixOS", - "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "2.11.0", - "repo": "nix", + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "nix-nomad": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": [ - "cardano-node", - "cardano-automation", - "tullia", - "nix2container", - "flake-utils" - ], - "gomod2nix": "gomod2nix", - "nixpkgs": [ - "cardano-node", - "cardano-automation", - "tullia", - "nixpkgs" - ], - "nixpkgs-lib": [ - "cardano-node", - "cardano-automation", - "tullia", - "nixpkgs" - ] - }, + "hls-2.8_4": { + "flake": false, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "nix-npm-buildpackage": { - "inputs": { - "nixpkgs": "nixpkgs_10" - }, + "hls-2.9": { + "flake": false, "locked": { - "lastModified": 1686315622, - "narHash": "sha256-ccqZqY6wUFot0ewyNKQUrMR6IEliGza+pjKoSVMXIeM=", - "owner": "serokell", - "repo": "nix-npm-buildpackage", - "rev": "991a792bccd611842f6bc1aa99fe80380ad68d44", + "lastModified": 1718469202, + "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", "type": "github" }, "original": { - "owner": "serokell", - "repo": "nix-npm-buildpackage", + "owner": "haskell", + "ref": "2.9.0.1", + "repo": "haskell-language-server", "type": "github" } }, - "nix2container": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_2" - }, + "hls-2.9_2": { + "flake": false, "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1720003792, + "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "haskell", + "ref": "2.9.0.1", + "repo": "haskell-language-server", "type": "github" } }, - "nix2container_2": { - "inputs": { - "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_8" - }, + "hls-2.9_3": { + "flake": false, "locked": { - "lastModified": 1724996935, - "narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "fa6bb0a1159f55d071ba99331355955ae30b3401", + "lastModified": 1718469202, + "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "haskell", + "ref": "2.9.0.1", + "repo": "haskell-language-server", "type": "github" } }, - "nix_2": { + "hls-2.9_4": { + "flake": false, + "locked": { + "lastModified": 1720003792, + "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.9.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hpc-coveralls": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_2": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_3": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_4": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hydra": { "inputs": { - "lowdown-src": "lowdown-src_2", - "nixpkgs": "nixpkgs_7", - "nixpkgs-regression": "nixpkgs-regression_2" + "nix": "nix", + "nixpkgs": [ + "cardano-node", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", "owner": "NixOS", - "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "hydra-node": { + "inputs": { + "CHaP": "CHaP_3", + "aiken": "aiken", + "cardano-node": "cardano-node_2", + "flake-parts": "flake-parts", + "haskellNix": "haskellNix_3", + "hls": "hls", + "hydra-spec": "hydra-spec", + "iohk-nix": "iohk-nix", + "lint-utils": "lint-utils", + "mithril": "mithril", + "nix-npm-buildpackage": "nix-npm-buildpackage", + "nixpkgs": [ + "hydra-node", + "haskellNix", + "nixpkgs" + ], + "nixpkgsLatest": "nixpkgsLatest", + "process-compose-flake": "process-compose-flake" + }, + "locked": { + "lastModified": 1729069651, + "narHash": "sha256-LziIjrdjMA8dVPKMwKskLyjlnx5HhpDwTjC9sek5Bfo=", + "owner": "cardano-scaling", + "repo": "hydra", + "rev": "d55c4efb896273dc39d4bdc4fc83ec361de55f73", + "type": "github" + }, + "original": { + "owner": "cardano-scaling", + "repo": "hydra", + "rev": "d55c4efb896273dc39d4bdc4fc83ec361de55f73", + "type": "github" + } + }, + "hydra-spec": { + "inputs": { + "flake-parts": "flake-parts_2", + "formal-ledger": "formal-ledger", + "nixpkgs": "nixpkgs_17" + }, + "locked": { + "lastModified": 1725260503, + "narHash": "sha256-PV3JrSImQCK048+lE474BJMGP24jMh/9F6uEV+UP0qg=", + "owner": "cardano-scaling", + "repo": "hydra-formal-specification", + "rev": "34ea7455d151c239eb12ec5b0b0cb28ab2cc1df7", "type": "github" }, "original": { + "owner": "cardano-scaling", + "repo": "hydra-formal-specification", + "type": "github" + } + }, + "hydra_2": { + "inputs": { + "nix": "nix_2", + "nixpkgs": [ + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", "owner": "NixOS", - "ref": "2.11.0", - "repo": "nix", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" } }, - "nixago": { + "hydra_3": { "inputs": { - "flake-utils": [ + "nix": "nix_3", + "nixpkgs": [ + "hydra-node", "cardano-node", - "cardano-automation", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "hydra_4": { + "inputs": { + "nix": "nix_4", + "nixpkgs": [ + "hydra-node", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "incl": { + "inputs": { + "nixlib": [ "cardano-node", - "cardano-automation", - "tullia", "std", - "blank" - ], - "nixpkgs": [ + "lib" + ] + }, + "locked": { + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "incl", + "type": "github" + } + }, + "incl_2": { + "inputs": { + "nixlib": [ + "hydra-node", "cardano-node", - "cardano-automation", - "tullia", "std", - "nixpkgs" + "lib" ] }, "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "incl", + "type": "github" + } + }, + "iogx": { + "inputs": { + "CHaP": [ + "CHaP" + ], + "easy-purescript-nix": "easy-purescript-nix", + "flake-compat": "flake-compat_9", + "flake-utils": "flake-utils_12", + "hackage": [ + "hackage" + ], + "haskell-nix": [ + "haskell-nix" + ], + "iohk-nix": "iohk-nix_2", + "nix2container": "nix2container_3", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable", + "pre-commit-hooks-nix": "pre-commit-hooks-nix", + "sphinxcontrib-haddock": "sphinxcontrib-haddock" + }, + "locked": { + "lastModified": 1728426320, + "narHash": "sha256-QzAp7Q9wU0quZe6zhYd02FZlPc2gLrxloVPMAz5lFPA=", + "owner": "input-output-hk", + "repo": "iogx", + "rev": "b938d477101397afb2b9bae8aeaaaea310bc72d1", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iogx", + "type": "github" + } + }, + "iohk-nix": { + "inputs": { + "blst": "blst_3", + "nixpkgs": "nixpkgs_18", + "secp256k1": "secp256k1_3", + "sodium": "sodium_3" + }, + "locked": { + "lastModified": 1720562356, + "narHash": "sha256-zXkH6dbj4vMKB0Af8IRMMT6KuY7Kt4YMm43vsTgeWX8=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "df8c2d1b5e8e0ad1d44e7def596f930c39296baa", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "type": "github" + } + }, + "iohk-nix_2": { + "inputs": { + "blst": "blst_4", + "nixpkgs": [ + "iogx", + "nixpkgs" + ], + "secp256k1": "secp256k1_4", + "sodium": "sodium_4" + }, + "locked": { + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "type": "github" + } + }, + "iohkNix": { + "inputs": { + "blst": "blst", + "nixpkgs": [ + "cardano-node", + "nixpkgs" + ], + "secp256k1": "secp256k1", + "sodium": "sodium" + }, + "locked": { + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "type": "github" + } + }, + "iohkNix_2": { + "inputs": { + "blst": "blst_2", + "nixpkgs": [ + "hydra-node", + "cardano-node", + "nixpkgs" + ], + "secp256k1": "secp256k1_2", + "sodium": "sodium_2" + }, + "locked": { + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "type": "github" + } + }, + "iserv-proxy": { + "flake": false, + "locked": { + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", + "type": "github" + }, + "original": { + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" + } + }, + "iserv-proxy_2": { + "flake": false, + "locked": { + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", + "type": "github" + }, + "original": { + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" + } + }, + "iserv-proxy_3": { + "flake": false, + "locked": { + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", + "type": "github" + }, + "original": { + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" + } + }, + "iserv-proxy_4": { + "flake": false, + "locked": { + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", + "type": "github" + }, + "original": { + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" + } + }, + "lib": { + "locked": { + "lastModified": 1694306727, + "narHash": "sha256-26fkTOJOI65NOTNKFvtcJF9mzzf/kK9swHzfYt1Dl6Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c30b6a84c0b84ec7aecbe74466033facc9ed103f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "lib_2": { + "locked": { + "lastModified": 1694306727, + "narHash": "sha256-26fkTOJOI65NOTNKFvtcJF9mzzf/kK9swHzfYt1Dl6Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c30b6a84c0b84ec7aecbe74466033facc9ed103f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "lint-utils": { + "inputs": { + "flake-utils": "flake-utils_10", + "nixpkgs": [ + "hydra-node", + "haskellNix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1708583908, + "narHash": "sha256-zuNxxkt/wS8Z5TbGarf4QZVDt1R65dDkEw/s2T/tCW4=", + "owner": "homotopic", + "repo": "lint-utils", + "rev": "2d77caa3644065ee0f462cc5ea654280c59127b2", + "type": "github" + }, + "original": { + "owner": "homotopic", + "repo": "lint-utils", + "type": "github" + } + }, + "lowdown-src": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "lowdown-src_2": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "lowdown-src_3": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "lowdown-src_4": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "mdbook-kroki-preprocessor": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_2": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mithril": { + "inputs": { + "crane": "crane", + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_19", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1726664888, + "narHash": "sha256-+ZX4SHcTYc6oKTfMpqZAueS7LdK7dpApc76LQjpPeJA=", + "owner": "input-output-hk", + "repo": "mithril", + "rev": "9fd9ae8ff3e9c37168489fddb67c132ae67387f3", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "2437.1", + "repo": "mithril", + "type": "github" + } + }, + "n2c": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_2": { + "inputs": { + "flake-utils": "flake-utils_9", + "nixpkgs": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs_5", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix-nomad": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": [ + "cardano-node", + "cardano-automation", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix", + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_2": { + "inputs": { + "flake-compat": "flake-compat_5", + "flake-utils": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_2", + "nixpkgs": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-npm-buildpackage": { + "inputs": { + "nixpkgs": "nixpkgs_20" + }, + "locked": { + "lastModified": 1686315622, + "narHash": "sha256-ccqZqY6wUFot0ewyNKQUrMR6IEliGza+pjKoSVMXIeM=", + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "rev": "991a792bccd611842f6bc1aa99fe80380ad68d44", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "type": "github" + } + }, + "nix-npm-buildpackage_2": { + "inputs": { + "nixpkgs": "nixpkgs_23" + }, + "locked": { + "lastModified": 1686315622, + "narHash": "sha256-ccqZqY6wUFot0ewyNKQUrMR6IEliGza+pjKoSVMXIeM=", + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "rev": "991a792bccd611842f6bc1aa99fe80380ad68d44", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "type": "github" + } + }, + "nix2container": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_2": { + "inputs": { + "flake-utils": "flake-utils_7", + "nixpkgs": "nixpkgs_11" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_3": { + "inputs": { + "flake-utils": "flake-utils_13", + "nixpkgs": "nixpkgs_21" + }, + "locked": { + "lastModified": 1724996935, + "narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "fa6bb0a1159f55d071ba99331355955ae30b3401", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix_2": { + "inputs": { + "lowdown-src": "lowdown-src_2", + "nixpkgs": "nixpkgs_7", + "nixpkgs-regression": "nixpkgs-regression_2" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_3": { + "inputs": { + "lowdown-src": "lowdown-src_3", + "nixpkgs": "nixpkgs_14", + "nixpkgs-regression": "nixpkgs-regression_3" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_4": { + "inputs": { + "lowdown-src": "lowdown-src_4", + "nixpkgs": "nixpkgs_16", + "nixpkgs-regression": "nixpkgs-regression_4" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nixago": { + "inputs": { + "flake-utils": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixago-exts": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago", + "type": "github" + } + }, + "nixago_2": { + "inputs": { + "flake-utils": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixago-exts": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago", + "type": "github" + } + }, + "nixinate": { + "inputs": { + "nixpkgs": "nixpkgs_24" + }, + "locked": { + "lastModified": 1708891350, + "narHash": "sha256-VOQrKK7Df/IVuNki+NshVuGkTa/Tw0GigPjWcZff6kk=", + "owner": "MatthewCroughan", + "repo": "nixinate", + "rev": "452f33c60df5b72ad0858f5f2cf224bdf1f17746", + "type": "github" + }, + "original": { + "owner": "MatthewCroughan", + "repo": "nixinate", + "type": "github" + } + }, + "nixlib": { + "locked": { + "lastModified": 1729386149, + "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixos-generators": { + "inputs": { + "nixlib": "nixlib", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729472750, + "narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=", + "owner": "nix-community", + "repo": "nixos-generators", + "rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-generators", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2003": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2003_2": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2003_3": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2003_4": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105_2": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105_3": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105_4": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_2": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_3": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_4": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2205": { + "locked": { + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2205_2": { + "locked": { + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2205_3": { + "locked": { + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2205_4": { + "locked": { + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2211": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2211_2": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2211_3": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2211_4": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305": { + "locked": { + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305_2": { + "locked": { + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305_3": { + "locked": { + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305_4": { + "locked": { + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311": { + "locked": { + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311_2": { + "locked": { + "lastModified": 1719957072, + "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311_3": { + "locked": { + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311_4": { + "locked": { + "lastModified": 1719957072, + "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2405": { + "locked": { + "lastModified": 1726447378, + "narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-24.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2405_2": { + "locked": { + "lastModified": 1726447378, + "narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-24.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixinate": { - "inputs": { - "nixpkgs": "nixpkgs_11" - }, + "nixpkgs-lib": { "locked": { - "lastModified": 1708891350, - "narHash": "sha256-VOQrKK7Df/IVuNki+NshVuGkTa/Tw0GigPjWcZff6kk=", - "owner": "MatthewCroughan", - "repo": "nixinate", - "rev": "452f33c60df5b72ad0858f5f2cf224bdf1f17746", - "type": "github" + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" }, "original": { - "owner": "MatthewCroughan", - "repo": "nixinate", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, - "nixlib": { + "nixpkgs-lib_2": { "locked": { - "lastModified": 1729386149, - "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", - "type": "github" + "lastModified": 1717284937, + "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" } }, - "nixos-generators": { - "inputs": { - "nixlib": "nixlib", - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs-lib_3": { + "locked": { + "lastModified": 1725233747, + "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + } + }, + "nixpkgs-regression": { "locked": { - "lastModified": 1729472750, - "narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=", - "owner": "nix-community", - "repo": "nixos-generators", - "rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixos-generators", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs": { + "nixpkgs-regression_2": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-2003": { + "nixpkgs-regression_3": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-2003_2": { + "nixpkgs-regression_4": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-2105": { + "nixpkgs-stable": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1690680713, + "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", "repo": "nixpkgs", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", "type": "github" } }, - "nixpkgs-2105_2": { + "nixpkgs-stable_2": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111": { + "nixpkgs-unstable": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, - "nixpkgs-2111_2": { + "nixpkgs-unstable_2": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1726583932, + "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "658e7223191d2598641d50ee4e898126768fe847", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2205": { + "nixpkgs-unstable_3": { "locked": { - "lastModified": 1685573264, - "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, - "nixpkgs-2205_2": { + "nixpkgs-unstable_4": { "locked": { - "lastModified": 1685573264, - "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "lastModified": 1726583932, + "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "rev": "658e7223191d2598641d50ee4e898126768fe847", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2211": { + "nixpkgsLatest": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1721226092, + "narHash": "sha256-UBvzVpo5sXSi2S/Av+t+Q+C2mhMIw/LBEZR+d6NMjws=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "c716603a63aca44f39bef1986c13402167450e0a", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2211_2": { + "nixpkgs_10": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2305": { + "nixpkgs_11": { "locked": { - "lastModified": 1701362232, - "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2305_2": { + "nixpkgs_12": { "locked": { - "lastModified": 1705033721, - "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", - "owner": "NixOS", + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", "type": "github" }, "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { + "locked": { + "lastModified": 1642336556, + "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", "owner": "NixOS", - "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", + "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" } }, - "nixpkgs-2311": { + "nixpkgs_14": { "locked": { - "lastModified": 1701386440, - "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-23.11-darwin", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2311_2": { + "nixpkgs_15": { "locked": { - "lastModified": 1719957072, - "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", - "owner": "NixOS", + "lastModified": 1708343346, + "narHash": "sha256-qlzHvterVRzS8fS0ophQpkh0rqw0abijHEOAKm0HmV0=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", + "rev": "9312b935a538684049cb668885e60f15547d4c5f", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-23.11-darwin", + "owner": "nixos", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2405": { + "nixpkgs_16": { "locked": { - "lastModified": 1726447378, - "narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-24.05-darwin", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-regression": { + "nixpkgs_17": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", + "lastModified": 1718717814, + "narHash": "sha256-xB7AzKY4BP7yypo6g+sk1tnVK54sBIJMeEBB5CdbhT4=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "88af533d8ae8d1e7e4648decf7817ebff91abf56", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-regression_2": { + "nixpkgs_18": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", + "lastModified": 1684171562, + "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "release-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_19": { + "locked": { + "lastModified": 1725816686, + "narHash": "sha256-0Kq2MkQ/sQX1rhWJ/ySBBQlBJBUK8mPMDcuDhhdBkSU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "add0443ee587a0c44f22793b8c8649a0dbc3bb00", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-stable": { + "nixpkgs_2": { "locked": { - "lastModified": 1690680713, - "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", "repo": "nixpkgs", - "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", "type": "github" } }, - "nixpkgs-stable_2": { + "nixpkgs_20": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "lastModified": 1653917367, + "narHash": "sha256-04MsJC0g9kE01nBuXThMppZK+yvCZECQnUaZKSU+HJo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "437c8e6554911095f0557d524e9d2ffe1c26e33a", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, - "nixpkgs-unstable": { + "nixpkgs_21": { "locked": { - "lastModified": 1694822471, - "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", + "lastModified": 1712920918, + "narHash": "sha256-1yxFvUcJfUphK9V91KufIQom7gCsztza0H4Rz2VCWUU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "rev": "92323443a56f4e9fc4e4b712e3119f66d0969297", "type": "github" }, "original": { "owner": "NixOS", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, - "nixpkgs-unstable_2": { + "nixpkgs_22": { "locked": { - "lastModified": 1726583932, - "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "658e7223191d2598641d50ee4e898126768fe847", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", "type": "github" }, "original": { @@ -2243,7 +4755,7 @@ "type": "github" } }, - "nixpkgs_10": { + "nixpkgs_23": { "locked": { "lastModified": 1653917367, "narHash": "sha256-04MsJC0g9kE01nBuXThMppZK+yvCZECQnUaZKSU+HJo=", @@ -2257,7 +4769,7 @@ "type": "indirect" } }, - "nixpkgs_11": { + "nixpkgs_24": { "locked": { "lastModified": 1653060744, "narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=", @@ -2273,21 +4785,6 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_3": { "locked": { "lastModified": 1665087388, @@ -2368,26 +4865,27 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1712920918, - "narHash": "sha256-1yxFvUcJfUphK9V91KufIQom7gCsztza0H4Rz2VCWUU=", - "owner": "NixOS", + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "92323443a56f4e9fc4e4b712e3119f66d0969297", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_9": { "locked": { - "lastModified": 1719082008, - "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "lastModified": 1718428119, + "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "rev": "e6cea36f83499eb4e9cd184c8a8e823296b50ad5", "type": "github" }, "original": { @@ -2412,6 +4910,21 @@ "type": "github" } }, + "nosys_2": { + "locked": { + "lastModified": 1668010795, + "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", + "owner": "divnix", + "repo": "nosys", + "rev": "feade0141487801c71ff55623b421ed535dbdefa", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "nosys", + "type": "github" + } + }, "old-ghc-nix": { "flake": false, "locked": { @@ -2446,6 +4959,40 @@ "type": "github" } }, + "old-ghc-nix_3": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, + "old-ghc-nix_4": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, "ops-lib": { "flake": false, "locked": { @@ -2462,6 +5009,22 @@ "type": "github" } }, + "ops-lib_2": { + "flake": false, + "locked": { + "lastModified": 1713366514, + "narHash": "sha256-0hNlv+grFTE+TeXIbxSY97QoEEaUupOKMusZ4PesdrQ=", + "owner": "input-output-hk", + "repo": "ops-lib", + "rev": "19d83fa8eab1c0b7765f736eb4e8569d84d3e39d", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "ops-lib", + "type": "github" + } + }, "paisano": { "inputs": { "call-flake": "call-flake", @@ -2509,11 +5072,60 @@ "type": "github" } }, + "paisano-tui_2": { + "flake": false, + "locked": { + "lastModified": 1708637035, + "narHash": "sha256-R19YURSK+MY/Rw6FZnojQS9zuDh+OoTAyngQAjjoubc=", + "owner": "paisano-nix", + "repo": "tui", + "rev": "231761b260587a64817e4ffae3afc15defaa15db", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "v0.5.0", + "repo": "tui", + "type": "github" + } + }, + "paisano_2": { + "inputs": { + "call-flake": "call-flake_2", + "nixpkgs": [ + "hydra-node", + "cardano-node", + "std", + "nixpkgs" + ], + "nosys": "nosys_2", + "yants": [ + "hydra-node", + "cardano-node", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1708640854, + "narHash": "sha256-EpcAmvIS4ErqhXtVEfd2GPpU/E/s8CCRSfYzk6FZ/fY=", + "owner": "paisano-nix", + "repo": "core", + "rev": "adcf742bc9463c08764ca9e6955bd5e7dcf3a3fe", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "0.2.0", + "repo": "core", + "type": "github" + } + }, "pre-commit-hooks-nix": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_10", "gitignore": "gitignore", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_22", "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { @@ -2530,14 +5142,30 @@ "type": "github" } }, + "process-compose-flake": { + "locked": { + "lastModified": 1718031437, + "narHash": "sha256-+RrlkAVZx0QhyeHAGFJnjST+/7Dc3zsDU3zAKXoDXaI=", + "owner": "Platonic-Systems", + "repo": "process-compose-flake", + "rev": "9344fac44edced4c686721686a6ad904d067c546", + "type": "github" + }, + "original": { + "owner": "Platonic-Systems", + "repo": "process-compose-flake", + "type": "github" + } + }, "root": { "inputs": { "CHaP": "CHaP", "cardano-node": "cardano-node", "hackage": "hackage", "haskell-nix": "haskell-nix", + "hydra-node": "hydra-node", "iogx": "iogx", - "nix-npm-buildpackage": "nix-npm-buildpackage", + "nix-npm-buildpackage": "nix-npm-buildpackage_2", "nixinate": "nixinate", "nixos-generators": "nixos-generators", "nixpkgs": [ @@ -2546,6 +5174,24 @@ ] } }, + "rust-overlay": { + "inputs": { + "nixpkgs": "nixpkgs_9" + }, + "locked": { + "lastModified": 1725330199, + "narHash": "sha256-oUkdPJIxP3r3YyVOBLkDVLIJiQV9YlrVqA+jNcdpCvM=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "a562172c72d00350f9f2ff830e6515b6e7bee6d5", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "secp256k1": { "flake": false, "locked": { @@ -2574,13 +5220,81 @@ "type": "github" }, "original": { - "owner": "bitcoin-core", - "ref": "v0.3.2", - "repo": "secp256k1", + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, + "secp256k1_3": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, + "secp256k1_4": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, + "sodium": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, + "sodium_2": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", "type": "github" } }, - "sodium": { + "sodium_3": { "flake": false, "locked": { "lastModified": 1675156279, @@ -2597,7 +5311,7 @@ "type": "github" } }, - "sodium_2": { + "sodium_4": { "flake": false, "locked": { "lastModified": 1675156279, @@ -2662,6 +5376,38 @@ "type": "github" } }, + "stackage_3": { + "flake": false, + "locked": { + "lastModified": 1718756571, + "narHash": "sha256-8rL8viTbuE9/yV1of6SWp2tHmhVMD2UmkOfmN5KDbKg=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "027672fb6fd45828b0e623c8152572d4058429ad", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "stackage_4": { + "flake": false, + "locked": { + "lastModified": 1728691846, + "narHash": "sha256-WXPaGfa8D64YjKU31HOIx2cLfYkMfZT9yYO2XdYUerA=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "38e3ccb33364353514117c552b7362295ea5b02e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, "std": { "inputs": { "blank": "blank", @@ -2763,6 +5509,116 @@ "type": "github" } }, + "std_3": { + "inputs": { + "blank": "blank_3", + "devshell": "devshell_2", + "dmerge": "dmerge_3", + "flake-utils": "flake-utils_8", + "makes": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_2", + "microvm": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "n2c": "n2c_2", + "nixago": "nixago_2", + "nixpkgs": "nixpkgs_12", + "yants": "yants_3" + }, + "locked": { + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "owner": "divnix", + "repo": "std", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, + "std_4": { + "inputs": { + "arion": [ + "hydra-node", + "cardano-node", + "std", + "blank" + ], + "blank": "blank_4", + "devshell": [ + "hydra-node", + "cardano-node", + "std", + "blank" + ], + "dmerge": "dmerge_4", + "haumea": "haumea_2", + "incl": "incl_2", + "lib": "lib_2", + "makes": [ + "hydra-node", + "cardano-node", + "std", + "blank" + ], + "microvm": [ + "hydra-node", + "cardano-node", + "std", + "blank" + ], + "n2c": [ + "hydra-node", + "cardano-node", + "std", + "blank" + ], + "nixago": [ + "hydra-node", + "cardano-node", + "std", + "blank" + ], + "nixpkgs": "nixpkgs_15", + "paisano": "paisano_2", + "paisano-tui": "paisano-tui_2", + "terranix": [ + "hydra-node", + "cardano-node", + "std", + "blank" + ], + "yants": "yants_4" + }, + "locked": { + "lastModified": 1715201063, + "narHash": "sha256-LcLYV5CDhIiJs3MfxGZFKsXPR4PtfnY4toZ75GM+2Pw=", + "owner": "divnix", + "repo": "std", + "rev": "b6924a7d37a46fc1dda8efe405040e27ecf1bbd6", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -2823,6 +5679,58 @@ "type": "github" } }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "hydra-node", + "mithril", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1725271838, + "narHash": "sha256-VcqxWT0O/gMaeWTTjf1r4MOyG49NaNxW4GHTO3xuThE=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "9fb342d14b69aefdf46187f6bb80a4a0d97007cd", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "tullia": { "inputs": { "nix-nomad": "nix-nomad", @@ -2848,6 +5756,32 @@ "type": "github" } }, + "tullia_2": { + "inputs": { + "nix-nomad": "nix-nomad_2", + "nix2container": "nix2container_2", + "nixpkgs": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "nixpkgs" + ], + "std": "std_3" + }, + "locked": { + "lastModified": 1668711738, + "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", + "owner": "input-output-hk", + "repo": "tullia", + "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "tullia", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1653893745, @@ -2881,6 +5815,39 @@ "type": "github" } }, + "utils_3": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_4": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "yants": { "inputs": { "nixpkgs": [ @@ -2926,6 +5893,54 @@ "repo": "yants", "type": "github" } + }, + "yants_3": { + "inputs": { + "nixpkgs": [ + "hydra-node", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660507851, + "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", + "owner": "divnix", + "repo": "yants", + "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } + }, + "yants_4": { + "inputs": { + "nixpkgs": [ + "hydra-node", + "cardano-node", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1686863218, + "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", + "owner": "divnix", + "repo": "yants", + "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index eaa10e2..12b1f62 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,7 @@ }; cardano-node.url = "github:IntersectMBO/cardano-node/9.2.0"; + hydra-node.url = "github:cardano-scaling/hydra/d55c4efb896273dc39d4bdc4fc83ec361de55f73"; hackage = { url = "github:input-output-hk/hackage.nix"; @@ -53,6 +54,11 @@ nixpkgsArgs.overlays = [ inputs.nix-npm-buildpackage.overlays.default + (final: prev: { + cardano-node = inputs.cardano-node.packages.${final.system}.cardano-node; + cardano-cli = inputs.cardano-node.packages.${final.system}.cardano-cli; + hydra-node = inputs.hydra-node.packages.${final.system}.hydra-node; + }) ]; inherit inputs; diff --git a/hydra-explorer/hydra-explorer.cabal b/hydra-explorer/hydra-explorer.cabal index 09162eb..b548b5e 100644 --- a/hydra-explorer/hydra-explorer.cabal +++ b/hydra-explorer/hydra-explorer.cabal @@ -93,9 +93,16 @@ test-suite tests , QuickCheck , yaml , hydra-tx + , http-conduit + , process + , hydra-cluster + , http-client + , lens-aeson + , hydra-cardano-api other-modules: Hydra.Explorer.ExplorerStateSpec + Hydra.Explorer.HydraExplorerSpec Hydra.ExplorerSpec Spec diff --git a/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs b/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs new file mode 100644 index 0000000..9090b47 --- /dev/null +++ b/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs @@ -0,0 +1,159 @@ +{-# LANGUAGE DeriveAnyClass #-} + +-- | Integration tests for the 'hydra-explorer' executable. These will run +-- also 'hydra-node' on a devnet and assert correct observation. +module Hydra.Explorer.HydraExplorerSpec where + +import Hydra.Prelude hiding (get) +import Test.Hydra.Prelude + +import CardanoClient (RunningNode (..), queryTip) +import CardanoNode (NodeLog, withCardanoNodeDevnet) +import Control.Lens ((^.), (^?)) +import Data.Aeson as Aeson +import Data.Aeson.Lens (key, nth, _Array, _Number, _String) +import Hydra.Cardano.Api (ChainPoint (..)) +import Hydra.Cluster.Faucet (FaucetLog, publishHydraScriptsAs, seedFromFaucet_) +import Hydra.Cluster.Fixture (Actor (..), aliceSk, bobSk, cperiod) +import Hydra.Cluster.Util (chainConfigFor, keysFor) +import Hydra.Explorer.Options (toArgStartChainFrom) +import Hydra.Logging (showLogsOnFailure) +import Hydra.Options qualified as Options +import HydraNode (HydraNodeLog, input, send, waitMatch, withHydraNode) +import Network.HTTP.Client (responseBody) +import Network.HTTP.Simple (httpJSON, parseRequestThrow) +import System.Process (CreateProcess (..), StdStream (..), proc, withCreateProcess) + +spec :: Spec +spec = do + it "can observe hydra transactions created by multiple hydra-nodes" $ + failAfter 60 $ + showLogsOnFailure "HydraExplorerSpec" $ \tracer -> do + withTempDir "hydra-explorer-history" $ \tmpDir -> do + withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \cardanoNode@RunningNode{nodeSocket} -> do + let hydraTracer = contramap FromHydraNode tracer + hydraScriptsTxId <- publishHydraScriptsAs cardanoNode Faucet + + let initHead hydraNode = do + send hydraNode $ input "Init" [] + waitMatch 5 hydraNode $ \v -> do + guard $ v ^? key "tag" == Just "HeadIsInitializing" + v ^? key "headId" . _String + + (aliceCardanoVk, _aliceCardanoSk) <- keysFor Alice + aliceChainConfig <- chainConfigFor Alice tmpDir nodeSocket hydraScriptsTxId [] cperiod + seedFromFaucet_ cardanoNode aliceCardanoVk 25_000_000 (contramap FromFaucet tracer) + aliceHeadId <- withHydraNode hydraTracer aliceChainConfig tmpDir 1 aliceSk [] [1] initHead + + (bobCardanoVk, _bobCardanoSk) <- keysFor Bob + bobChainConfig <- chainConfigFor Bob tmpDir nodeSocket hydraScriptsTxId [] cperiod + seedFromFaucet_ cardanoNode bobCardanoVk 25_000_000 (contramap FromFaucet tracer) + bobHeadId <- withHydraNode hydraTracer bobChainConfig tmpDir 2 bobSk [] [2] initHead + + withHydraExplorer cardanoNode (Just ChainPointAtGenesis) $ \explorer -> do + allHeads <- getHeads explorer + length (allHeads ^. _Array) `shouldBe` 2 + allHeads ^. nth 0 . key "headId" . _String `shouldBe` aliceHeadId + allHeads ^. nth 0 . key "status" . _String `shouldBe` "Initializing" + allHeads ^. nth 1 . key "headId" . _String `shouldBe` bobHeadId + allHeads ^. nth 1 . key "status" . _String `shouldBe` "Initializing" + + it "can query for all hydra heads observed" $ + failAfter 60 $ + showLogsOnFailure "HydraExplorerSpec" $ \tracer -> do + withTempDir "hydra-explorer-get-heads" $ \tmpDir -> do + withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \cardanoNode@RunningNode{nodeSocket} -> do + let hydraTracer = contramap FromHydraNode tracer + hydraScriptsTxId <- publishHydraScriptsAs cardanoNode Faucet + withHydraExplorer cardanoNode Nothing $ \explorer -> do + (aliceCardanoVk, _aliceCardanoSk) <- keysFor Alice + aliceChainConfig <- chainConfigFor Alice tmpDir nodeSocket hydraScriptsTxId [] cperiod + seedFromFaucet_ cardanoNode aliceCardanoVk 25_000_000 (contramap FromFaucet tracer) + aliceHeadId <- withHydraNode hydraTracer aliceChainConfig tmpDir 1 aliceSk [] [1] $ \hydraNode -> do + send hydraNode $ input "Init" [] + + waitMatch 5 hydraNode $ \v -> do + guard $ v ^? key "tag" == Just "HeadIsInitializing" + v ^? key "headId" . _String + + (bobCardanoVk, _bobCardanoSk) <- keysFor Bob + bobChainConfig <- chainConfigFor Bob tmpDir nodeSocket hydraScriptsTxId [] cperiod + seedFromFaucet_ cardanoNode bobCardanoVk 25_000_000 (contramap FromFaucet tracer) + bobHeadId <- withHydraNode hydraTracer bobChainConfig tmpDir 2 bobSk [] [2] $ \hydraNode -> do + send hydraNode $ input "Init" [] + + bobHeadId <- waitMatch 5 hydraNode $ \v -> do + guard $ v ^? key "tag" == Just "HeadIsInitializing" + v ^? key "headId" . _String + + send hydraNode $ input "Abort" [] + + waitMatch 5 hydraNode $ \v -> do + guard $ v ^? key "tag" == Just "HeadIsAborted" + guard $ v ^? key "headId" . _String == Just bobHeadId + + pure bobHeadId + + allHeads <- getHeads explorer + length (allHeads ^. _Array) `shouldBe` 2 + allHeads ^. nth 0 . key "headId" . _String `shouldBe` aliceHeadId + allHeads ^. nth 0 . key "status" . _String `shouldBe` "Initializing" + allHeads ^. nth 1 . key "headId" . _String `shouldBe` bobHeadId + allHeads ^. nth 1 . key "status" . _String `shouldBe` "Aborted" + + it "can query for latest point in time observed on chain" $ + failAfter 60 $ + showLogsOnFailure "HydraExplorerSpec" $ \tracer -> do + withTempDir "hydra-explorer-get-tick" $ \tmpDir -> do + withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \cardanoNode@RunningNode{nodeSocket, networkId} -> do + withHydraExplorer cardanoNode Nothing $ \explorer -> do + tip <- toJSON <$> queryTip networkId nodeSocket + tick <- getTick explorer + + let tipSlot = tip ^? key "slot" . _Number + tickSlot = tick ^? key "point" . key "slot" . _Number + tipSlot `shouldBe` tickSlot + + let tipBlockHash = tip ^? key "blockHash" . _String + tickBlockHash = tick ^? key "point" . key "blockHash" . _String + tipBlockHash `shouldBe` tickBlockHash + +data HydraExplorerHandle = HydraExplorerHandle + { getHeads :: IO Value + , getTick :: IO Value + } + +data HydraExplorerLog + = FromCardanoNode NodeLog + | FromHydraNode HydraNodeLog + | FromFaucet FaucetLog + deriving (Eq, Show, Generic) + deriving anyclass (ToJSON) + +-- | Starts a 'hydra-explorer' on some Cardano network. +withHydraExplorer :: RunningNode -> Maybe ChainPoint -> (HydraExplorerHandle -> IO ()) -> IO () +withHydraExplorer cardanoNode mStartChainFrom action = + withCreateProcess process{std_out = CreatePipe, std_err = CreatePipe} $ + \_in _stdOut err processHandle -> + race + (checkProcessHasNotDied "hydra-explorer" processHandle err) + ( -- XXX: wait for the http server to be listening on port + threadDelay 3 + *> action HydraExplorerHandle{getHeads, getTick} + ) + <&> either absurd id + where + getHeads = responseBody <$> (parseRequestThrow "http://127.0.0.1:9090/heads" >>= httpJSON) + + getTick = responseBody <$> (parseRequestThrow "http://127.0.0.1:9090/tick" >>= httpJSON) + + process = + proc + "hydra-explorer" + $ ["direct"] + <> Options.toArgNodeSocket nodeSocket + <> Options.toArgNetworkId networkId + <> Options.toArgApiPort 9090 + <> toArgStartChainFrom mStartChainFrom + + RunningNode{nodeSocket, networkId} = cardanoNode diff --git a/nix/shell.nix b/nix/shell.nix index 1adf23c..21671c3 100644 --- a/nix/shell.nix +++ b/nix/shell.nix @@ -4,35 +4,29 @@ { repoRoot, inputs, pkgs, lib, system }: # Each flake variant defined in your project.nix project will yield a separate -# shell. If no flake variants are defined, then cabalProject is the original +# shell. If no flake variants are defined, then cabalProject is the original # project. cabalProject: { name = "nix-shell"; - # prompt = null; - - # welcomeMessage = null; - - # packages = []; - - # scripts = { - # foo = { - # description = ""; - # group = "general"; - # enabled = true; - # exec = '' - # echo "Hello, World!" - # ''; - # }; - # }; - - # env = { - # KEY = "VALUE"; - # }; - - # shellHook = ""; + packages = [ + pkgs.cardano-cli + pkgs.cardano-node + pkgs.hydra-node + ]; + + scripts = { + # Hack: We don't want to + hydra-explorer = { + description = "Wrapped version of hydra-explorer to be run via nix"; + group = "general"; + exec = '' + nix run .#hydra-explorer -- $@ + ''; + }; + }; tools = { # haskellCompilerVersion = cabalProject.args.compiler-nix-name; @@ -51,28 +45,4 @@ cabalProject: # optipng = null; # purs-tidy = null; }; - - # preCommit = { - # cabal-fmt.enable = false; - # cabal-fmt.extraOptions = ""; - # stylish-haskell.enable = false; - # stylish-haskell.extraOptions = ""; - # fourmolu.enable = false; - # fourmolu.extraOptions = ""; - # hlint.enable = false; - # hlint.extraOptions = ""; - # shellcheck.enable = false; - # shellcheck.extraOptions = ""; - # prettier.enable = false; - # prettier.extraOptions = ""; - # editorconfig-checker.enable = false; - # editorconfig-checker.extraOptions = ""; - # nixpkgs-fmt.enable = false; - # nixpkgs-fmt.extraOptions = ""; - # optipng.enable = false; - # optipng.extraOptions = ""; - # purs-tidy.enable = false; - # purs-tidy.extraOptions = ""; - # }; } - \ No newline at end of file From 8bc8062ce3f6950db42f811000902f9acd5fcb35 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Fri, 8 Nov 2024 11:13:26 +0000 Subject: [PATCH 19/25] Run tests inside shell so that required executables exist --- .github/workflows/ci-nix.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 68a4fbd..b34dcf5 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -44,5 +44,5 @@ jobs: # Note: The tests need to find `json-schemas/hydra-explorer-api.yaml`; # so they need to be run in this specific folder. cd hydra-explorer - nix run .#apps.x86_64-linux.tests + nix develop -c nix run .#apps.x86_64-linux.tests From 3a7f4919825c9cea461f45788716c3dfe8c0bd42 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Fri, 8 Nov 2024 11:17:24 +0000 Subject: [PATCH 20/25] Remove commented out things --- nix/project.nix | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/nix/project.nix b/nix/project.nix index 6fb7bf4..eea327c 100644 --- a/nix/project.nix +++ b/nix/project.nix @@ -18,24 +18,7 @@ let }; name = "hydra-explorer"; - compiler-nix-name = lib.mkDefault "ghc96"; - - # flake.variants.profiled = { - # modules = [{ - # enableProfiling = true; - # enableLibraryProfiling = true; - # }]; - # }; - - # flake.variants.ghc928 = { - # compiler-nix-name = "ghc928"; - # }; - - # flake.variants.ghc8107 = { - # compiler-nix-name = "ghc8107"; - # }; - modules = [ { @@ -56,22 +39,6 @@ let inherit cabalProject; shellArgs = repoRoot.nix.shell; - - # includeMingwW64HydraJobs = false; - - # includeProfiledHydraJobs = false; - - # readTheDocs = { - # enable = false; - # siteFolder = "doc/read-the-docs-site"; - # sphinxToolchain = null; - # }; - - # combinedHaddock = { - # enable = false; - # prologue = ""; - # packages = []; - # }; }; in From 1e8496948db90d2dc87981c2c4ffed1f01ae5654 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Tue, 12 Nov 2024 13:19:28 +0000 Subject: [PATCH 21/25] Just use cabal to run the hydra-explorer --- .github/workflows/ci-nix.yaml | 2 +- .../test/Hydra/Explorer/HydraExplorerSpec.hs | 5 +++-- nix/shell.nix | 11 ----------- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index b34dcf5..68a4fbd 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -44,5 +44,5 @@ jobs: # Note: The tests need to find `json-schemas/hydra-explorer-api.yaml`; # so they need to be run in this specific folder. cd hydra-explorer - nix develop -c nix run .#apps.x86_64-linux.tests + nix run .#apps.x86_64-linux.tests diff --git a/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs b/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs index 9090b47..dc87bd2 100644 --- a/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs +++ b/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs @@ -149,8 +149,9 @@ withHydraExplorer cardanoNode mStartChainFrom action = process = proc - "hydra-explorer" - $ ["direct"] + "cabal" + $ [ "run", "hydra-explorer", "--"] + <> ["direct"] <> Options.toArgNodeSocket nodeSocket <> Options.toArgNetworkId networkId <> Options.toArgApiPort 9090 diff --git a/nix/shell.nix b/nix/shell.nix index 21671c3..915e01d 100644 --- a/nix/shell.nix +++ b/nix/shell.nix @@ -17,17 +17,6 @@ cabalProject: pkgs.hydra-node ]; - scripts = { - # Hack: We don't want to - hydra-explorer = { - description = "Wrapped version of hydra-explorer to be run via nix"; - group = "general"; - exec = '' - nix run .#hydra-explorer -- $@ - ''; - }; - }; - tools = { # haskellCompilerVersion = cabalProject.args.compiler-nix-name; # cabal-fmt = null; From b864b862ba83b6e5b60676866e5e44c646b8e504 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Tue, 12 Nov 2024 13:34:38 +0000 Subject: [PATCH 22/25] Has to still run in the nixShell --- .github/workflows/ci-nix.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 68a4fbd..44063d5 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -44,5 +44,6 @@ jobs: # Note: The tests need to find `json-schemas/hydra-explorer-api.yaml`; # so they need to be run in this specific folder. cd hydra-explorer - nix run .#apps.x86_64-linux.tests + # We need the packages in the shell to run the tests + nix develop -c nix run .#apps.x86_64-linux.tests From c3746ac9519e2ba9a552fc7e53a38cc33797af8c Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Tue, 12 Nov 2024 16:10:15 +0000 Subject: [PATCH 23/25] Try cabal update --- .github/workflows/ci-nix.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index 44063d5..c76e842 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -46,4 +46,5 @@ jobs: cd hydra-explorer # We need the packages in the shell to run the tests + nix develop -c cabal update nix develop -c nix run .#apps.x86_64-linux.tests From e98264f073cfca768c277f8119fad538f5e3bd17 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Tue, 12 Nov 2024 16:27:38 +0000 Subject: [PATCH 24/25] Depend on exe in build tool so cabal can run it --- .github/workflows/ci-nix.yaml | 2 +- hydra-explorer/hydra-explorer.cabal | 4 +++- hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs | 5 ++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index c76e842..7ba8a06 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -47,4 +47,4 @@ jobs: # We need the packages in the shell to run the tests nix develop -c cabal update - nix develop -c nix run .#apps.x86_64-linux.tests + nix develop -c cabal test all diff --git a/hydra-explorer/hydra-explorer.cabal b/hydra-explorer/hydra-explorer.cabal index b548b5e..bcefb2e 100644 --- a/hydra-explorer/hydra-explorer.cabal +++ b/hydra-explorer/hydra-explorer.cabal @@ -106,4 +106,6 @@ test-suite tests Hydra.ExplorerSpec Spec - build-tool-depends: hspec-discover:hspec-discover + build-tool-depends: + , hspec-discover:hspec-discover + , hydra-explorer:hydra-explorer diff --git a/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs b/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs index dc87bd2..0f7a882 100644 --- a/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs +++ b/hydra-explorer/test/Hydra/Explorer/HydraExplorerSpec.hs @@ -149,9 +149,8 @@ withHydraExplorer cardanoNode mStartChainFrom action = process = proc - "cabal" - $ [ "run", "hydra-explorer", "--"] - <> ["direct"] + "hydra-explorer" + $ ["direct"] <> Options.toArgNodeSocket nodeSocket <> Options.toArgNetworkId networkId <> Options.toArgApiPort 9090 From dbca5d9db899ec740e52c7bf8304785716fa7925 Mon Sep 17 00:00:00 2001 From: Noon van der Silk Date: Thu, 14 Nov 2024 10:31:41 +0000 Subject: [PATCH 25/25] Remove commented-out code --- nix/shell.nix | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/nix/shell.nix b/nix/shell.nix index 915e01d..f29c2e3 100644 --- a/nix/shell.nix +++ b/nix/shell.nix @@ -3,9 +3,6 @@ { repoRoot, inputs, pkgs, lib, system }: -# Each flake variant defined in your project.nix project will yield a separate -# shell. If no flake variants are defined, then cabalProject is the original -# project. cabalProject: { @@ -16,22 +13,4 @@ cabalProject: pkgs.cardano-node pkgs.hydra-node ]; - - tools = { - # haskellCompilerVersion = cabalProject.args.compiler-nix-name; - # cabal-fmt = null; - # cabal-install = null; - # haskell-language-server = null; - # haskell-language-server-wrapper = null; - # fourmolu = null; - # hlint = null; - # stylish-haskell = null; - # ghcid = null; - # shellcheck = null; - # prettier = null; - # editorconfig-checker = null; - # nixpkgs-fmt = null; - # optipng = null; - # purs-tidy = null; - }; }