Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
195 commits
Select commit Hold shift + click to select a range
ee274be
new nix
Oct 17, 2025
8b2525d
Add test_json_output.py to generate JSON output
Oct 17, 2025
8475b71
Add json-processor flake to read and parse JSON output
Oct 17, 2025
bb2a442
Implement JSON processing and virtual package generation in json-proc…
Oct 17, 2025
23a3917
Update standalonex flake for JSON output generation and validation
Oct 17, 2025
5ec0d79
Add eval_json.sh script for Nix JSON evaluation
Oct 17, 2025
9aebda6
Add xpy-json-output-flake to expose x.py JSON output
Oct 17, 2025
60f920a
remove bin
Oct 17, 2025
60fff43
result
Oct 17, 2025
f9b1eb2
Add evaluate-rust flake for recursive command evaluation
Oct 17, 2025
8bbbceb
Integrate evaluate-rust flake into json-processor for recursive packa…
Oct 17, 2025
836bd0c
update lock
Oct 17, 2025
1c65306
bug report
Oct 17, 2025
8210336
feat: Structured review and documentation of rust-bootstrap-nix
Oct 17, 2025
2ccaa14
feat: Update rust references and flake lock files
Oct 17, 2025
791aeea
feat: Setup local Git mirror and new test flake
Oct 17, 2025
6a1002c
feat: Remove problematic follows lines from local-bootstrap-test flak…
Oct 17, 2025
f107482
wup
Oct 17, 2025
b8d6eb1
feat: Enable dry_run_nix_json in xpy-json-output-flake and fix config…
Oct 17, 2025
fac884d
feat: Generate config.toml with rustc and cargo paths in xpy-json-out…
Oct 17, 2025
e8759fd
feat: Add rust-overlay to xpy-json-output-flake
Oct 17, 2025
012f1c5
feat: Use local x.py for JSON output generation and skip bootstrap bi…
Oct 17, 2025
2fd5d7c
feat: Update ourXpy.url to include dir=standalonex
Oct 17, 2025
cc0f176
wip
Oct 17, 2025
198e54b
wip
Oct 17, 2025
9f0022d
feat: Implement pure Nix flake for Rust bootstrap compiler
Oct 17, 2025
12cb78b
wip
Oct 17, 2025
19b0b52
cargo
Oct 18, 2025
5bde55a
feat: Add flake.nix for standalonex/src and fix Cargo.toml workspace …
Oct 18, 2025
6767b38
fix: Update cargo2nix flake input URL to use v0.12.0 tag
Oct 18, 2025
7dc0d5a
fix: Correct cargo2nix overlay usage in flake.nix
Oct 18, 2025
196a93b
fix: Correct cargo2nix overlay and importCargoLock usage
Oct 18, 2025
6421998
fix: Access importCargoLock through pkgs.cargo2nix
Oct 18, 2025
bf0eba8
fix: Adjust cargo2nix import method in flake.nix
Oct 18, 2025
012f808
fix: Revert cargo2nix import to use overlays.default and direct pkgs.…
Oct 18, 2025
cbbe7c7
feat: Directly import Cargo.nix in flake.nix
Oct 18, 2025
a3515f1
feat: Add flake.lock for standalonex/src
Oct 18, 2025
f433865
update
Oct 18, 2025
1d58329
fix: Pass rustPackages and buildRustPackages to Cargo.nix import
Oct 18, 2025
d27b285
fix: Pass hostPlatform to Cargo.nix import
Oct 18, 2025
f53ffaa
fix: Use pkgsWithCargo2nix for cargo2nix overlay application
Oct 18, 2025
ee3207e
fix: Correct flake.nix syntax by removing extraneous 'in'
Oct 18, 2025
9cec01f
feat: Implement recommended cargo2nix flake integration
Oct 18, 2025
8e35c28
fix: Explicitly set rustVersion in flake.nix
Oct 18, 2025
cf8572c
feat: Directly import Cargo.nix and pass all arguments
Oct 18, 2025
c3e4bee
fix: Remove unexpected 'pkgs' argument from Cargo.nix import
Oct 18, 2025
a93e87c
feat: Add rust-overlay to flake.nix
Oct 18, 2025
9c431fc
fix: Provide mkRustCrate and rustLib to Cargo.nix import
Oct 18, 2025
3eaa557
feat: Revert to cargo2nix example approach with makePackageSet
Oct 18, 2025
a0c9a03
feat: Add minimal hello-rust test project with flake
Oct 18, 2025
b658bc9
fix: Correct flake-utils URLs to meta-introspector convention
Oct 18, 2025
0480283
feat: Refactor minimal test flake.nix based on working nix eval
Oct 18, 2025
6b3acd8
feat: Fix minimal test flake.nix to successfully build hello-rust
Oct 18, 2025
1f4c09b
feat: Call bootstrapApp and buildHelperApp to get derivations in stan…
Oct 18, 2025
7ccd8a7
feat: Upgrade Rust toolchain to 1.84.1 in standalonex/src/flake.nix
Oct 18, 2025
eb2b108
fix: Update flake.lock for standalonex/src
Oct 18, 2025
dacf876
fix: Downgrade globset to 0.4.16 in standalonex/src/flake.nix
Oct 18, 2025
b4d296c
fix: Pass globset override directly to Cargo.nix import
Oct 19, 2025
e64a434
fix: Pass lib explicitly to Cargo.nix import in standalonex/src/flake…
Oct 19, 2025
fe1317a
fix: Pass hostPlatform explicitly to Cargo.nix import in standalonex/…
Oct 19, 2025
894af01
fix: Pass rustLib explicitly to Cargo.nix import in standalonex/src/f…
Oct 19, 2025
b925ee5
fix: Pass workspaceSrc explicitly to Cargo.nix import in standalonex/…
Oct 19, 2025
4baf01b
fix: Pass mkRustCrate explicitly to Cargo.nix import in standalonex/s…
Oct 19, 2025
1a120fb
feat: Update flake.lock and other flake files for standalonex/src and…
Oct 19, 2025
646cf77
wip
Oct 19, 2025
a8722b1
wip
Oct 19, 2025
79740e8
wip
Oct 19, 2025
7a0b8f7
making progress
Oct 19, 2025
97b6f70
test
Oct 19, 2025
34d7b3a
update lock
Oct 19, 2025
0c52a17
wip
Oct 19, 2025
b62bdac
wip
Oct 19, 2025
75b6c7d
compiled bootstrap
Oct 19, 2025
e81b4ac
feat: Enhance Nix compatibility and relocatability for bootstrap
Oct 19, 2025
279b48f
feat: Add create_stage0_env.sh and run_bootstrap_check.sh
Oct 19, 2025
be3f357
feat: Refactor CI config, update precondition checks, and add runner …
Oct 19, 2025
61d00b3
feat: Document preconditions and update rustc shim for Nix compatibility
Oct 20, 2025
426da9a
fix: Comment out LD_DEBUG=files in run_rustc_shim.sh to reduce verbos…
Oct 20, 2025
31519d5
removing duplicate src/src
Oct 20, 2025
7dd50f6
Fix: Corrected access to version_file in artifact_version_part function
Oct 20, 2025
7352c91
Fix: Corrected version_file access and reapplied essential build conf…
Oct 20, 2025
6633bde
Feat: Added run-bootstrap-and-save-output package and captured bootst…
Oct 20, 2025
33404be
Feat: Configured use-bootstrap-flake with default package and correct…
Oct 20, 2025
2417f78
wip
Oct 20, 2025
15033ef
wip
Oct 21, 2025
e03419b
wip
Oct 21, 2025
f2b8df4
Refactor: Split test.rs into smaller modules and update module struct…
Oct 21, 2025
a7f3845
wup
Oct 21, 2025
844465d
removed bin
Oct 21, 2025
f322f0e
wip
Oct 21, 2025
d540148
feat: Make bootstrap-config-utils compile and clean up related files
Oct 22, 2025
c851e43
docs: Add SOP for bootstrap-config-utils
Oct 22, 2025
6e4c0e5
test: Add config parsing tests and fix test-related issues
Oct 22, 2025
5ab287d
feat: Implement Nix config-extractor tool
Oct 22, 2025
426eb23
feat: Integrate Nix config-extractor and add test output
Oct 22, 2025
2ef9071
feat: Add configuration-nix crate and integrate into flake
Oct 22, 2025
d3c5122
feat: Update flake.nix and Cargo.lock for configuration-nix integration
Oct 22, 2025
9b1b8b4
Revert: Restore deleted file parse_inner_stage0.rs
Oct 22, 2025
0648098
feat: Add Makefile and update configuration-nix
Oct 22, 2025
c0fc109
chore: Update configuration-nix gitlink after internal changes
Oct 22, 2025
436bcb5
feat: Integrate configuration-nix as a subdirectory and update flake.nix
Oct 22, 2025
a3f8b14
wip
Oct 22, 2025
718e07a
making it live in our repo
Oct 22, 2025
0c80492
feat: Update configuration-nix input to GitHub URL
Oct 22, 2025
62e586a
fix: Update Cargo.lock path in configuration-nix flake (formatted)
Oct 22, 2025
91aa8a2
fix: Ensure configuration-nix flake uses its own Cargo.lock
Oct 22, 2025
fd42790
feat: Add Cargo.lock copy step to Makefile
Oct 22, 2025
4f4bd2e
feat: Generate and commit Cargo.lock for configuration-nix
Oct 22, 2025
32464ef
feat: Add Cargo.lock generation to Makefile
Oct 22, 2025
13abf49
flake
Oct 22, 2025
f6493dc
update lock
Oct 22, 2025
c540860
feat: Add nix flake update to Makefile
Oct 22, 2025
c0cb2fd
feat: Improve error handling in configuration-nix
Oct 22, 2025
76524a4
fix: Add nix to nativeBuildInputs for generatedConfigToml
Oct 22, 2025
7a431bb
fix: Direct configuration-nix output to /data/data/com.termux.nix/fil…
Oct 22, 2025
e7671f1
fix: Correct config.toml output path in configuration-nix
Oct 22, 2025
e9fad3d
fix: Revert config.toml output path logic in configuration-nix
Oct 22, 2025
1ea9321
debug: Add output path print to configuration-nix
Oct 22, 2025
23be067
fix: Move temporary config.toml to /data/data/com.termux.nix/files/ho…
Oct 22, 2025
bc0d837
feat: Add fast-build target to Makefile
Oct 22, 2025
2c33cca
feat: Delegate fast-build target in root Makefile
Oct 22, 2025
bfbb8a8
fix: Add generate-configuration-nix-lock and fast-build to .PHONY
Oct 22, 2025
53390ec
fix: Correct config.toml output handling in Nix build (formatted)
Oct 22, 2025
8c6f9af
fix: Create parent directories for config.toml output
Oct 22, 2025
938c50a
fix: Direct config.toml output to /data/data/com.termux.nix/files/hom…
Oct 22, 2025
3ecd70c
fix: Remove fs::create_dir_all from configuration-nix
Oct 22, 2025
e06e6bc
debug: Modify generatedConfigToml to create dummy config.toml (format…
Oct 22, 2025
48ec156
fix: Revert generatedConfigToml to use configuration-nix program (for…
Oct 22, 2025
dc34c9d
debug: Simplify fs::write in configuration-nix
Oct 22, 2025
9118201
fix: Create output directory before writing config.toml
Oct 22, 2025
c0b0ee9
debug: Re-add debug print and fix output path in configuration-nix (f…
Oct 22, 2025
e3aff50
fix syntax
Oct 22, 2025
ee76a27
fix: Use fixed filename for config.toml and move to /data/data/com.te…
Oct 22, 2025
29b72cc
feat: Pass paths as env vars and remove nix-in-nix (formatted)
Oct 22, 2025
7bbb45a
feat: Successfully generate config.toml with Nix-derived paths
Oct 22, 2025
0995e5c
feat: Successfully generate config.toml with Nix-derived paths and up…
Oct 22, 2025
7155882
feat: Implement generateConfigTomlForStage helper function and use it…
Oct 22, 2025
9b43833
feat: Define configStage0 and configStage1 derivations for aarch664-l…
Oct 22, 2025
887e153
feat(config): Refactor bootstrap config generation
Oct 22, 2025
14d8ba9
feat(config): Refactor bootstrap config generation
Oct 22, 2025
02c870f
remove
Oct 22, 2025
2726440
Refactor: Extract functions to utils.rs in bootstrap-config-builder
Oct 22, 2025
b44e980
Docs: Update documentation files to reflect refactoring and new strategy
Oct 22, 2025
0559367
Docs: Consolidate documentation into README.md and remove old files
Oct 22, 2025
b57d760
Docs: Consolidate remaining documentation into README.md and remove o…
Oct 22, 2025
e1215ab
Feat: Implement Rust precondition checks and integrate with config.to…
Oct 22, 2025
c47436a
feat: Implement Rust precondition checks, logging, dry-run, nix-dir t…
Oct 22, 2025
e3da9ef
feat: Delete all flake.lock files for a clean slate
Oct 22, 2025
5cb9b82
feat: Regenerate flake.lock files after deletion
Oct 22, 2025
e279685
lock
Oct 22, 2025
77d2d37
feat: Refactor bootstrap-config-builder and configuration-nix to use …
Oct 23, 2025
b72abb7
feat: Regenerate flake.lock files after refactoring
Oct 23, 2025
d8d3c20
feat: Update configuration-nix flake.lock and source files
Oct 23, 2025
d4cf6b2
feat: Update configuration-nix flake.lock and other pending changes
Oct 23, 2025
6703b17
feat: Update Cargo.lock for configuration-nix and other pending changes
Oct 23, 2025
0ad66e9
feat: Generate workspace Cargo.lock for standalonex/src
Oct 23, 2025
e8ac53c
feat: Update standalonex/flake.nix to use workspace Cargo.toml and Ca…
Oct 23, 2025
dc15960
feat: Implement TOML config loading and CLI override for bootstrap-co…
Oct 23, 2025
47af652
refactor: Update standalonex for TOML config and workspace
Oct 23, 2025
3561253
fix: Update example.toml with named placeholders
Oct 23, 2025
bbf1e88
feat: Enable Nix config parsing in Rust bootstrap
Oct 23, 2025
ad3feec
fix: Resolve build errors in bootstrap-config-builder
Oct 23, 2025
ac911ba
docs: Document Nix-Rust integration process
Oct 23, 2025
7092248
docs: Update TODO.md with recent progress and next steps
Oct 23, 2025
a4efdc7
docs: Split README.md into multiple smaller files
Oct 23, 2025
4a7442e
wip[
Oct 23, 2025
00354c8
docs: Split README.md into multiple smaller files
Oct 23, 2025
2e90c7c
docs: Update GEMINI.md with bootstrap-config-builder details
Oct 23, 2025
9290d40
wuip
Oct 23, 2025
c735ffa
docs: Add documentation for Nix-based configuration system
Oct 23, 2025
45996ed
adding files, wip, not tested
Oct 23, 2025
0c5dce0
adding config
Oct 23, 2025
a1997fb
Add formatted bootstrap-config-builder/flake.nix to Git (pre-commit h…
Oct 23, 2025
b7c629d
Fix Nix syntax in bootstrap-config-builder/flake.nix (pre-commit hook…
Oct 23, 2025
0caa326
WIP: Clean Git tree for Nix build debugging
Oct 23, 2025
c9473cf
feat: Add Nix build step to flake-template-generator
Oct 23, 2025
74526fe
feat: Update flake-template-generator for lattice branching
Oct 23, 2025
de847a9
feat: Make base branch configurable in flake-template-generator
Oct 23, 2025
72322e3
refactor: Move Nix build logic to standalonex crate
Oct 23, 2025
79ec8f0
wup
Oct 23, 2025
d3cfcf6
docs: Update README_bootstrap_builder_flake.md with detailed plan
Oct 23, 2025
379d155
fix: Resolve Cargo warning about multiple build targets for lib.rs
Oct 23, 2025
b1c46c9
feat: Add dry run and improved error handling for Git operations in f…
Oct 23, 2025
dc588e9
feat: Allow passing additional arguments to flake-template-generator …
Oct 23, 2025
510c359
feat: Update Solana Rust version to 1.84.1 and add date to generated_…
Oct 23, 2025
1a4a2ec
fix: Correct output_dir in Makefile to be relative to repo_root
Oct 23, 2025
0e06c8a
feat: Add verbose argument to flake-template-generator
Oct 23, 2025
675ec37
feat: Add Git branch management utility
Oct 23, 2025
12bac98
Refactor: flake-template-generator into modular components and update…
Oct 23, 2025
d636fcc
wip
Oct 24, 2025
ed5b3c5
feat: Create root of the lattice with a minimal flake
Oct 24, 2025
e5cc2ea
feat: Add step1 flake
Oct 24, 2025
badd006
docs: Split README.md into multiple smaller files
Oct 24, 2025
668e7de
wip
Oct 24, 2025
00fd3ed
fix: Resolve Nix flake build issues and Cargo.toml path
Oct 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
40 changes: 40 additions & 0 deletions #qa.md#
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
last issue
bash-5.3$ nix build
trace: Rust 1.92.0-nightly-2025-10-16:
Pre-aggregated package `rust` is not encouraged for stable channel since it contains almost all and uncertain components.
Consider use `default` profile like `rust-bin.stable.latest.default` and override it with extensions you need.
See README for more information.

this derivation will be built:
/nix/store/jjy833sc0z7xcl495sfkyx2rcqyfigmi-rust-solana-tools-v1.51.drv
building '/nix/store/jjy833sc0z7xcl495sfkyx2rcqyfigmi-rust-solana-tools-v1.51.drv'...
error: builder for '/nix/store/jjy833sc0z7xcl495sfkyx2rcqyfigmi-rust-solana-tools-v1.51.drv' failed with exit code 1;
last 25 log lines:
> Compiling filetime v0.2.25
> Compiling cpufeatures v0.2.14
> Compiling itoa v1.0.11
> Compiling ryu v1.0.18
> Compiling bootstrap v0.0.0 (/tmp/nix-shell.R9IS5s/nix-shell.TZl15H/nix-build-rust-solana-tools-v1.51.drv-0/k7wrn478pqvwbzcr7gkbjghcphp62kxd-source/src/bootstrap)
> Compiling tar v0.4.42
> Compiling sha2 v0.10.8
> Compiling clap_derive v4.5.18
> Compiling serde_derive v1.0.210
> Compiling ignore v0.4.23
> Compiling opener v0.5.2
> Compiling fd-lock v4.0.2
> Compiling toml v0.5.11
> Compiling cmake v0.1.48
> Compiling object v0.36.4
> Compiling home v0.5.9
> Compiling termcolor v1.4.1
> Compiling clap v4.5.18
> Compiling clap_complete v4.5.29
> Compiling build_helper v0.1.0 (/tmp/nix-shell.R9IS5s/nix-shell.TZl15H/nix-build-rust-solana-tools-v1.51.drv-0/k7wrn478pqvwbzcr7gkbjghcphp62kxd-source/src/build_helper)
> Compiling xz2 v0.1.7
> Finished `dev` profile [unoptimized] target(s) in 1m 55s
> DEBUG: Entering run function, about to execute command.
> ERROR: Failed to parse 'config.toml': unknown field `CARGO_HOME`
> Build completed unsuccessfully in 0:01:55
For full logs, run:
nix log /nix/store/jjy833sc0z7xcl495sfkyx2rcqyfigmi-rust-solana-tools-v1.51.drv
bash-5.3$
10 changes: 10 additions & 0 deletions .gemini/commit-message.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
feat: Centralize git command helpers in bootstrap-config-builder

Created `bootstrap-config-builder/src/utils/git_command_helpers.rs` to
centralize generic functions for executing git commands via `std::process::Command`.
This includes `run_git_command` and `output_result`, adapted to use `anyhow::Result`
for better error handling. The `bootstrap-config-builder/src/utils/mod.rs`
was updated to include this new module.

This change aims to reduce potential code duplication and provide a single
point of maintenance for shell-based git operations within the `bootstrap-config-builder` crate.
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
/build/
/standalonex/build/
/standalonex/result
result
logs/
Makefile~
*.log
*~
*#
*/build
/standalonex/src/target/
/standalonex/src/bootstrap/build/
/standalonex/src/bootstrap/target/
target/
*.d
*.so
/.pre-commit-config.local.yamlnix-build-scripts/.#Makefile
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix malformed ignore entry (merge artifact).

/.pre-commit-config.local.yamlnix-build-scripts/.#Makefile is two entries stuck together and won’t match either target.

Apply:

-/.pre-commit-config.local.yamlnix-build-scripts/.#Makefile
+/.pre-commit-config.local.yaml
+nix-build-scripts/.#Makefile
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
/.pre-commit-config.local.yamlnix-build-scripts/.#Makefile
/.pre-commit-config.local.yaml
nix-build-scripts/.#Makefile
🤖 Prompt for AI Agents
In .gitignore around line 17, the entry
"/.pre-commit-config.local.yamlnix-build-scripts/.#Makefile" is a merged
artifact of two ignore patterns; split it into two separate lines such as
"/.pre-commit-config.local.yaml" and "nix-build-scripts/.#Makefile" (or adjust
the second path to match the repository's actual nix-build-scripts directory
name) so each pattern is on its own line and will match correctly.

36 changes: 36 additions & 0 deletions .pre-commit-config.local.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# DO NOT MODIFY
# This file was generated by git-hooks.nix
{
"default_stages": [
"pre-commit"
],
"repos": [
{
"hooks": [
{
"always_run": false,
"args": [],
"entry": "/nix/store/p7k9clwmbbr98c171269n907r2730wl3-nixpkgs-fmt-1.3.0/bin/nixpkgs-fmt",
"exclude": "^$",
"exclude_types": [],
"fail_fast": false,
"files": ".nix$",
"id": "nixpkgs-fmt",
"language": "system",
"name": "nixpkgs-fmt",
"pass_filenames": true,
"require_serial": false,
"stages": [
"pre-commit"
],
"types": [
"file"
],
"types_or": [],
"verbose": false
}
],
"repo": "local"
}
]
}
58 changes: 58 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# DO NOT MODIFY
# This file was generated by git-hooks.nix
{
"default_stages": [
"pre-commit"
],
"repos": [
{
"hooks": [
{
"always_run": false,
"args": [],
"entry": "/nix/store/p7k9clwmbbr98c171269n907r2730wl3-nixpkgs-fmt-1.3.0/bin/nixpkgs-fmt",
"exclude": "^$",
"exclude_types": [],
"fail_fast": false,
"files": "\\.nix$",
"id": "nixpkgs-fmt",
"language": "system",
"name": "nixpkgs-fmt",
"pass_filenames": true,
"require_serial": false,
"stages": [
"pre-commit"
],
"types": [
"file"
],
"types_or": [],
"verbose": false
},
{
"always_run": false,
"args": [],
"entry": "/nix/store/grb48jw3fbszgxvhjqm7n5ckhmgk6inw-typos-1.35.6/bin/typos --config /nix/store/wvhry1k8b04i0hi7ir489kh08sd8ll5i-typos-config.toml --force-exclude",
"exclude": "^$",
"exclude_types": [],
"fail_fast": false,
"files": "",
"id": "typos",
"language": "system",
"name": "typos",
"pass_filenames": true,
"require_serial": false,
"stages": [
"pre-commit"
],
"types": [
"text"
],
"types_or": [],
"verbose": false
}
],
"repo": "local"
}
]
}
Loading