이 사이트는 의 를 yeokja로 기계 번역한 비공식 한국어판입니다. 정확한 내용은 원문을 확인하세요.

Zero to Nix 소개

Zero to Nix가 무엇인지, 왜 만들었는지, 그리고 Nix 생태계에서 어떤 위치를 차지하는지 설명합니다

Zero to Nix는 Determinate Systems가 만든 Nix 학습 자료로, 뚜렷한 관점을 담고 있습니다. 저희는 두 가지 이유에서 Zero to Nix가 큰 공백을 메운다고 생각합니다.

  1. 저희가 보기에 기존 Nix 문서는 대부분 입문자가 원하는 내용을 찾기 어렵습니다. Nixpkgs 매뉴얼, 공식 웹사이트, Nix Pills, 그리고 nix.dev 같은 준공식 자료는 모두 Nix가 어떻게 동작하고 무엇을 제공하는지 확실히 이해하고 나면 매우 훌륭한 자료입니다. 이 자료들을 살펴보시기를 권하며, Zero to Nix 곳곳에서도 이 자료들을 링크하고 있습니다. 하지만 처음 접하는 사람에게는 이 자료들이 한꺼번에 부담스러울 수 있으므로, 저희는 공식 문서로 부드럽게 이어 주는 “관문”을 제공하고자 했습니다.
  2. 저희는 플레이크가 Nix의 미래이며, Nix를 새로 시작하는 사람은 처음부터 플레이크를 사용해야 한다고 굳게 믿습니다. 그러나 플레이크는 현재 Nix의 실험적 기능으로 지정되어 있어서, 공식 Nix 문서 어디에서도 다루지 않습니다(플레이크에 대한 Wiki 항목은 예외입니다).

Zero to Nix의 관점

첫째, 앞서 말씀드린 대로 Zero to Nix는 플레이크를 배우고 사용하도록 권장하고 채널은 더 이상 권장되지 않는 기능으로 취급한다는 점에서 뚜렷한 관점을 가지고 있습니다. 또한 Zero to Nix는 공식 Nix 설치 스크립트 대신 Determinate Nix Installer로 Nix를 설치하도록 권장한다는 점에서도 공식 권장 사항과 다릅니다.

Determinate Systems의 Determinate Nix Installer는 몇 가지 중요한 점에서 공식 Nix 설치 스크립트와 다릅니다.

  1. 업스트림 Nix 대신 플레이크와 통합 CLI가 안정화된 Determinate Nix를 설치합니다.
  2. 설치 과정에 대한 영수증을 /nix/receipt.json에 저장합니다. 이 영수증 덕분에 Determinate Nix Installer는 Nix를 매끄럽게 제거할 수 있지만, 공식 Nix 설치 스크립트는 이러한 제거 경로를 제공하지 않습니다.
  3. Terraform/OpenTofu와 마찬가지로, Determinate Nix Installer에서는 plan 명령으로 설치를 계획하여 설치 프로그램이 시스템을 어떻게 변경할지 확인할 수 있습니다. 공식 Nix 설치 스크립트는 변경 사항을 승인하라고 요청하지만 모든 변경 사항을 보여 주지는 않으므로, 저희는 이것이 공식 스크립트보다 개선된 점이라고 생각합니다.
  4. Determinate Nix Installer는 셸 스크립트 언어가 아닌 Rust로 작성되었습니다(공식 설치 프로그램은 Bash로 작성되었습니다). 여기에는 두 가지 주요 이점이 있습니다.
    1. Determinate Nix Installer를 여러 플랫폼으로 더 쉽게 이식할 수 있습니다.
    2. Determinate Nix Installer가 CPU 집약적인 작업을 병렬화할 수 있습니다. 이는 Bash 같은 언어로는 불가능합니다.
  5. 어떤 이유로든 설치 도중 실패하면 Determinate Nix Installer는 영수증을 사용해 자신이 수행한 변경 사항을 되돌릴 수 있으므로, 설치 과정 때문에 시스템이 바람직하지 않은 상태로 남을 가능성이 최소화됩니다.

공식 Nix 설치 스크립트에 문제가 있는 것은 아니며—오히려 그 반대입니다!—저희도 이 스크립트를 사용하지 말라고 말리지 않습니다. 다만 저희는 Determinate Nix Installer가 처음 사용하는 분들께 더 순조로운 경험을 제공할 가능성이 높다고 확신합니다.