Web Analytics

nothing-but-nix

⭐ 126 stars Indonesian by wimpysworld

🌐 Bahasa

Nothing but Nix

Ubah runner GitHub Actions Anda menjadi pusat tenaga Nix ❄️ dengan memangkas habis bloatware yang sudah terpasang.

Runner GitHub Actions hanya menyediakan ruang disk sedikit untuk Nix - hanya sekitar ~20GB. Nothing but Nix secara brutal membersihkan perangkat lunak yang tidak diperlukan, memberi Anda 65GB hingga 130GB untuk Nix store Anda! 💪

Penggunaan 🔧

Tambahkan action ini sebelum menginstal Nix di workflow Anda:

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

Persyaratan ️✔️

Masalah: Memberi Ruang untuk Nix Berkembang 🌱

Runner standar GitHub Actions dipenuhi dengan "bloatware" yang tidak akan pernah Anda gunakan dalam workflow Nix:

Bloat ini hanya menyisakan ~20GB untuk Nix store Anda - nyaris tidak cukup untuk build Nix yang serius! 😞

Solusi: Hanya Ada Nix ️❄️

Nothing but Nix mengambil pendekatan "scorched-earth" pada runner GitHub Actions dan dengan tanpa ampun merebut kembali ruang disk dengan serangan dua fase:

Pembersihan file system ini didukung oleh rmz (dari proyek Fast Unix Commands (FUC)) - alternatif rm berperforma tinggi yang membuat proses reclaim ruang jadi super cepat! ⚡ Hasil akhirnya? Runner GitHub Actions dengan ruang siap Nix 65GB sampai 130GB! 😁

Pertumbuhan Volume Dinamis

Berbeda dengan solusi lain, Nothing but Nix menumbuhkan volume /nix Anda secara dinamis:

Volume /nix secara otomatis bertambah selama eksekusi workflow 🎩🪄

Pilih Senjata Anda: Hatchet Protocol 🪓

Kendalikan tingkat pemusnahan 💥 dengan input hatchet-protocol:

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

#### Perbandingan Protokol ⚖️

| Protokol | /nix | Deskripsi | Hapus apt | Hapus docker | Hapus snap | Sistem file yang dihapus | |----------|--------|-----------------------------------------------------|------------|--------------|------------|-----------------------------| | Holster | ~65GB | Simpan kapak, gunakan ruang dari /mnt | Tidak | Tidak | Tidak | Tidak ada | | Carve | ~85GB | Gabungkan dan ramu ruang bebas dari / dan /mnt | Tidak | Tidak | Tidak | Tidak ada | | Cleave | ~115GB | Potong paket besar secara kuat dan tegas | Minimal | Ya | Ya | /opt dan /usr/local | | Rampage | ~130GB | Penghapusan brutal dan tanpa ampun terhadap bloat | Agresif | Ya | Ya | Muahahaha! 🔥🌎 |

Pilih dengan bijak:

Saksikan Kebengisan 🩸

Secara default, proses penghapusan berjalan diam-diam di latar belakang saat workflow Anda berlanjut. Namun jika Anda ingin menonton prosesnya secara real-time:

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

Kustomisasi Safe Havens 🛡️

Kendalikan berapa banyak ruang yang ingin disisakan dari pengambilan ruang Nix store dengan ukuran safe haven yang dapat dikustomisasi:

- 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

Tempat aman ini menentukan berapa banyak ruang (dalam MB) yang akan disisakan dengan murah hati selama proses reclaiming ruang:

Tingkatkan nilai-nilai ini jika Anda membutuhkan lebih banyak ruang lega di sistem file Anda, atau turunkan untuk tidak memberi ampun! 😈

Berikan Kepemilikan Pengguna pada /nix (Nix Permission Edict) 🧑‍⚖️

Beberapa installer atau konfigurasi Nix mengharapkan direktori /nix dapat ditulis oleh pengguna saat ini. Secara default, /nix dimiliki oleh root. Jika Anda membutuhkan kepemilikan pengguna (misalnya, untuk beberapa skrip installer Nix tertentu yang tidak menggunakan sudo untuk semua operasi di dalam /nix), Anda dapat mengaktifkan nix-permission-edict:

- uses: wimpysworld/nothing-but-nix@main
  with:
    nix-permission-edict: true  # Default: false
Ketika nix-permission-edict disetel ke true, aksi akan menjalankan sudo chown -R "$(id --user)":"$(id --group)" /nix setelah me-mount /nix.

Sekarang pergilah dan bangun sesuatu yang menakjubkan dengan semua ruang Nix store yang luar biasa itu! ❄️

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