feat: migrate to flake-parts + devenv, replace attic with nix-bindings#17
Merged
Conversation
Complete development environment consolidation: Flake restructure: - Replace flake-utils with flake-parts + devenv.flakeModule - Add devenv.nix with declarative languages.rust, tools, and config generation - Add nixConfig for devenv.cachix.org binary cache - Support 4 systems (x86_64/aarch64 linux/darwin) - Reduce flake.nix from 310 to 120 lines Remove attic dependency (broken C++ bindings with nix 2.31+): - Drop attic-flake flake input and attic crate from Cargo.toml - Vendor nix-bindings crate for C API store operations - Add src/nix_store.rs - CLI-backed store ops (nix path-info, nar dump-path, nix-store --query) - Add src/hash.rs - Nix hash types from existing deps (sha2, nix-base32) - Add src/signing.rs - NixKeypair from existing dep (ed25519-compact) - Remove nix version pinning from crane.nix Dev environment: - Add treefmt.toml (nixfmt, rustfmt, shfmt, prettier) - Add AGENTS.md with architecture docs and available commands - Add devenv.lock + devenv.yaml for devenv 2.x input tracking - Update .envrc to use devenv - Update .gitignore for .devenv/ - Disable cachix.enable in devenv.nix to respect system nix config Testing: - All integration tests pass (NixOS VM test with Garage S3) - nix flake check passes on all systems - nix build produces working binary - Fixed narHash parsing to handle nix path-info --json base64 format TODO: Replace CLI calls (query_path_info, nar_from_path) with nix C API when nix_api_store.h exposes those functions.
93cf070 to
933f9e7
Compare
…, remove cachix substituters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Complete development environment consolidation:
Flake restructure:
Remove attic dependency (broken C++ bindings with nix 2.31+):
Dev environment:
Testing:
TODO: Replace CLI calls (query_path_info, nar_from_path) with nix C API when nix_api_store.h exposes those functions.