바이너리 배포 버전 설치
닉스를 설치하는 가장 쉬운 방법은 다음 명령을 실행하는 것입니다:
$ sh <(curl -L https://nixos.org/nix/install)
이는 설치 프로그램을 상호 작용 스타일(어떤 작업을 수행하고 있는지 더 명시적으로 설명하게 만듬)로 실행하고, 사용자 플랫폼의 기본 "타입" 설치를 수행합니다: - 리눅스에서 단일 사용자 - 맥OS에서 다중 사용자
맥OS 10.15 카탈리나의 읽기 전용 파일 시스템을 루트로 사용하고 있는 경우
- 깔끔하게 지원하기까지 시간이 좀 걸립니다. 포스트나 예시, 오래된 해결 방법 튜토리얼을 보게 될 수도 있습니다.
- 단일 사용자를 위해 맥OS에서 깔끔하게 설치하는 과정 지원은 너무나 복잡해지기 때문에, 이 타입은 더이상 맥OS에서 지원되지 않습니다.
만일 플랫폼이 다중 사용자 타입을 지원한다면 sudo
권한을 가지고, 다중 사용자 타입으로 설치하는 것을 권장합니다.
단일 사용자 설치
시스템에 명시적으로 단일 사용자 설치를 하기 위해:
$ sh <(curl -L https://nixos.org/nix/install) --no-daemon
이 과정은 /nix
를 설치한 사용자가 소유하는 단일 사용자 설치를 수행합니다.
반드시 루트가 아닌 일반 사용자 계정을 통해서만 위 명령을 실행해야 합니다.
스크립트는 /nix
디렉터리가 이미 존재하지 않는다면, sudo
를 통해 수행할 것입니다.
sudo
가 시스템에 없다면, 우선 루트 계정을 통해 /nix
디렉터리를 수동으로 만들어아먄 합니다.
$ mkdir /nix
$ chown alice /nix
설치 스크립트는 ~/.nix-profile/etc/profile.d/nix.sh
를 불러낼 수 있도록
.bash_profile
, .bash_login
그리고 .profile
중 첫 번째로 마주하는 수정 가능한 파일을 수정합니다.
이런 행위를 방지하고자 한다면 설치 스크립트 실행 전에 NIX_INSTALLER_NO_MODIFY_PROFILE
환경 변수를 설정할 수 있습니다.
닉스를 삭제하고자 한다면 아래를 입력합니다:
$ rm -rf /nix
다중 사용자 설치
다중 사용자용 닉스 설치는 시스템 사용자와 닉스 데몬을 위한 시스템 서비스를 생성합니다.
지원 시스템 - SELinux가 비사용으로 설정된, systemd 사용 리눅스 - 맥OS
다음 명령을 통해 설치 프로그램이 다중 사용자용 설치를 수행하도록 지시합니다:
$ sh <(curl -L https://nixos.org/nix/install) --daemon
닉스 다중 사용자용 설치는 유저 ID 30001~30032 사이의 빌드 사용자와, 그룹 ID 30000 그룹을 생성합니다.
반드시 루트가 아닌 일반 사용자로 실행하시기 바랍니다. 필요하다면 스크립트가 알아서 sudo
를 실행합니다.
주의
만약 다른 그룹 ID와 사용자 ID를 닉스에게 부여하고자 하는 경우, 압축 파일을 직접 다운로드 받고, 설치 스크립트를 수정해야 합니다.
설치 프로그램은 /etc/bashrc
나 /etc/zshrc
가 존재하면 해당 파일을 수정합니다.
설치 프로그램은 .backup-before-nix
확장자를 붙여 수정하고자 하는 파일을 백업부터 진행합니다.
설치 프로그램은 /etc/profile.d/nix.sh
도 생성합니다.
닉스는 다음 명령을 통해 삭제할 수 있습니다:
sudo rm -rf /etc/profile/nix.sh /etc/nix /nix ~root/.nix-profile ~root/.nix-defexpr ~root/.nix-channels ~/.nix-profile ~/.nix-defexpr ~/.nix-channels
# If you are on Linux with systemd, you will need to run:
sudo systemctl stop nix-daemon.socket
sudo systemctl stop nix-daemon.service
sudo systemctl disable nix-daemon.socket
sudo systemctl disable nix-daemon.service
sudo systemctl daemon-reload
# If you are on macOS, you will need to run:
sudo launchctl unload /Library/LaunchDaemons/org.nixos.nix-daemon.plist
sudo rm /Library/LaunchDaemons/org.nixos.nix-daemon.plist
아마 /etc/profile
, /etc/bashrc
, 그리고 /etc/zshrc
가 닉스를 참조할 수 있는데 삭제해도 됩니다.
맥OS 설치
최근 맥OS에서 읽기 전용 루트 파일 시스템에 닉스를 깔끔히 설치하기 위한 방법을 생략한 것으로 보입니다. 새 설치 프로그램은 자동적으로 이를 수행하며, 기존에 존재하는 환경을 전환하려면 새 설치 프로그램을 재실행할 수도 있습니다.
이 섹션은 기존에 상황과 옵션, 포기해야 하는 것들에 대해 상세히 설명하고 있었지만 현재는 설치 프로그램이 하는 작업만을 소개합니다. 설치 프로그램 실행을 위해 이런 사항을 알 필요는 없지만, 혹시 마주할 문제를 해결하는데 도움이 됩니다:
- 닉스 저장소를 위한 새로운 APFS를 생성
/etc/synthetic.conf
를 수정하여 맥OS가 사용자 볼륨을 마운트 할 수 있는 빈 루트 디렉터리 "synthetic"을 생성할 수 있게 함/etc/fstab
에 볼륨 마운트 옵션을 명시- 만약 FileVault가 켜져 있으면
- 암호화 비밀번호 생성
- 시스템 키체인에 투입
- 볼륨 암호화 위해 해당 키 사용
- 닉스 저장소에 접근해야하는 프로그램이 로딩이나 복구 중 문제를 야기하지 않도록 부팅 과정에서 충분히 일찍 이 볼륨을 마운트할 수 있게 시스템 LaunchDaemon을 생성
URL을 활용해 닉스 고정 버전 설치
NixOS.org는 https://releases.nixos.org/nix/nix-version/install
에 1.11.16 버전부터, 모든 닉스 버전에 해당하는 설치 URL을 제공합니다.
이 설치 스크립트들은 NixOS.org의 메인 설치 스크립트와 동일한 방법으로 사용할 수 있습니다:
$ sh <(curl -L https://nixos.org/nix/install)
설치 스크립트 디렉터리에 sha256 계산값과 gpg 서명 파일이 들어있습니다.
바이너리 압축 파일로 설치
닉스와 의존성을 모두 포함하는 바이너리 압축 파일을 다운로드 받을 수도 있습니다.
(이것은 https://nixos.org/nix/install의 설치 스크립트가 자동적으로 수행하는 것이기도 합니다.)
해당 바이너리 압축 파일을 어딘가(예. /tmp
)에 압축 해제하고 install
이라는 이름의 스크립트를 실행합니다:
$ cd /tmp
$ tar xfj nix-1.8-x86_64-darwin.tar.bz2
$ cd nix-1.8-x86_64-darwin
$ ./install
만약 다중 사용자 설치 스크립트가 다른 그룹 ID나 다른 사용자 ID 번위를 사용해야 한다면,
install-multi-user
파일에 적힌 변수들을 수정해야만 합니다.