Web Analytics

nothing-but-nix

⭐ 126 stars Traditional Chinese by wimpysworld

🌐 語言

Nothing but Nix

將你的 GitHub Actions 執行器轉變為 Nix ❄️ 強力平台,徹底清除預裝的累贅軟體。

GitHub Actions 執行器為 Nix 提供的磁碟空間非常有限,僅有約 ~20GB。 Nothing but Nix 強力清除不必要的軟體,讓你的 Nix store 可用空間提升至 65GB 到 130GB!💪

用法 🔧

在你的工作流程安裝 Nix 之前 加入此 action:

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 ️❄️

Nothing but Nix 對 GitHub Actions 執行器採用焦土策略,毫不留情地用雙重攻擊收回硬碟空間:

檔案系統清理由 rmz(來自 Fast Unix Commands (FUC) 專案)驅動——這是高效能版 rm,讓空間釋放超級迅速!⚡ 最終成果?一台有 65GB 至 130GB Nix 就緒空間的 GitHub Actions 執行器!😁

動態卷擴展

與其他解決方案不同,Nothing but 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 | 清除 docker | 清除 snap | 被清除的檔案系統 | |-----------|--------|----------------------------------------------------|-----------|--------------|------------|--------------------------| | 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 store 佔用空間中保留多少空間:

- 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 安裝腳本並未對 /nix 內的所有操作都使用 sudo),你可以啟用 nix-permission-edict

- uses: wimpysworld/nothing-but-nix@main
  with:
    nix-permission-edict: true  # Default: false

nix-permission-edict 設為 true 時,該操作會在掛載 /nix 之後執行 sudo chown -R "$(id --user)":"$(id --group)" /nix

現在就去利用這片壯觀的 Nix 儲存空間創造一些令人驚艷的東西吧!❄️ --- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---