Web Analytics

nothing-but-nix

⭐ 213 stars Assamese by wimpysworld

🌐 ভাষা

Nothing but Nix

আপোনাৰ GitHub Actions ৰানাৰক এটা Nix ❄️ শক্তিশালী ইঞ্জিনত ৰূপান্তৰ কৰক, আগতে সংস্থাপিত অনাবশ্যক ফাইলসমূহ নিষ্ঠুৰভাৱে আঁতৰাই।

GitHub Actions ৰানাৰসমূহত Nix ৰ বাবে মাত্ৰ ~20GB ডিক্স স্থান উপলব্ধ। Nothing but Nix নিৰ্মমভাৱে অনাবশ্যক ছফ্টৱেৰ আঁতৰায়, যাৰ ফলত আপোনাৰ Nix ষ্ট’ৰৰ বাবে ৬৫GBৰ পৰা ১৩০GB পাব পাৰে! 💪

ব্যৱহাৰ 🔧

আপোনাৰ workflow-ত 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 runner-সমূহত সাধাৰণতে "bloatware" থাকে যি Nix workflow-ত কেতিয়াও ব্যৱহাৰ নহয়:

এই bloat-এ Nix store-ৰ বাবে কেৱল ~20GB মাত্ৰ থাকে - গম্ভীৰ Nix build-ৰ বাবে যথেষ্ট নহয়! 😞

সমাধান: Nix-ৰ বাহিৰে কিছুমানো নহয় ️❄️

Nix-ৰ বাহিৰে কিছুমানো নহয় GitHub Actions runner-সমূহত শক্তিশালী disk space reclaim কৰিবলৈ দুটা phase-ৰ মাধ্যমে scorched-earth approach লৈছে:

File system purge rmz-এ powered ( Fast Unix Commands (FUC) project-ৰ পৰা) - rm-ৰ উচ্চ-দক্ষতা বিকল্প যি space reclamation-এ অত্যন্ত দ্ৰুতগতি প্ৰদান কৰে! ⚡ শেষ ফলাফল? GitHub Actions runner-ত 65GB ৰ পৰা 130GB Nix-ready space! 😁

Dynamic Volume Growth

অন্য সমাধানসমূহৰ তুলনাত, Nothing but Nix আপোনাৰ /nix ভলিউমটো ডাইনেমিকভাৱে বৃদ্ধি কৰে:

/nix ভলিউমটো স্বয়ংক্ৰিয়ভাৱে ওয়াৰ্কফ্লো চলা সময়ত বৃদ্ধি পায় 🎩🪄

আপোনাৰ অস্ত্ৰ বাছনি কৰক: The 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 | ~৬৫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
এইবোৰ সুৰক্ষিত স্থানসমূহে নিৰ্ধাৰণ কৰে যে স্থান পুনৰুদ্ধাৰৰ সময়ত কিমান স্থান (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-edicttrue হিচাপে ছেট কৰা হয়, এই কাৰ্যই /nix মাউণ্ট কৰাৰ পিছত sudo chown -R "$(id --user)":"$(id --group)" /nix চলাব।

Nix ক /nix/build ব্যৱহাৰৰ বাবে সংৰূপ কৰক

এই কাৰ্যই Nix ডেৰিভেচন বিল্ডসমূহে পুনৰুদ্ধাৰ কৰা স্থান ব্যৱহাৰ কৰিবলৈ /nix/build সৃষ্টি কৰে। আপোনাৰ Nix সংৰূপত build-dir যোগ কৰক:

- uses: cachix/install-nix-action@v31
  with:
    extra_nix_config: |
      build-dir = /nix/build
অথবা DeterminateSystemsৰ সৈতে:

- uses: DeterminateSystems/nix-installer-action@main
  with:
    extra-conf: |
      build-dir = /nix/build

এইয়ে Nix ক বৃহৎ BTRFS ভলিউমত বিল্ড কৰিবলৈ নিৰ্দেশ দিয়ে, যাৰ ফলত ব্যৱস্থাৰ ডিফল্ট সাময়িক ডাইৰেক্টৰীত নহয়।

সমস্যাৰ সমাধান 🔍

ডাঙৰ বিল্ডৰ সময়ত "No space left on device"

যদি আপোনাৰ বিল্ডে ঠাই শেষ কৰে, যদিও Nothing but Nix ব্যৱহাৰ কৰিছে, তেন্তে সম্ভৱত পটভূমিত পুৰ্জিং শেষ হোৱা নাই, যাৰ আগতে আপোনাৰ বিল্ডে উপলব্ধ ঠাই খৰচ কৰিছে। এইটো সাধাৰণতে প্ৰভাৱিত কৰে:

সমাধান: witness-carnage: true ব্যৱহাৰ কৰক, যাতে সমলগ্ন পুৰ্জিং জোৰ কৰা হয়। এইয়ে নিশ্চিত কৰে যে সকলো ঠাই আপোনাৰ বিল্ড আৰম্ভ কৰাৰ আগতে পুনৰুদ্ধাৰ হয়:

- uses: wimpysworld/nothing-but-nix@main
  with:
    hatchet-protocol: 'rampage'
    witness-carnage: true
এইটো আপোনাৰ ৱাৰ্কফ্ল' সেটআপত ৩০-১৮০ ছেকেণ্ড যোগ কৰে, কিন্তু আপোনাৰ বিল্ড আৰম্ভ হোৱাৰ সময়ত সর্বাধিক স্থান উপলব্ধ থাকিব বুলি নিশ্চিত কৰে।

এতিয়া সেই গৌৰৱময় Nix ষ্ট'ৰ স্পেছৰ সৈতে কিবা আশ্চৰ্যজনক নিৰ্মাণ কৰক! ❄️

--- Tranlated By Open Ai Tx | Last indexed: 2026-03-18 ---