Web Analytics

nothing-but-nix

⭐ 126 stars Vietnamese by wimpysworld

🌐 Ngôn ngữ

Nothing but Nix

Biến runner GitHub Actions của bạn thành một cỗ máy Nix ❄️ mạnh mẽ bằng cách loại bỏ triệt để các phần mềm không cần thiết được cài sẵn.

Runner của GitHub Actions chỉ cung cấp rất ít dung lượng đĩa cho Nix - chỉ khoảng ~20GB. Nothing but Nix loại bỏ tàn nhẫn phần mềm không cần thiết, giúp bạn có 65GB đến 130GB cho Nix store! 💪

Cách sử dụng 🔧

Thêm action này trước khi cài đặt Nix trong workflow của bạn:

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...

Yêu cầu ️✔️

Vấn đề: Tạo Không Gian Cho Nix Phát Triển 🌱

Các runner tiêu chuẩn của GitHub Actions bị nhồi nhét "phần mềm thừa" mà bạn sẽ không bao giờ dùng đến trong workflow Nix:

Phần mềm thừa này chỉ để lại ~20GB cho kho Nix của bạn - quá ít cho các build Nix nghiêm túc! 😞

Giải pháp: Chỉ Có Nix ️❄️

Chỉ Có Nix áp dụng cách tiếp cận “đốt sạch” với runner GitHub Actions và thu hồi dung lượng ổ đĩa không thương tiếc bằng hai giai đoạn:

Việc thanh lọc hệ thống file được thực hiện bởi rmz (từ dự án Fast Unix Commands (FUC)) - một lựa chọn thay thế hiệu suất cao cho rm giúp thu hồi dung lượng cực nhanh! ⚡ Kết quả cuối cùng? Một runner GitHub Actions với 65GB đến 130GB dung lượng sẵn sàng cho Nix! 😁

Tăng Dung Lượng Động

Không như các giải pháp khác, Chỉ Có Nix tăng dung lượng /nix một cách linh hoạt:

Volume /nix sẽ tự động tăng lên trong quá trình thực thi workflow 🎩🪄

Chọn Vũ Khí: Giao Thức Hatchet 🪓

Kiểm soát cấp độ hủy diệt 💥 với tham số hatchet-protocol:

- uses: wimpysworld/nothing-but-nix@main
  with:
    hatchet-protocol: 'cleave'  # Options: holster, carve, cleave (default), rampage

#### So sánh các giao thức ⚖️

| Giao thức | /nix | Mô tả | Xóa apt | Xóa docker | Xóa snap | Hệ thống tập tin bị xóa | |-----------|--------|--------------------------------------------------|------------|--------------|------------|------------------------------| | Holster | ~65GB | Giữ lưỡi rìu trong bao, dùng dung lượng từ /mnt| Không | Không | Không | Không có | | Carve | ~85GB | Kết hợp và tận dụng không gian trống từ //mnt | Không | Không | Không | Không có | | Cleave | ~115GB | Cắt mạnh và dứt khoát các gói lớn | Tối thiểu | Có | Có | /opt/usr/local | | Rampage | ~130GB | Loại bỏ toàn bộ rác một cách tàn bạo, không khoan nhượng | Mạnh tay | Có | Có | Muahahaha! 🔥🌎 |

Hãy lựa chọn cẩn thận:

Chứng kiến sự tàn sát 🩸

Theo mặc định, quá trình xóa diễn ra âm thầm trong nền khi workflow của bạn tiếp tục. Nhưng nếu bạn muốn xem cảnh tàn sát trực tiếp:

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

Tùy chỉnh Khu vực An toàn 🛡️

Kiểm soát lượng không gian cần dành ra khỏi việc chiếm dụng của kho Nix bằng kích thước khu vực an toàn tùy chỉnh:

- 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
Những vùng an toàn này xác định dung lượng không gian (tính bằng MB) sẽ được khoan dung giữ lại trong quá trình thu hồi không gian: Tăng các giá trị này nếu bạn cần thêm không gian an toàn trên hệ thống tệp của mình, hoặc giảm chúng để không khoan nhượng! 😈

Cấp quyền sở hữu thư mục /nix cho người dùng (Sắc lệnh quyền hạn Nix) 🧑‍⚖️

Một số trình cài đặt hoặc cấu hình Nix mong muốn thư mục /nix có thể ghi bởi người dùng hiện tại. Theo mặc định, /nix thuộc sở hữu của root. Nếu bạn cần quyền sở hữu của người dùng (ví dụ, cho một số script cài đặt Nix không sử dụng sudo cho tất cả thao tác trong /nix), bạn có thể kích hoạt nix-permission-edict:

- uses: wimpysworld/nothing-but-nix@main
  with:
    nix-permission-edict: true  # Default: false
Khi nix-permission-edict được đặt thành true, hành động sẽ chạy sudo chown -R "$(id --user)":"$(id --group)" /nix sau khi gắn kết /nix.

Bây giờ hãy bắt tay vào xây dựng điều tuyệt vời với toàn bộ không gian Nix store tuyệt vời đó! ❄️

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