|
42 | 42 | sourcePreference = "wheel"; |
43 | 43 | }; |
44 | 44 |
|
45 | | - # Create Python set with overlay applied |
46 | | - pythonSet = (pkgs.python314.override { |
47 | | - self = pythonSet; |
48 | | - packageOverrides = lib.composeManyExtensions [ |
49 | | - pyproject-build-systems.overlays.default |
50 | | - overlay |
51 | | - ]; |
52 | | - }); |
53 | | - |
54 | | - # Create editable overlay for development |
55 | | - editableOverlay = workspace.mkEditablePyprojectOverlay { |
56 | | - root = "$REPO_ROOT"; |
| 45 | + # Create base Python set |
| 46 | + baseSet = pyproject-nix.build.packages { |
| 47 | + inherit pkgs; |
| 48 | + python = pkgs.python314; |
57 | 49 | }; |
58 | 50 |
|
59 | | - # Apply editable overlay |
60 | | - editablePythonSet = pythonSet.override { |
61 | | - self = editablePythonSet; |
62 | | - packageOverrides = editableOverlay; |
63 | | - }; |
| 51 | + # Apply overlays to create final Python set |
| 52 | + pythonSet = baseSet.overrideScope ( |
| 53 | + lib.composeManyExtensions [ |
| 54 | + pyproject-build-systems.overlays.default |
| 55 | + overlay |
| 56 | + ] |
| 57 | + ); |
64 | 58 |
|
65 | 59 | # Create virtual environment with all dependencies |
66 | | - venv = editablePythonSet.mkVirtualEnv "staffeli-nt-dev-env" workspace.deps.all; |
| 60 | + venv = pythonSet.mkVirtualEnv "staffeli-nt-dev-env" workspace.deps.all; |
67 | 61 |
|
68 | 62 | in |
69 | 63 | { |
|
73 | 67 | pkgs.uv |
74 | 68 | ]; |
75 | 69 |
|
76 | | - env = { |
77 | | - UV_NO_SYNC = "1"; |
78 | | - UV_PYTHON = editablePythonSet.python.interpreter; |
79 | | - UV_PYTHON_DOWNLOADS = "never"; |
80 | | - }; |
81 | | - |
82 | 70 | shellHook = '' |
83 | | - unset PYTHONPATH |
84 | | - export REPO_ROOT=$(git rev-parse --show-toplevel) |
85 | | -
|
86 | 71 | echo "Staffeli NT development environment" |
87 | 72 | echo "Python: $(python --version)" |
88 | 73 | echo "" |
|
0 commit comments