Upgrade to Pro — share decks privately, control downloads, hide ads and more …

runwasi on NixOS

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Aki Aki
May 30, 2026
4

runwasi on NixOS

Nix meetup #5 ミニ 発表資料

Avatar for Aki

Aki

May 30, 2026

Transcript

  1. What is runwasi? ・containerd, a high-level container runtime, typically runs

    runc at the lower layer, but this can be replaced with WASM. ・runwasi is a piece of software that enables this. ・The build I attempted this time was containerd-shim-wasmtime-v1 containerd runc runwasi wasm runtime wasm module container
  2. build(1) At first, use pkgs.rustPlatform.bui ldRustPackage to build the Rust

    project. => The build fails because the protobuf tools or linked shared libraries cannot be found
  3. build(2) I installed the required packages by referring to scripts/setup-linux.sh

    in the CI configuration (though buildInputs and nativeBuildInputs are a bit mixed up...) => The build failed, and it seems there's code that needs to be built into WASM,
  4. build (3) So, I’ve set it up so that it

    can compile for WASM using rust-overlay. => The build failed. This is because it seems that the C/C++ build runs with cargo build (build.rs)...
  5. build (4) So, I set the environment variables as instructed

    for gcc, CMake, and so on. => The build fails because it attempts to download wasmEdge-related binaries during the build process (which is prohibited in a nix build).
  6. build (5) If you set the pre-configured path in the

    WASMEDGE_STANDA LONE_ARCHIVE environment variable, the program will look there instead, so you can avoid downloading files at build time! While you're at it, turn off the post-build checks as well. => OK
  7. run(1) Even though I placed the built files in a

    directory included in the PATH, containerd couldn't find them and wouldn't run. => Once I added them to the systemd.services.path, it ran successfully.
  8. run (2) Ultimately, I was able to run the image

    available in the runwasi repository by executing the following command. (It simply repeats the message below.) “This is a song that never ends. Yes, it goes on and on my friends. Some people started singing it not knowing what it was, So they'll continue singing it forever just because…”