Web Analytics

nothing-but-nix

⭐ 126 stars French by wimpysworld

🌐 Langue

Nothing but Nix

Transformez votre runner GitHub Actions en une centrale Nix ❄️ en supprimant sans pitié les logiciels préinstallés superflus.

Les runners GitHub Actions offrent très peu d’espace disque pour Nix – à peine ~20 Go. Nothing but Nix purge radicalement les logiciels inutiles, vous offrant 65 Go à 130 Go pour votre store Nix ! 💪

Utilisation 🔧

Ajoutez cette action avant d’installer Nix dans votre 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...

Exigences ️✔️

Le problème : faire de la place pour que Nix prospère 🌱

Les runners GitHub Actions standards sont remplis de "bloatware" que vous n'utiliserez jamais dans un workflow Nix :

Cette surcharge ne laisse qu'environ ~20 Go pour votre magasin Nix - à peine assez pour des builds Nix sérieux ! 😞

La solution : Rien que Nix ️❄️

Rien que Nix adopte une approche radicale sur les runners GitHub Actions et récupère sans pitié l'espace disque grâce à une attaque en deux phases :

Le nettoyage du système de fichiers est propulsé par rmz (du projet Fast Unix Commands (FUC)) - une alternative haute performance à rm qui accélère la libération d'espace ! ⚡ Le résultat final ? Un runner GitHub Actions avec 65 Go à 130 Go d'espace prêt pour Nix ! 😁

Croissance dynamique du volume

Contrairement à d'autres solutions, Rien que Nix fait croître dynamiquement votre volume /nix :

Le volume /nix s'agrandit automatiquement pendant l'exécution du workflow 🎩🪄

Choisissez votre arme : Le protocole Hatchet 🪓

Contrôlez le niveau d'annihilation 💥 avec l'entrée hatchet-protocol :

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

#### Comparaison des Protocoles ⚖️

| Protocole | /nix | Description | Purger apt | Purger docker | Purger snap | Systèmes de fichiers purgés | |-----------|--------|----------------------------------------------------|-------------|---------------|-------------|-------------------------------| | Holster | ~65Go | Garder la hache dans son fourreau, utiliser /mnt | Non | Non | Non | Aucun | | Carve | ~85Go | Fusionner l’espace libre de / et /mnt | Non | Non | Non | Aucun | | Cleave | ~115Go | Couper puissamment les gros paquets | Minimal | Oui | Oui | /opt et /usr/local | | Rampage | ~130Go | Élimination brutale et implacable de tout surplus | Agressif | Oui | Oui | Mouahahaha ! 🔥🌎 |

Choisissez judicieusement :

Soyez témoin du carnage 🩸

Par défaut, le processus de purge s’exécute silencieusement en arrière-plan pendant que votre workflow continue. Mais si vous souhaitez assister au massacre en temps réel :

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

Personnalisez les zones sûres 🛡️

Contrôlez l’espace à préserver de l’appropriation du Nix store grâce à des tailles de zones sûres personnalisées :

- 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

Ces refuges sûrs définissent combien d’espace (en Mo) sera gracieusement épargné lors de la récupération d’espace :

Augmentez ces valeurs si vous avez besoin de plus d’espace libre sur vos systèmes de fichiers, ou diminuez-les pour ne faire preuve d’aucune pitié ! 😈

Accorder la propriété utilisateur de /nix (Édit de permission Nix) 🧑‍⚖️

Certains installateurs ou configurations Nix attendent que le répertoire /nix soit accessible en écriture par l’utilisateur courant. Par défaut, /nix appartient à root. Si vous avez besoin de la propriété utilisateur (par exemple, pour certains scripts d’installation Nix qui n’utilisent pas sudo pour toutes les opérations dans /nix), vous pouvez activer le nix-permission-edict :

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

Lorsque nix-permission-edict est défini sur true, l’action exécutera sudo chown -R "$(id --user)":"$(id --group)" /nix après avoir monté /nix.

Allez maintenant construire quelque chose d’incroyable avec tout cet espace glorieux du store Nix ! ❄️ --- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---