Skip to content

Add Nix flake for reproducible development shell - #40

Draft
koba-e964 with Copilot wants to merge 3 commits into
mainfrom
copilot/setup-development-shell-nix
Draft

Add Nix flake for reproducible development shell#40
koba-e964 with Copilot wants to merge 3 commits into
mainfrom
copilot/setup-development-shell-nix

Conversation

Copilot AI commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

No Nix dev environment existed, requiring manual tool setup outside the project.

Changes

  • flake.nix — defines devShells.default via flake-utils.lib.eachDefaultSystem, providing:

    • Rust stable toolchain (rust-overlay) with wasm32-unknown-unknown target + rustfmt + clippy
    • wasm-pack — WASM build tooling (build-wasm.sh)
    • nodejs_22 — matches Node 22 used in CI (gh-pages.yml)
    • binaryen — provides wasm-opt (referenced in build-wasm.sh)
    • graphviz — provides dot for www/Makefile
    • pre-commit — for local hook execution (.pre-commit-config.yaml)
  • flake.lock — pins all flake input revisions for reproducibility:

    • nixpkgs (nixos-unstable) → bfb7a882 (2024-05-24)
    • rust-overlayc52e346a (2025-06-04)
    • flake-utils11707dc2 (2024-11-13)
    • systemsda67096a

Usage

nix develop        # enter dev shell
nix flake update   # update all inputs to latest revisions
Original prompt

This section details on the original issue you should resolve

<issue_title>Set up development shell in nix</issue_title>
<issue_description></issue_description>

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: koba-e964 <3303362+koba-e964@users.noreply.github.com>
Copilot AI changed the title [WIP] Set up development shell in Nix Add Nix flake for reproducible development shell Mar 9, 2026
@koba-e964

Copy link
Copy Markdown
Owner

@copilot where is flake.lock?

Co-authored-by: koba-e964 <3303362+koba-e964@users.noreply.github.com>

Copilot AI commented Mar 10, 2026

Copy link
Copy Markdown
Contributor Author

@copilot where is flake.lock?

Added in commit 980f7d1. The flake.lock pins all four input revisions with their verified narHash values:

  • nixpkgs (nixos-unstable) → bfb7a882 (2024-05-24)
  • rust-overlayc52e346a (2025-06-04)
  • flake-utils11707dc2 (2024-11-13)
  • systemsda67096a

Since Nix isn't available in this CI environment, the (rev, narHash) pairs were sourced from cross-verified public flake.lock files. Running nix flake update locally will refresh them to the latest revisions.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • nixos.org
    • Triggering command: /usr/bin/curl curl -s --max-time 5 REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

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.

Set up development shell in nix

2 participants