Skip to content

Conversation

@michalrus
Copy link
Member

@michalrus michalrus commented Oct 22, 2025

Resolves https://github.com/blockfrost/blockfrost-ops/issues/2023

Devshell

I have added a direnv devshell. With just nix and direnv on PATH, you just enter the project directory, and are welcome with this message:

❯ cd acropolis

direnv: loading ~/Work/acropolis/.envrc
direnv: using flake
direnv: nix-direnv: Using cached dev shell

🔨 Welcome to acropolis-devshell

[[general commands]]

  cargo
  cargo-nextest                - Next-generation test runner for Rust projects
  menu                         - prints this menu
  rust-analyzer-preview-stable
  treefmt                      - one CLI to format the code tree

You can now run ‘cargo run’.

❯ 

You don’t need to have proper versions of Cargo, Rust, rust-analyzer etc. installed globally, they will be available in the devshell. Some editors can also pick it up and JustWork™ (e.g. Emacs).

Package definitions

You can build the packages for all systems, by running:

❯ nix build -L .#acropolis-process-omnibus

[…]

❯ ./result/bin/acropolis_process_omnibus --help
Usage: acropolis_process_omnibus [OPTIONS]

Options:
      --config <PATH>  [default: /nix/store/3jnims9fplpmbjl4lacq2bny0xqxfdwm-omnibus.toml]
  -h, --help           Print help

ci.iog.io

If accepted, I would ask the Core SRE to enable the IOG CI for this repository (including the checks below).

Some broken checks

A few checks are returning errors:

  • cargo clippy (run with nix build -L .#checks.x86_64-linux.cargo-clippy) – 86 errors
  • cargo-deny (run with nix build -L .#checks.x86_64-linux.cargo-deny) – 632 errors

Fixing them will be a large diff, so it's best to do in a separate PR.

Related:

Source auto-formatting

I have commented out certain treefmt formatters—leaving only the one for *.nix files:

  • prettier for *.json and *.ts,
  • rustfmt,
  • yamlfmt,
  • taplo for *.toml,
  • shfmt for Bash scripts,

because running them all (nix fmt or treefmt) results in a very large diff:

 131 files changed, 6154 insertions(+), 2802 deletions(-)

There are various benefits to auto-formatting, but if you decide to do this, it's best to do auto-formatting in a separate PR.

Windows build

It’s broken (see this Slack thread), because caryatid_process does use tokio::signal::unix, which is not available on Windows. You can try it with the following command on Linux:

❯ nix build -L .#acropolis-process-omnibus-x86_64-windows

Logged as:

@sandtreader
Copy link
Collaborator

Thanks Michal! I know next to nothing about Nix so I'm happy to take that on trust, if it helps you that's great :-) Changes to the actual code look sensible. Noted about the other issues brought up.

@sandtreader sandtreader merged commit ad81bdf into input-output-hk:main Oct 22, 2025
2 checks passed
@michalrus michalrus deleted the chore/nix-flake branch October 23, 2025 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants