Web Analytics

nothing-but-nix

⭐ 126 stars Spanish by wimpysworld

🌐 Idioma

Nothing but Nix

Transforma tu runner de GitHub Actions en una potencia Nix ❄️ eliminando sin piedad el software preinstalado innecesario.

Los runners de GitHub Actions vienen con un espacio en disco escaso para Nix: apenas ~20GB. Nothing but Nix elimina brutalmente el software innecesario, ¡dándote 65GB a 130GB para tu Nix store! 💪

Uso 🔧

Agrega esta acción antes de instalar Nix en tu flujo de trabajo:

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

Requisitos ️✔️

El Problema: Haciendo Espacio para que Nix Prospere 🌱

Los runners estándar de GitHub Actions están llenos de "bloatware" que nunca usarás en un flujo de trabajo Nix:

Este exceso deja solo ~20GB para tu almacén Nix, ¡apenas suficiente para compilaciones Nix serias! 😞

La Solución: Nada más que Nix ️❄️

Nada más que Nix aplica una estrategia de tierra arrasada a los runners de GitHub Actions y recupera espacio en disco sin piedad usando un ataque en dos fases:

La purga del sistema de archivos es impulsada por rmz (del proyecto Fast Unix Commands (FUC)) - una alternativa de alto rendimiento a rm que hace que la recuperación de espacio sea rapidísima ⚡ ¿El resultado final? ¡Un runner de GitHub Actions con 65GB a 130GB de espacio listo para Nix! 😁

Crecimiento Dinámico del Volumen

A diferencia de otras soluciones, Nada más que Nix hace crecer tu volumen /nix dinámicamente:

El volumen /nix crece automáticamente durante la ejecución del flujo de trabajo 🎩🪄

Elige Tu Arma: El Protocolo Hatchet 🪓

Controla el nivel de aniquilación 💥 con el parámetro de entrada hatchet-protocol:

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

#### Comparación de Protocolos ⚖️

| Protocolo | /nix | Descripción | Purgar apt | Purgar docker | Purgar snap | Sistemas de archivos purgados | |-----------|--------|--------------------------------------------------|-------------|---------------|-------------|-----------------------------------| | Holster | ~65GB | Mantén el hacha envainada, usa espacio de /mnt | No | No | No | Ninguno | | Carve | ~85GB | Fabrica y combina espacio libre de / y /mnt | No | No | No | Ninguno | | Cleave | ~115GB | Haz cortes potentes y decisivos a paquetes grandes| Mínimo | Sí | Sí | /opt y /usr/local | | Rampage | ~130GB | Eliminación implacable y brutal de todo el bloat | Agresivo | Sí | Sí | ¡Muajajaja! 🔥🌎 |

Elige sabiamente:

Sé Testigo de la Carnicería 🩸

Por defecto, el proceso de purga se ejecuta silenciosamente en segundo plano mientras tu flujo de trabajo continúa. Pero si quieres ver la masacre en tiempo real:

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

Personaliza Refugios Seguros 🛡️

Controla cuánto espacio reservar del acaparamiento de la tienda Nix con tamaños personalizados de refugio seguro:

- 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

Estos refugios seguros definen cuánto espacio (en MB) será misericordiosamente preservado durante la recuperación de espacio:

Aumenta estos valores si necesitas más margen en tus sistemas de archivos, o redúcelos para no mostrar piedad alguna. 😈

Otorgar propiedad de /nix al usuario (Edicto de Permisos de Nix) 🧑‍⚖️

Algunos instaladores o configuraciones de Nix esperan que el directorio /nix sea escribible por el usuario actual. Por defecto, /nix pertenece a root. Si necesitas propiedad de usuario (por ejemplo, para ciertos scripts de instalación de Nix que no usan sudo para todas las operaciones dentro de /nix), puedes habilitar el nix-permission-edict:

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

Cuando nix-permission-edict está configurado en true, la acción ejecutará sudo chown -R "$(id --user)":"$(id --group)" /nix después de montar /nix.

¡Ahora ve y construye algo asombroso con todo ese glorioso espacio del Nix store! ❄️ --- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---