Web Analytics

nothing-but-nix

⭐ 126 stars Italian by wimpysworld

🌐 Lingua

Nothing but Nix

Trasforma il tuo runner di GitHub Actions in una potenza Nix ❄️ eliminando senza pietà il software preinstallato superfluo.

I runner di GitHub Actions hanno pochissimo spazio su disco per Nix - appena ~20GB. Nothing but Nix spazza via brutalmente il software non necessario, liberando per te 65GB fino a 130GB per il tuo Nix store! 💪

Utilizzo 🔧

Aggiungi questa action prima di installare Nix nel tuo 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...

Requisiti ️✔️

Il Problema: Fare Spazio per la Crescita di Nix 🌱

I runner standard di GitHub Actions sono pieni di "bloatware" che non userai mai in un workflow Nix:

Questo bloat lascia solo ~20GB per il tuo Nix store - appena sufficienti per build Nix serie! 😞

La Soluzione: Solo Nix ️❄️

Solo Nix adotta un approccio "terra bruciata" sui runner di GitHub Actions e recupera spazio su disco senza pietà usando un attacco in due fasi:

La pulizia del filesystem è alimentata da rmz (dal progetto Fast Unix Commands (FUC)) - un'alternativa ad alte prestazioni a rm che rende il recupero dello spazio fulmineo! ⚡ Il risultato finale? Un runner GitHub Actions con da 65GB a 130GB di spazio pronto per Nix! 😁

Crescita Dinamica del Volume

A differenza di altre soluzioni, Solo Nix fa crescere dinamicamente il tuo volume /nix:

Il volume /nix cresce automaticamente durante l'esecuzione del workflow 🎩🪄

Scegli la Tua Arma: L'Hatchet Protocol 🪓

Controlla il livello di annientamento 💥 con l'input hatchet-protocol:

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

#### Confronto tra Protocolli ⚖️

| Protocollo | /nix | Descrizione | Purga apt | Purga docker | Purga snap | File system eliminati | |------------|--------|--------------------------------------------------|------------|--------------|------------|--------------------------| | Holster | ~65GB | Tieni la scure nel fodero, usa spazio da /mnt | No | No | No | Nessuno | | Carve | ~85GB | Combina e crea spazio libero da / e /mnt | No | No | No | Nessuno | | Cleave | ~115GB | Tagli potenti e decisi ai pacchetti più grandi | Minima | Sì | Sì | /opt e /usr/local | | Rampage | ~130GB | Eliminazione implacabile e brutale di ogni bloat | Aggressiva | Sì | Sì | Muahahaha! 🔥🌎 |

Scegli con saggezza:

Assisti al Massacro 🩸

Per impostazione predefinita, il processo di pulizia viene eseguito silenziosamente in background mentre il tuo workflow continua. Ma se vuoi guardare lo sterminio in tempo reale:

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

Personalizza le Zone Sicure 🛡️

Controlla quanto spazio riservare dal recupero di spazio del Nix store con dimensioni personalizzate delle zone sicure:

- 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

Questi rifugi sicuri definiscono quanto spazio (in MB) verrà misericordiosamente risparmiato durante il recupero dello spazio:

Aumenta questi valori se hai bisogno di più margine sui tuoi filesystem, oppure diminuiscili per non mostrare alcuna pietà! 😈

Concedi la proprietà utente di /nix (Editto sui permessi Nix) 🧑‍⚖️

Alcuni installer o configurazioni di Nix si aspettano che la directory /nix sia scrivibile dall’utente corrente. Di default, /nix è di proprietà di root. Se hai bisogno della proprietà utente (ad es. per alcuni script di installazione Nix che non usano sudo per tutte le operazioni all’interno di /nix), puoi abilitare nix-permission-edict:

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

Quando nix-permission-edict è impostato su true, l'azione eseguirà sudo chown -R "$(id --user)":"$(id --group)" /nix dopo aver montato /nix.

Ora vai e costruisci qualcosa di straordinario con tutto quello spazio glorioso nel Nix store! ❄️ --- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---