Fix runtime errors and improve robustness in host configs and scripts

- Fix KeyError in julia.nix when Project.toml lacks deps table
- Fix incorrect uv args in python.nix (remove --run + --add-flags combination)
- Remove redundant 'uv add ipython' from sync branch in python.nix
- Fix relative paths in project-scripts.nix (./scripts -> ../scripts)
- Fix initProject.sh to check file existence before git add
- Add RVER validation in updateDeps.sh with proper error handling
- Add tool availability checks in updateDeps.sh (uv, julia, devenv)
- Add flake.nix backup before modification in updateDeps.sh
- Ensure updateDeps.sh runs from repository root

Co-authored-by: dwinkler1 <22460147+dwinkler1@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-01-11 19:48:19 +00:00
commit 2a5a1acd62
5 changed files with 84 additions and 38 deletions

View file

@ -26,14 +26,14 @@ config: final: prev: let
(builtins.readFile scriptPath);
in {
# Python project initialization (creates pyproject.toml, adds packages)
initPython = prev.writeShellScriptBin "initPython" (substituteScript ./scripts/initPython.sh);
initPython = prev.writeShellScriptBin "initPython" (substituteScript ../scripts/initPython.sh);
# Project structure setup (creates directories, git repo, .gitignore)
initProject = prev.writeShellScriptBin "initProject" (substituteScript ./scripts/initProject.sh);
initProject = prev.writeShellScriptBin "initProject" (substituteScript ../scripts/initProject.sh);
# Update all dependencies (R packages, Python packages, flake inputs)
updateDeps = prev.writeShellScriptBin "updateDeps" (substituteScript ./scripts/updateDeps.sh);
updateDeps = prev.writeShellScriptBin "updateDeps" (substituteScript ../scripts/updateDeps.sh);
# Activate devenv environment if devenv.nix exists
activateDevenv = prev.writeShellScriptBin "activateDevenv" (substituteScript ./scripts/activateDevenv.sh);
activateDevenv = prev.writeShellScriptBin "activateDevenv" (substituteScript ../scripts/activateDevenv.sh);
}