Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save phalconyx/d490bd96fcae8891e2e86d623406e45e to your computer and use it in GitHub Desktop.

Select an option

Save phalconyx/d490bd96fcae8891e2e86d623406e45e to your computer and use it in GitHub Desktop.

Tutorial Instalasi smarzban/herdr-file-viewer pada Raspberry Pi

1. Tujuan

Dokumentasi ini menjelaskan proses instalasi plugin smarzban/herdr-file-viewer pada Herdr yang berjalan di Raspberry Pi OS 64-bit.

Plugin ini berfungsi sebagai file explorer dan code viewer berbasis terminal di dalam Herdr. Plugin dapat digunakan untuk:

  • Menampilkan struktur direktori proyek.
  • Membuka dan membaca isi file.
  • Menampilkan status Git.
  • Melihat perubahan file dan Git diff.
  • Menampilkan Markdown dan syntax highlighting.
  • Membuka file melalui editor eksternal.

Plugin ini bersifat read-only. Plugin tidak ditujukan untuk menghapus, memindahkan, mengganti nama, atau mengedit file secara langsung.


2. Kondisi Sistem

Dokumentasi ini menggunakan lingkungan berikut:

Perangkat     : Raspberry Pi
Sistem operasi: Raspberry Pi OS 64-bit
Arsitektur    : aarch64
Pengguna      : fajarb
Herdr         : sudah terinstal
Akses         : SSH dari MacBook menggunakan iTerm2

Periksa arsitektur Raspberry Pi:

uname -m

Jika hasilnya:

aarch64

Raspberry Pi menggunakan Linux ARM64.


3. Kendala pada Linux ARM64

Instalasi awal dapat gagal dengan pesan seperti berikut:

no prebuilt binary for Linux/aarch64
building from source instead

herdr-file-viewer needs Rust 1.96+ to build,
but cargo was not found

Penyebabnya:

  1. Pengembang plugin belum menyediakan binary siap pakai untuk Linux ARM64.
  2. Herdr harus mengompilasi plugin dari source.
  3. Proses kompilasi membutuhkan Rust dan Cargo.
  4. Raspberry Pi belum memiliki Cargo atau versi Rust yang sesuai.

Solusinya adalah memasang toolchain Rust melalui rustup, lalu mengulangi instalasi plugin.


4. Memeriksa Versi Herdr

Jalankan:

herdr --version

Pastikan Herdr dapat dijalankan dengan normal sebelum melanjutkan instalasi plugin.

Periksa server Herdr jika diperlukan:

herdr status server

5. Memasang Dependensi Dasar

Perbarui indeks paket:

sudo apt update

Pasang dependensi kompilasi:

sudo apt install -y curl build-essential git

Fungsi paket tersebut:

Paket Fungsi
curl Mengunduh installer Rust
build-essential Menyediakan compiler dan alat kompilasi
git Mengunduh source code plugin

6. Memasang Rust dengan rustup

Jalankan:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
  | sh -s -- -y --profile minimal

Setelah instalasi selesai, aktifkan environment Rust pada sesi terminal saat ini:

source "$HOME/.cargo/env"

Periksa versi Rust:

rustc --version

Periksa versi Cargo:

cargo --version

Periksa lokasi binary:

command -v rustc
command -v cargo

Hasil yang diharapkan kurang lebih:

/home/fajarb/.cargo/bin/rustc
/home/fajarb/.cargo/bin/cargo

Plugin membutuhkan Rust versi 1.96 atau lebih baru.


7. Memastikan Cargo Aktif Setelah Login Ulang

Installer Rust biasanya menambahkan konfigurasi environment secara otomatis. Namun, jika perintah cargo tidak ditemukan setelah login SSH ulang, jalankan:

source "$HOME/.cargo/env"

Agar selalu dimuat saat membuka Bash, pastikan baris berikut tersedia di ~/.bashrc:

. "$HOME/.cargo/env"

Periksa dengan:

grep -n 'cargo/env' ~/.bashrc

Jika belum ada, tambahkan:

echo '. "$HOME/.cargo/env"' >> ~/.bashrc
source ~/.bashrc

8. Memasang Plugin Herdr File Viewer

Jalankan:

herdr plugin install smarzban/herdr-file-viewer

Herdr akan menampilkan ringkasan plugin dan meminta konfirmasi:

Install this plugin? [y/N]

Ketik:

y

Karena Raspberry Pi menggunakan aarch64, installer akan mengompilasi plugin dari source.

Proses build dapat membutuhkan beberapa menit, tergantung kecepatan Raspberry Pi dan media penyimpanan.

Jangan hentikan proses selama kompilasi berlangsung.

Jika instalasi berhasil, akan muncul pesan seperti:

Installed herdr-file-viewer from smarzban/herdr-file-viewer.
Config: /home/fajarb/.config/herdr/plugins/config/herdr-file-viewer

Lokasi konfigurasi plugin:

/home/fajarb/.config/herdr/plugins/config/herdr-file-viewer

9. Memeriksa Plugin yang Terinstal

Jalankan:

herdr plugin list

Pastikan plugin berikut muncul:

herdr-file-viewer

10. Membuka File Viewer sebagai Split Pane

Masuk ke direktori proyek:

cd ~/nama-proyek

Jalankan Herdr:

herdr

Di dalam salah satu pane Herdr, jalankan:

herdr plugin action invoke open-file-viewer \
  --plugin herdr-file-viewer

File viewer akan terbuka sebagai split pane.


11. Membuka File Viewer sebagai Tab

Untuk membuka file viewer sebagai tab tersendiri:

herdr plugin action invoke open-file-viewer-tab \
  --plugin herdr-file-viewer

12. Menambahkan Shortcut Keyboard

Buka konfigurasi utama Herdr:

nano ~/.config/herdr/config.toml

Tambahkan bagian berikut pada akhir file:

[[keys.command]]
key = "prefix+f"
type = "plugin_action"
command = "herdr-file-viewer.open-file-viewer"
description = "Open file viewer in split"

[[keys.command]]
key = "prefix+shift+f"
type = "plugin_action"
command = "herdr-file-viewer.open-file-viewer-tab"
description = "Open file viewer in tab"

Simpan file:

Ctrl+O
Enter
Ctrl+X

Muat ulang konfigurasi Herdr:

herdr server reload-config

Shortcut yang dapat digunakan:

Ctrl+B, lalu f

Membuka file viewer sebagai split pane.

Ctrl+B, lalu Shift+F

Membuka file viewer sebagai tab.

Tombol tidak ditekan secara bersamaan. Tekan Ctrl+B, lepaskan, lalu tekan tombol berikutnya.


13. Shortcut Dasar di Dalam File Viewer

Tombol Fungsi
j Bergerak ke bawah
k Bergerak ke atas
Enter Membuka folder atau memilih file
f Mencari file
v Mengganti mode tampilan
Z Menampilkan file secara penuh
e Membuka file di editor
W Berpindah Git worktree
? Membuka bantuan
q Menutup file viewer

14. Perbedaan File Viewer dan Open Worktree

Menu bantuan Herdr dapat menampilkan:

unset    Open worktree

Fitur tersebut tidak sama dengan herdr-file-viewer.

Open Worktree

Fitur bawaan Herdr untuk membuka Git worktree sebagai workspace terpisah.

Contoh:

project-main        branch main
project-feature     branch feature-login
project-fix         branch fix-database

Herdr File Viewer

Plugin untuk menampilkan:

struktur folder | isi file | status Git | diff

Ringkasnya:

Open worktree  = membuka branch atau worktree sebagai workspace
File viewer    = menelusuri dan membaca file proyek

15. Renderer Tambahan

Plugin dapat berjalan tanpa renderer tambahan. Namun, beberapa paket dapat meningkatkan tampilan.

Pasang bat:

sudo apt install -y bat

Pada beberapa distribusi Debian, nama executable tersedia sebagai:

batcat

Periksa:

command -v bat
command -v batcat

Renderer lain yang dapat digunakan:

git-delta
glow

Fungsinya:

Program Fungsi
bat Syntax highlighting
git-delta Tampilan Git diff
glow Render Markdown

Plugin tetap dapat digunakan jika paket tersebut belum dipasang.


16. Troubleshooting

16.1 cargo: command not found

Jalankan:

source "$HOME/.cargo/env"

Kemudian verifikasi:

cargo --version

Jika masih tidak ditemukan:

ls -l ~/.cargo/bin/cargo

Tambahkan Cargo ke PATH:

export PATH="$HOME/.cargo/bin:$PATH"

16.2 Rust terlalu lama

Perbarui toolchain stable:

rustup update stable

Gunakan stable sebagai default:

rustup default stable

Periksa kembali:

rustc --version
cargo --version

16.3 Instalasi plugin gagal setelah build

Hapus instalasi sementara jika masih tersisa:

ls -la ~/.config/herdr/plugins/

Kemudian ulangi:

herdr plugin install smarzban/herdr-file-viewer

Pastikan tersedia ruang penyimpanan:

df -h

Pastikan RAM dan swap mencukupi:

free -h

16.4 Plugin terinstal tetapi tidak dapat dibuka

Periksa daftar plugin:

herdr plugin list

Jalankan action secara langsung:

herdr plugin action invoke open-file-viewer \
  --plugin herdr-file-viewer

Periksa log Herdr:

tail -n 100 ~/.config/herdr/herdr-server.log

Periksa log client:

tail -n 100 ~/.config/herdr/herdr-client.log

16.5 Shortcut tidak berfungsi

Periksa isi konfigurasi:

cat ~/.config/herdr/config.toml

Muat ulang:

herdr server reload-config

Buka bantuan shortcut:

Ctrl+B, lalu ?

Pastikan shortcut file viewer muncul pada daftar.


17. Perintah Ringkas Instalasi

Berikut rangkaian perintah utama:

sudo apt update
sudo apt install -y curl build-essential git

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
  | sh -s -- -y --profile minimal

source "$HOME/.cargo/env"

rustc --version
cargo --version

herdr plugin install smarzban/herdr-file-viewer

herdr plugin list

Untuk membukanya sebagai split:

herdr plugin action invoke open-file-viewer \
  --plugin herdr-file-viewer

Untuk membukanya sebagai tab:

herdr plugin action invoke open-file-viewer-tab \
  --plugin herdr-file-viewer

18. Kesimpulan

Pada Raspberry Pi dengan arsitektur aarch64, plugin smarzban/herdr-file-viewer harus dikompilasi dari source karena binary Linux ARM64 belum tersedia.

Tahapan utamanya:

  1. Memasang dependensi kompilasi.
  2. Memasang Rust dan Cargo melalui rustup.
  3. Memastikan Rust memenuhi persyaratan versi.
  4. Memasang plugin melalui Herdr.
  5. Membuka plugin menggunakan action atau shortcut.
  6. Memuat ulang konfigurasi setelah menambahkan keybinding.

Setelah instalasi selesai, file viewer dapat digunakan untuk memantau struktur proyek, membaca file, melihat perubahan Git, dan memeriksa hasil kerja agent secara langsung dari dalam Herdr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment