Web Analytics

nothing-but-nix

⭐ 126 stars Dutch by wimpysworld

🌐 Taal

Nothing but Nix

Transformeer je GitHub Actions-runner in een Nix ❄️ krachtpatser door rigoureus vooraf geïnstalleerde overbodige software te verwijderen.

GitHub Actions-runners hebben weinig schijfruimte voor Nix - slechts ongeveer ~20GB. Nothing but Nix zuivert genadeloos onnodige software, waardoor je 65GB tot 130GB beschikbaar krijgt voor je Nix store! 💪

Gebruik 🔧

Voeg deze actie toe vóór het installeren van Nix in je workflow:

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

Vereisten ️✔️

Het Probleem: Ruimte maken zodat Nix kan floreren 🌱

Standaard GitHub Actions runners zitten vol met "bloatware" die je nooit zult gebruiken in een Nix-werkstroom:

Door deze bloat blijft er slechts ~20GB over voor je Nix-store - nauwelijks genoeg voor serieuze Nix-builds! 😞

De Oplossing: Alleen Nix ️❄️

Alleen Nix hanteert een scorched-earth-benadering op GitHub Actions runners en claimt meedogenloos schijfruimte terug met een tweefasige aanval:

De bestandsopruiming wordt aangedreven door rmz (van het Fast Unix Commands (FUC) project) - een high-performance alternatief voor rm dat ruimte extreem snel vrijmaakt! ⚡ Het eindresultaat? Een GitHub Actions runner met 65GB tot 130GB aan Nix-klare ruimte! 😁

Dynamische Volume Groei

In tegenstelling tot andere oplossingen groeit Alleen Nix je /nix-volume dynamisch:

Het /nix-volume groeit automatisch tijdens de uitvoering van de workflow 🎩🪄

Kies je Wapen: Het Hatchet Protocol 🪓

Bepaal het niveau van vernietiging 💥 met de hatchet-protocol input:

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

#### Protocol Vergelijking ⚖️

| Protocol | /nix | Beschrijving | Verwijder apt | Verwijder docker | Verwijder snap | Verwijderde bestandssystemen | |----------|--------|---------------------------------------------------|----------------|------------------|----------------|-------------------------------| | Holster | ~65GB | Houd het bijl in de schede, gebruik ruimte van /mnt | Nee | Nee | Nee | Geen | | Carve | ~85GB | Maak en combineer vrije ruimte van / en /mnt | Nee | Nee | Nee | Geen | | Cleave | ~115GB | Maak krachtige, beslissende sneden in grote pakketten | Minimaal | Ja | Ja | /opt en /usr/local | | Rampage | ~130GB | Meedogenloze, brute eliminatie van alle ballast | Agressief | Ja | Ja | Muahahaha! 🔥🌎 |

Kies wijs:

Getuige De Slachting 🩸

Standaard wordt het opschoningsproces stilletjes op de achtergrond uitgevoerd terwijl je workflow doorgaat. Maar als je het bloedbad in realtime wilt bekijken:

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

Pas veilige havens aan 🛡️

Bepaal hoeveel ruimte je wilt vrijhouden van de Nix store-inname met aangepaste veilige haven-groottes:

- 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

Deze veilige havens bepalen hoeveel ruimte (in MB) genadig zal worden gespaard tijdens ruimte-terugwinning:

Verhoog deze waarden als je meer ademruimte op je bestandssystemen nodig hebt, of verlaag ze om geen genade te tonen! 😈

Geef gebruikers eigenaarschap van /nix (Nix Permission Edict) 🧑‍⚖️

Sommige Nix-installers of configuraties verwachten dat de map /nix schrijfbaar is voor de huidige gebruiker. Standaard is /nix eigendom van root. Als je gebruikers-eigenaarschap nodig hebt (bijvoorbeeld voor bepaalde Nix-installatiescripts die niet sudo gebruiken voor alle bewerkingen binnen /nix), kun je de nix-permission-edict inschakelen:

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

Wanneer nix-permission-edict is ingesteld op true, zal de actie sudo chown -R "$(id --user)":"$(id --group)" /nix uitvoeren na het aankoppelen van /nix.

Ga nu iets geweldigs bouwen met al die glorieuze Nix store-ruimte! ❄️ --- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---