Web Analytics

nothing-but-nix

⭐ 126 stars Portuguese by wimpysworld

🌐 Idioma

Nothing but Nix

Transforme seu runner do GitHub Actions em uma potência Nix ❄️ eliminando implacavelmente softwares pré-instalados desnecessários.

Os runners do GitHub Actions vêm com pouco espaço em disco para o Nix – apenas cerca de ~20GB. Nothing but Nix remove brutalmente softwares desnecessários, fornecendo 65GB a 130GB para sua Nix store! 💪

Uso 🔧

Adicione esta action antes de instalar o Nix em seu 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...

Requisitos ️✔️

O Problema: Abrindo Espaço para o Nix Prosperar 🌱

Os runners padrão do GitHub Actions estão cheios de "bloatware" que você nunca usará em um fluxo de trabalho Nix:

Esse excesso deixa apenas ~20GB para seu repositório Nix - mal o suficiente para builds Nix sérios! 😞

A Solução: Só Nix ️❄️

Só Nix adota uma abordagem radical nos runners do GitHub Actions e recupera espaço em disco de forma impiedosa usando um ataque em duas fases:

A limpeza do sistema de arquivos é feita pelo rmz (do projeto Fast Unix Commands (FUC)) - uma alternativa de alto desempenho ao rm que torna a recuperação de espaço extremamente rápida! ⚡ O resultado final? Um runner do GitHub Actions com 65GB a 130GB de espaço pronto para Nix! 😁

Crescimento Dinâmico do Volume

Diferente de outras soluções, o Só Nix aumenta seu volume /nix de forma dinâmica:

O volume /nix cresce automaticamente durante a execução do workflow 🎩🪄

Escolha sua Arma: O Hatchet Protocol 🪓

Controle o nível de aniquilação 💥 com a entrada hatchet-protocol:

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

#### Comparação de Protocolos ⚖️

| Protocolo | /nix | Descrição | Purge apt | Purge docker | Purge snap | Sistemas de arquivos eliminados | |-----------|--------|---------------------------------------------------|------------|--------------|------------|-------------------------------------| | Holster | ~65GB | Mantenha o machado embainhado, use espaço do /mnt | Não | Não | Não | Nenhum | | Carve | ~85GB | Crie e combine espaço livre de / e /mnt | Não | Não | Não | Nenhum | | Cleave | ~115GB | Faça cortes poderosos e decisivos em pacotes grandes | Mínimo | Sim | Sim | /opt e /usr/local | | Rampage | ~130GB | Eliminação implacável e brutal de todo o excesso | Agressivo | Sim | Sim | Muahahaha! 🔥🌎 |

Escolha com sabedoria:

Testemunhe a Carnificina 🩸

Por padrão, o processo de limpeza é executado silenciosamente em segundo plano enquanto seu fluxo de trabalho continua. Mas se quiser assistir ao massacre em tempo real:

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

Personalize Refúgios Seguros 🛡️

Controle quanto espaço reservar do avanço do Nix store com tamanhos personalizados de refúgio 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

Esses refúgios seguros definem quanto espaço (em MB) será misericordiosamente poupado durante a liberação de espaço:

Aumente esses valores se precisar de mais espaço livre em seus sistemas de arquivos ou diminua-os para não mostrar misericórdia! 😈

Conceder Propriedade de Usuário ao /nix (Édito de Permissão do Nix) 🧑‍⚖️

Alguns instaladores ou configurações do Nix esperam que o diretório /nix seja gravável pelo usuário atual. Por padrão, o /nix pertence ao root. Se você precisar de propriedade de usuário (por exemplo, para certos scripts de instalação do Nix que não usam sudo para todas as operações dentro de /nix), você pode ativar o nix-permission-edict:

- uses: wimpysworld/nothing-but-nix@main
  with:
    nix-permission-edict: true  # Default: false
Quando nix-permission-edict está definido como true, a ação executará sudo chown -R "$(id --user)":"$(id --group)" /nix após montar o /nix.

Agora vá e construa algo incrível com todo esse glorioso espaço da Nix store! ❄️

--- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---