typenix: TypeScript를 기반으로 한 Nix 전체 타이핑
TypeNix는 Nix 언어에 대해 TypeScript 수준의 정적 타입 검사를 제공하는 도구입니다.
tree-sitter-nix를 활용해 Nix 파일을 파싱하고, 이를 TypeScript AST로 변환하여 기존 TypeScript 컴파일러의 바인더, 체커, LSP 기능을 그대로 적용합니다.
이로써 Nix 파일에서 자동 완성, 타입 오류 검출, 정의로 이동, 호버 기능 등을 지원하며, 4만여 개의 nixpkgs 파일을 빠르게 타입 검사할 수 있습니다.
VSCode 확장과 Neovim LSP 설정을 통해 개발 환경에 쉽게 통합 가능하며, Nix 언어의 현대적 툴링 부족 문제를 해결해 Nix 생태계의 생산성을 크게 향상시킬 수 있습니다.
현재는 개념 증명 단계이나, 실제 nixpkgs 코드에 적용 가능하며, 타입 오류 감소 및 고급 타입 주석 기능을 포함해 점진적 개선이 진행 중입니다.
