Web Analytics

nothing-but-nix

⭐ 126 stars German by wimpysworld

🌐 Sprache

Nothing but Nix

Verwandle deinen GitHub Actions Runner in eine Nix ❄️-Power-Maschine, indem du vorinstallierten Ballast gnadenlos entfernst.

GitHub Actions Runner bieten nur wenig Speicherplatz für Nix – gerade mal etwa ~20GB. Nothing but Nix entfernt kompromisslos unnötige Software und verschafft dir 65GB bis 130GB für deinen Nix-Store! 💪

Verwendung 🔧

Füge diese Action vor der Nix-Installation in deinem Workflow hinzu:

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

Anforderungen ️✔️

Das Problem: Platz schaffen, damit Nix gedeihen kann 🌱

Standard-GitHub-Actions-Runner sind vollgestopft mit "Bloatware", die du in einem Nix-Workflow nie brauchen wirst:

Dieser Ballast lässt nur ~20GB für deinen Nix-Store übrig – kaum genug für ernsthafte Nix-Builds! 😞

Die Lösung: Nichts als Nix ️❄️

Nichts als Nix setzt auf eine radikale Strategie bei GitHub-Actions-Runnern und holt erbarmungslos Speicherplatz mit einem zweiphasigen Ansatz zurück:

Die Säuberung des Dateisystems erfolgt mit rmz (aus dem Fast Unix Commands (FUC) Projekt) – einer Hochleistungs-Alternative zu rm, die das Freimachen von Speicherplatz blitzschnell macht! ⚡ Das Endergebnis? Ein GitHub-Actions-Runner mit 65GB bis 130GB Nix-bereitem Speicherplatz! 😁

Dynamisches Volumenwachstum

Im Gegensatz zu anderen Lösungen wächst Nichts als Nix dein /nix-Volume dynamisch:

Das /nix-Volume wächst automatisch während der Workflow-Ausführung 🎩🪄

Wähle deine Waffe: Das Hatchet-Protokoll 🪓

Steuere den Grad der Vernichtung 💥 mit dem hatchet-protocol Input:

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

#### Protokollvergleich ⚖️

| Protokoll | /nix | Beschreibung | Apt bereinigen | Docker bereinigen | Snap bereinigen | Bereinigte Dateisysteme | |-----------|--------|---------------------------------------------------|----------------|-------------------|-----------------|-----------------------------| | Holster | ~65GB | Die Axt bleibt in der Scheide, nutzt Platz von /mnt | Nein | Nein | Nein | Keine | | Carve | ~85GB | Kombiniert und gewinnt freien Speicher von / und /mnt | Nein | Nein | Nein | Keine | | Cleave | ~115GB | Mächtige, entschlossene Schnitte bei großen Paketen | Minimal | Ja | Ja | /opt und /usr/local | | Rampage | ~130GB | Unerbittliche, brutale Eliminierung allen Ballasts | Aggressiv | Ja | Ja | Muahahaha! 🔥🌎 |

Wähle mit Bedacht:

Sieh das Gemetzel 🩸

Standardmäßig läuft der Bereinigungsprozess im Hintergrund still ab, während dein Workflow weiterläuft. Aber wenn du das Gemetzel in Echtzeit sehen möchtest:

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

Sichere Zufluchtsorte anpassen 🛡️

Bestimmen Sie, wie viel Platz Sie für die Nix-Store-Landnahme freihalten möchten, mit benutzerdefinierten Größen für sichere Zufluchtsorte:

- 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

Diese Schutzbereiche legen fest, wie viel Speicherplatz (in MB) bei der Speicherbereinigung gnädig verschont bleibt:

Erhöhen Sie diese Werte, wenn Sie mehr Luft auf Ihren Dateisystemen benötigen, oder verringern Sie sie, um keine Gnade zu zeigen! 😈

Benutzerbesitz für /nix gewähren (Nix-Berechtigungsedikt) 🧑‍⚖️

Einige Nix-Installer oder -Konfigurationen erwarten, dass das Verzeichnis /nix vom aktuellen Benutzer beschreibbar ist. Standardmäßig gehört /nix root. Wenn Sie den Benutzerbesitz benötigen (z. B. für bestimmte Nix-Installer-Skripte, die nicht für alle Operationen innerhalb von /nix sudo verwenden), können Sie das nix-permission-edict aktivieren:

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

Wenn nix-permission-edict auf true gesetzt ist, führt die Aktion nach dem Einhängen von /nix den Befehl sudo chown -R "$(id --user)":"$(id --group)" /nix aus.

Jetzt geh und baue etwas Großartiges mit all dem herrlichen Speicherplatz im Nix-Store! ❄️ --- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---