Web Analytics

nothing-but-nix

⭐ 126 stars Korean by wimpysworld

🌐 언어

Nothing but Nix

Nix ❄️의 힘을 극대화하기 위해 GitHub Actions 러너에서 불필요한 사전 설치 소프트웨어를 대폭 제거하세요.

GitHub Actions 러너는 Nix를 위해 제공되는 디스크 공간이 매우 적으며, 약 ~20GB에 불과합니다. Nothing but Nix불필요한 소프트웨어를 과감하게 제거하여 Nix 스토어에 65GB에서 130GB까지 확보할 수 있습니다! 💪

사용법 🔧

워크플로에서 Nix를 설치하기 전에 이 액션을 추가하세요:

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      id-token: write
    steps:
      
  • uses: actions/checkout@v4
  • uses: wimpysworld/nothing-but-nix@main
  • name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
  • name: Run Nix
run: | nix --version # Your Nix-powered steps here...

요구 사항 ️✔️

문제: Nix가 성장할 공간 만들기 🌱

표준 GitHub Actions 러너는 Nix 워크플로우에서 절대 사용하지 않을 "불필요한 소프트웨어"로 가득 차 있습니다:

이 불필요한 소프트웨어 때문에 Nix 저장소에 약 20GB 정도만 남아 있습니다 - 심각한 Nix 빌드에 거의 충분하지 않습니다! 😞

해결책: Nix만 남기기 ️❄️

Nix만 남기기는 GitHub Actions 러너에 대해 초토화 작전을 펼치며 디스크 공간을 무자비하게 회복하는 두 단계 공격 방식을 사용합니다:

파일 시스템 정리는 rmz (Fast Unix Commands (FUC) 프로젝트)에서 제공하는 고성능 rm 대체 도구로 수행됩니다 - 공간 회수를 번개처럼 빠르게 만듭니다! ⚡ 최종 결과? Nix용 공간이 65GB에서 130GB인 GitHub Actions 러너! 😁

동적 볼륨 확장

다른 솔루션과 달리, Nix만 남기기/nix 볼륨을 동적으로 확장합니다:

/nix 볼륨은 워크플로우 실행 중에 자동으로 성장합니다 🎩🪄

무기 선택: Hatchet Protocol 🪓

hatchet-protocol 입력으로 파괴 수준을 제어하세요 💥:

- uses: wimpysworld/nothing-but-nix@main
  with:
    hatchet-protocol: 'cleave'  # Options: holster, carve, cleave (default), rampage
#### 프로토콜 비교 ⚖️

| 프로토콜 | /nix | 설명 | apt 정리 | 도커 정리 | 스냅 정리 | 정리된 파일 시스템 | |----------|--------|--------------------------------------------------|------------|--------------|------------|-------------------------| | Holster | ~65GB | 도끼를 칼집에 넣고 /mnt의 공간 사용 | 아니요 | 아니요 | 아니요 | 없음 | | Carve | ~85GB | //mnt의 빈 공간을 조합하여 사용 | 아니요 | 아니요 | 아니요 | 없음 | | Cleave | ~115GB | 대용량 패키지를 강력하고 결정적으로 잘라내기 | 최소 | 예 | 예 | /opt/usr/local | | Rampage | ~130GB | 모든 불필요한 요소를 가차 없이 제거 | 적극적 | 예 | 예 | 무하하하! 🔥🌎 |

신중히 선택하세요:

참혹한 현장을 목격하라 🩸

기본적으로 정리 과정은 백그라운드에서 조용히 실행되며 작업 흐름은 계속됩니다. 하지만 실시간으로 처참한 광경을 보고 싶다면:

- uses: wimpysworld/nothing-but-nix@main
  with:
    ️hatchet-protocol: 'cleave'
    witness-carnage: true  # Default: false

안전 구역 사용자 지정 🛡️

Nix 저장소 토지 점유로부터 얼마나 많은 공간을 확보할지 사용자 지정 안전 구역 크기로 제어하세요:

- uses: wimpysworld/nothing-but-nix@main
  with:
    ️hatchet-protocol: 'cleave'
    root-safe-haven: '3072'   # Reserve 3GB on the / filesystem
    mnt-safe-haven: '2048'    # Reserve 2GB on the /mnt filesystem

이러한 안전 구역은 공간 회수 시 얼마나 많은 공간(MB 단위)을 관대하게 남길지 정의합니다:

파일시스템에 더 많은 여유 공간이 필요하면 이 값을 늘리고, 관대함 없이 공간을 확보하려면 줄이세요! 😈

/nix 사용자 소유권 부여 (Nix 권한 명령) 🧑‍⚖️

일부 Nix 설치 프로그램이나 설정은 현재 사용자가 /nix 디렉터리를 쓸 수 있기를 기대합니다. 기본적으로 /nix는 root가 소유합니다. 사용자 소유권이 필요할 경우(예: /nix 내 모든 작업에 sudo를 사용하지 않는 특정 Nix 설치 스크립트용) nix-permission-edict를 활성화할 수 있습니다:

- uses: wimpysworld/nothing-but-nix@main
  with:
    nix-permission-edict: true  # Default: false
true로 설정되면, /nix를 마운트한 후에 sudo chown -R "$(id --user)":"$(id --group)" /nix 명령이 실행됩니다.

이제 그 모든 멋진 Nix 저장소 공간을 활용하여 멋진 무언가를 만들어 보세요! ❄️

--- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---