dotfiles 로드맵 — 설정을 코드로 재현하는 방법
dotfiles를 Git에 두는 공통 원칙에서 출발해 홈에 배치하는 방식(심링크·bare git/yadm·chezmoi), 머신별 값과 시크릿 처리, macOS 패키지 재현(Brewfile)을 서로 다른 축으로 구분한 학습 지도.
dotfiles를 Git에 두는 공통 원칙에서 출발해 홈에 배치하는 방식(심링크·bare git/yadm·chezmoi), 머신별 값과 시크릿 처리, macOS 패키지 재현(Brewfile)을 서로 다른 축으로 구분한 학습 지도.
LC_ALL=C에서 grep이 한글 문자 범위를 바이트로 쪼개 오탐하는 이유와 코드포인트 비교 해법.
chezmoi의 source state, target state, destination 관계를 이해하고, 원본 편집부터 diff와 apply를 거쳐 새 머신에 재현하는 흐름을 하나의 예제로 설명한다.
main·master 정리 과정에서 local branch만 보고 fast-forward 가능하다고 판단했다가 origin에서 non-fast-forward가 발생하는 원인을 fetch·merge-base·remote ref 기준으로 진단한다.
Git에 둔 dotfiles를 Home에 배치하는 두 모델인 symlink와 chezmoi render/apply를 비교한다. 파일의 정체, 반영 시점, host별 분기, drift, secret 처리라는 비교축을 먼저 잡고 bare git/yadm은 별도 worktree 모델로 경계를 명시한다.
snacks explorer의 . focus는 picker 필터 root만 바꾸고 nvim cwd는 그대로다. nested repo 트리에서 lazygit이 엉뚱한 폴더에서 열리는 원인과 tcd 다리.
jenv가 버전별 Homebrew Cellar 경로를 가리키면 brew upgrade/cleanup 뒤 JDK 링크가 깨질 수 있다. 안정적인 opt 경로로 재등록해 재발을 막는 방법을 정리한다.
심링크/bootstrap dotfiles를 chezmoi로 옮길 때 만난 SSH·부트스트랩·run 스크립트·jenv 함정 모음.
mason은 서버 바이너리를 설치하고, nvim-lspconfig는 서버별 기본 설정을 제공하며, Neovim 0.11+의 vim.lsp.config/enable이 설정·시작·통신을 맡는다. attach와 진단 순서까지 한 장으로 정리.
터미널에 치던 명령을 파일 하나로 묶어 실행하기까지. shebang이 하는 일, `chmod +x` 실행 권한, `./script.sh`에서 `./`가 왜 필요한지, PATH에 등록해 어디서나 부르는 법, 그리고 permission denied·command not found·CRLF 같은 첫날 함정까지.