Nix Dev Shell Beautification: Zsh + highlighting + autocomplete#746
Nix Dev Shell Beautification: Zsh + highlighting + autocomplete#746jeff-hykin wants to merge 6 commits intodimensionalOS:mainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "core": { | ||
| "locked": { | ||
| "lastModified": 1, | ||
| "narHash": "sha256-lWX5DUltOFcS57I8wHH0Sz3J++zMORxHf+CXoZZLQzU=", | ||
| "path": "./helpers/builtins", |
There was a problem hiding this comment.
Remove dangling local flake input
The new core node in flake.lock points to "path": "./helpers/builtins", but the repository contains no helpers/builtins directory. Because Nix resolves path inputs relative to the checkout, any nix develop/nix flake show invocation now fails immediately with an error like getting status of '/workspace/dimos/helpers/builtins': No such file or directory. This breaks the dev shell entirely. Please either commit the missing helpers tree or update the lock file to refer to an actual source (e.g., a git input) before landing the change.
Useful? React with 👍 / 👎.
Current bash dev shell (ouch my eyes)
Dev shell after this PR:
Its zsh with starship terminal and custom ▣ prompt for dimos.
Aesthetics aside, last summer I made Xome that takes the full power of Nix home manager and crams in into a dev shell. So anything (not just zsh/starship) is just a couple lines away with this PR. On top of that Xome makes dev shells more reliable by cutting off access to the real home folder, e.g. no more "well it works on my machine". Python, mujoco, matplotlib can all store stuff in home and have pretty different behavior because of it.
Understandible if you don't want to merge this big of a change, or if you want a completely different home manager config, but I figured basically anything is an improvement over vanilla bash.