There is Tvix, a Rust implementation of Nix, and although it still uses the Nix programming language, I bet it would be a lot easier to replace it there than in the original C++ codebase. (not just because of the language of implementation)
To me, the perfect solution would be to have a base like Nix/Tvix you can build on top of, for example to make a package manager for your language, and have the users of that language's PM interact with TOML or JSON.