Web Analytics

nothing-but-nix

⭐ 126 stars Polish by wimpysworld

🌐 Język

Nothing but Nix

Zamień swojego runnera GitHub Actions w potęgę Nix ❄️, bezlitośnie usuwając zbędne, preinstalowane oprogramowanie.

Runnery GitHub Actions mają niewiele miejsca na dysku dla Nix – zaledwie ~20GB. Nothing but Nix brutalnie czyści niepotrzebne oprogramowanie, zapewniając Ci 65GB do 130GB na Twój store Nix! 💪

Użycie 🔧

Dodaj tę akcję przed instalacją Nix w swoim 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...

Wymagania ️✔️

Problem: Zrób miejsce, by Nix mógł rozkwitnąć 🌱

Standardowe runner'y GitHub Actions są wypchane "bloatware'em", którego nigdy nie użyjesz w workflow Nix:

To zbędne oprogramowanie zostawia tylko ~20GB dla twojego Nix store – ledwie wystarcza na poważne buildy Nix! 😞

Rozwiązanie: Nic poza Nix ️❄️

Nic poza Nix stosuje taktykę spalonej ziemi wobec runner'ów GitHub Actions i bezwzględnie odzyskuje miejsce na dysku, stosując dwufazowy atak:

Czyszczenie systemu plików napędza rmz (z projektu Fast Unix Commands (FUC)) – wysokowydajna alternatywa dla rm, która błyskawicznie odzyskuje miejsce! ⚡ Efekt końcowy? Runner GitHub Actions z 65GB do 130GB miejsca gotowego na Nix! 😁

Dynamiczny wzrost woluminu

W przeciwieństwie do innych rozwiązań, Nic poza Nix dynamicznie powiększa wolumin /nix:

Wolumin /nix powiększa się automatycznie podczas wykonywania workflow 🎩🪄

Wybierz swoją broń: Hatchet Protocol 🪓

Kontroluj poziom anihilacji 💥 za pomocą parametru hatchet-protocol:

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

#### Porównanie protokołów ⚖️

| Protokół | /nix | Opis | Usuń apt | Usuń docker | Usuń snap | Usunięte systemy plików | |----------|--------|--------------------------------------------------|------------|--------------|------------|-----------------------------| | Holster | ~65GB | Trzymaj topór w pochwie, użyj miejsca z /mnt | Nie | Nie | Nie | Brak | | Carve | ~85GB | Zgromadź i połącz wolne miejsce z / i /mnt | Nie | Nie | Nie | Brak | | Cleave | ~115GB | Wykonaj potężne, zdecydowane cięcia dużych pakietów | Minimalnie | Tak | Tak | /opt i /usr/local | | Rampage | ~130GB | Bezlitosna, brutalna eliminacja wszelkich śmieci | Agresywne | Tak | Tak | Muahahaha! 🔥🌎 |

Wybieraj mądrze:

Obejrzyj rzeź 🩸

Domyślnie proces czyszczenia wykonuje się po cichu w tle, podczas gdy Twój workflow trwa dalej. Ale jeśli chcesz oglądać rzeźnię na żywo:

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

Dostosuj Bezpieczne Przestrzenie 🛡️

Kontroluj, ile miejsca chcesz zarezerwować przed przejęciem przez Nix store, ustalając własne rozmiary bezpiecznych przestrzeni:

- 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

Te bezpieczne strefy określają, ile miejsca (w MB) zostanie łaskawie oszczędzone podczas odzyskiwania przestrzeni:

Zwiększ te wartości, jeśli potrzebujesz więcej wolnej przestrzeni na swoich systemach plików, lub zmniejsz je, aby nie okazywać litości! 😈

Przyznanie użytkownikowi własności /nix (Dekret uprawnień Nix) 🧑‍⚖️

Niektóre instalatory lub konfiguracje Nix oczekują, że katalog /nix będzie zapisywalny przez bieżącego użytkownika. Domyślnie /nix jest własnością roota. Jeśli potrzebujesz własności użytkownika (np. dla niektórych skryptów instalacyjnych Nix, które nie używają sudo do wszystkich operacji w /nix), możesz włączyć nix-permission-edict:

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

Gdy nix-permission-edict jest ustawione na true, akcja wykona sudo chown -R "$(id --user)":"$(id --group)" /nix po zamontowaniu /nix.

Teraz idź i zbuduj coś niesamowitego, mając do dyspozycji całą tę wspaniałą przestrzeń sklepu Nix! ❄️ --- Tranlated By Open Ai Tx | Last indexed: 2025-07-24 ---