Web Analytics

nothing-but-nix

⭐ 126 stars Persian by wimpysworld

🌐 زبان

فقط نیکس

رنر GitHub Actions خود را به یک نیکس ❄️ قدرتمند تبدیل کنید، با حذف بی‌رحمانه نرم‌افزارهای اضافی از پیش نصب‌شده.

رنرهای GitHub Actions فضای دیسک بسیار کمی برای نیکس دارند - تنها حدود ~20GB. فقط نیکس به شدت نرم‌افزارهای غیرضروری را پاک می‌کند و به شما 65GB تا 130GB برای مخزن نیکس می‌دهد! 💪

استفاده 🔧

این اکشن را قبل از نصب نیکس در جریان کاری خود اضافه کنید:

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 شما باقی می‌گذارد - که برای ساخت‌های جدی Nix به سختی کافی است! 😞

راه‌حل: فقط Nix ️❄️

فقط Nix رویکردی سوزاننده برای رانرهای GitHub Actions اتخاذ می‌کند و بی‌رحمانه فضای دیسک را با حمله‌ای دو مرحله‌ای بازپس می‌گیرد:

پاک‌سازی فایل سیستم توسط rmz (از پروژه Fast Unix Commands (FUC)) انجام می‌شود - جایگزینی با عملکرد بالا برای rm که فرآیند بازپس‌گیری فضا را فوق‌العاده سریع می‌کند! ⚡ نتیجه نهایی؟ یک رانر GitHub Actions با ۶۵ تا ۱۳۰ گیگابایت فضای آماده برای Nix! 😁

رشد پویا حجم دیسک

بر خلاف راه‌حل‌های دیگر، فقط Nix حجم /nix شما را به صورت پویا افزایش می‌دهد:

حجم /nix به طور خودکار در طول اجرای گردش کار رشد می‌کند 🎩🪄

سلاح خود را انتخاب کنید: پروتکل Hatchet 🪓

سطح نابودی 💥 را با ورودی hatchet-protocol کنترل کنید:

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

#### مقایسه پروتکل ⚖️

| پروتکل | /nix | توضیحات | پاکسازی apt | پاکسازی docker | پاکسازی snap | فایل سیستم‌های پاک شده | |----------|--------|-----------------------------------------------------|-------------|----------------|--------------|-----------------------------| | Holster | ~۶۵GB | تبر را در غلاف نگه دارید، از فضای /mnt استفاده کنید | خیر | خیر | خیر | هیچ‌کدام | | Carve | ~۸۵GB | فضای آزاد / و /mnt را ترکیب و مهیا کنید | خیر | خیر | خیر | هیچ‌کدام | | Cleave | ~۱۱۵GB | برش‌های قدرتمند و قاطع بر بسته‌های بزرگ | حداقلی | بله | بله | /opt و /usr/local | | Rampage | ~۱۳۰GB | حذف بی‌رحمانه و بی‌وقفه همه اضافات | تهاجمی | بله | بله | موهاهاها! 🔥🌎 |

عاقلانه انتخاب کنید:

شاهد کشتار باشید 🩸

به طور پیش‌فرض، فرایند پاکسازی به صورت بی‌صدا در پس‌زمینه و در حین ادامه گردش کار شما انجام می‌شود. اما اگر می‌خواهید این کشتار را به صورت زنده تماشا کنید:

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

سفارشی‌سازی مناطق امن 🛡️

کنترل کنید که چقدر فضا باید از تصرف فروشگاه نیکس با اندازه‌های سفارشی مناطق امن کنار گذاشته شود:

- 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
این پناهگاه‌های امن مشخص می‌کنند که چه مقدار فضا (بر حسب مگابایت) در هنگام بازپس‌گیری فضا با بخشش حفظ می‌شود: اگر به فضای تنفس بیشتری در فایل‌سیستم‌های خود نیاز دارید، این مقادیر را افزایش دهید، یا اگر می‌خواهید بی‌رحم باشید، آن‌ها را کاهش دهید! 😈

اعطای مالکیت کاربر بر /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 ---