TL;DR. https://github.com/nixos/nix 소스 코드 네비게이션을 위해 Emacs + Nix + ccls 개발 환경을 세팅하고 싶음. 어캐함?
---
nix-shell 실행하면 각종 디펜던시가 /nix/store 밑에 깔리고 (boost/format 같은 애들) 이거 이용해서 빌드함.
CMake도 아니고 autotools로 빌드하게 돼 있다보니 bear 말고는 compile_commands.json 만들 방법이 안 보임.
두 가지 방법을 시도해봤는데 둘 다 실패한 상황.
1. flake.nix의 nativeBuildDeos에 bear를 추가하고 nix-shell -> bear make -j -> 실패
2. nix-shell -p bear 먼저 하고, nix-shell 안에서 또 nix-shell shell.nix 실행 -> bear -- make -j -> 실패
어떻게 compile_commands.json을 뽑을 수 있을까..
---
그리고 compile_commands.json을 뽑는다고 해도 문제임.
그냥 ccls 실행하면 안 되고, nix-shell 안에서 돌아가는 ccls가 필요할 거 같은데,
Emacs에서 lsp-mode 실행하면 nix-shell 밑에서 lsp server가 실행되게 하는 방법이 있을까?
Haskell 쪽에는 있는 거 같은데, 다른 언어도 비슷한 기능이 있나?
direnv 쓰셈
direnv + 로컬 lsp 서버 (그리고 이맥스에서 패스 다이나믹하게 지정)
Compile_commands.json 만드는 게 고비임. ㅋㅋ..