Repository navigation
feat(base): replace Oh My Posh with Powerlevel10k prompt - #7
Conversation
CLAUDE.md documents that docker exec and CI resolve tools through ~/.local/share/mise/shims, but .zshenv never added it to PATH.
- Declare powerlevel10k and catppuccin-powerlevel10k-themes in .zimrc - Add install-prompt.sh: overwrite the Zimfw installer's default .zimrc with the repo .zimrc (the installer prepends its template to an existing file, so the repo .zimrc was never applied), install modules, prepend the p10k instant prompt and Catppuccin lean/mocha selection - Ship an override-only .p10k.zsh - Reload Orca's per-workspace HISTFILE so past commands reach history search and autosuggestions (only when ORCA_WORKSPACE_ID is set) - Remove install-ohmyposh.sh and the oh-my-posh block in install.sh
There was a problem hiding this comment.
Code Review
이번 풀리퀘스트(PR)는 기존의 Oh My Posh 프롬프트를 Zimfw 기반의 Powerlevel10k(Catppuccin lean/mocha 테마)로 전환하고, 비대화형 셸을 위한 mise 환경 설정 및 Orca 워크스페이스별 히스토리 복원 기능을 추가하는 변경사항을 담고 있습니다. 코드 리뷰 결과, 새롭게 추가된 install-prompt.sh 스크립트의 안정성을 높이기 위해 ~/.zshrc 파일의 존재 여부를 확인한 후 cat을 실행하도록 개선하고, $HISTFILE이 비어있거나 존재하지 않을 때 fc -R 명령이 실패하지 않도록 파일 검증 단계를 추가할 것을 권장합니다.
Apply review feedback: without ~/.zshrc (created by install-sdk.sh with the Zimfw init), set -e aborted on a bare cat with no explanation. Check the precondition up front and exit with a message instead of silently writing a .zshrc that never loads the theme.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request replaces the Oh My Posh prompt with Powerlevel10k (using the Catppuccin lean/mocha theme) managed via Zimfw. It removes the Oh My Posh installation script and introduces install-prompt.sh to configure the new prompt, handle overrides via .p10k.zsh, and restore per-workspace command history for Orca. Feedback on these changes suggests improving the robustness of the Orca history loading function in install-prompt.sh by adding checks for file readability and properly quoting the HISTFILE variable to handle spaces and prevent redundant execution failures.
Apply review feedback: quote the [[ == ]] operands so the loaded-file check is a literal comparison rather than a glob match, and retry a HISTFILE that does not exist yet on a later prompt instead of marking it loaded. Re-reading this session's own commands is deduplicated by HIST_IGNORE_ALL_DUPS from the Zimfw environment module.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request replaces the Oh My Posh prompt with the Powerlevel10k prompt using the Catppuccin theme, updating the Dockerfile, documentation, and shell configuration scripts accordingly. Feedback on these changes focuses on improving the robustness and idempotency of the shell scripts, including respecting existing ZIM_HOME environment variables, preventing duplicate configurations in ~/.zshrc upon multiple runs, explicitly declaring global variables to avoid warnings, and using typeset -gU in .zshenv to prevent duplicate PATH entries.
Apply review feedback: typeset -U path so nested zsh sessions do not stack the mise shims entry, and declare _orca_loaded_histfile up front (keeping an existing value so re-sourcing .zshrc does not reload the history file).
|
/gemini review |
There was a problem hiding this comment.
Code Review
이번 풀 리퀘스트는 기존의 Oh My Posh 프롬프트를 Zimfw 모듈 기반의 Powerlevel10k(Catppuccin 테마) 프롬프트로 전환하고 관련 문서 및 빌드 스크립트를 업데이트합니다. 이에 대해 .zshenv에서 zsh에 적합한 path 배열 설정을 사용하고, install-prompt.sh에서 HISTFILE 빈 값에 대한 예외 처리를 추가하며, install.sh 스크립트에도 Powerlevel10k 설정을 일관되게 반영할 것을 권장하는 피드백이 제시되었습니다.
개요
베이스 이미지의 프롬프트를 Oh My Posh에서 Powerlevel10k(Catppuccin lean/mocha)로 교체합니다. 저장소에 있는
.zimrc가 실제 이미지에는 적용되지 않던 문제와, 비대화형 셸의 mise shims PATH 누락도 함께 고칩니다. 실제 워크스페이스(coder.amond)에 같은 구성을 먼저 적용해 검증한 내용을 이미지로 옮겼습니다.변경 사항
.zimrc에romkatv/powerlevel10k,tolkonepiu/catppuccin-powerlevel10k-themes모듈 추가scripts/install-prompt.sh:.zshrc맨 앞에 p10k instant prompt와zstyle ':catppuccin:p10k'(lean/mocha), 끝에~/.p10k.zsh로드 추가.p10k.zsh추가install-ohmyposh.sh, Dockerfile의 해당 단계, (Dockerfile에서 호출하지 않는)install.sh의 oh-my-posh 블록 제거.zimrc미적용 버그 수정: Dockerfile이.zimrc를 복사하지 않아 zsh-defer, evalcache, vim-mode 같은 커스텀 모듈이 이미지에 없었습니다. Zimfw 설치 스크립트는 기존.zimrc앞에 기본 템플릿을 덧붙이기 때문에 미리 복사하면 모듈이 중복 선언됩니다. 그래서install-sdk.sh의 Zimfw 설치가 끝난 뒤 저장소.zimrc로 덮어쓰고zimfw install을 실행합니다.HISTFILE을fc -R로 다시 읽어, 이전 세션의 명령이 history substring search와 autosuggestions에 나오게 합니다.ORCA_WORKSPACE_ID가 있을 때만 동작합니다..zshenvmise shims: 문서에는 "비대화형 셸(docker exec, CI)은~/.local/share/mise/shims로 해석"이라고 돼 있지만.zshenv에 해당 설정이 없었습니다. 이를 추가합니다(별도 커밋).CLAUDE.md,README.md,images/CLAUDE.md를 위 변경에 맞게 갱신했습니다.검증
전체 이미지는 빌드하지 않았습니다. 대신
ubuntu:24.04위에 Dockerfile의 셸 관련 단계(.zshenv복사 → Zimfw 설치 →install-prompt.sh)를 같은 순서로 재현한 테스트 이미지로 확인했습니다..zimrc의zmodule completion선언 1개 (템플릿 중복 없음)p10k로드,zstyle :catppuccin:p10k= lean/mocha,POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=os_icon dir vcs newline prompt_charORCA_WORKSPACE_ID가 있을 때만precmd_functions에 등록zsh -c에서 PATH 맨 앞이~/.local/share/mise/shims참고
/home/coder를 영구 볼륨으로 붙이면 새 워크스페이스나 빈 홈 볼륨에만 반영됩니다. 기존 워크스페이스는 직접 적용해야 합니다.images/dev/.devcontainer는 devcontainer feature(installOhMyPosh)로 Oh My Posh를 쓰는 별도 이미지라 이번 범위에서 제외했습니다.mise.toml을 바꿨을 때 자동 반영되지 않는 트레이드오프가 있어 포함하지 않았습니다.작성자: 이민수 (Minsu Lee, @amondnet) · minsu.lee@passionfactory.ai