Tiga sebab "Lua runtime failed" tiap kali yazi dibuka: - ncurses tidak ada di daftar paket dasar, jadi `clear` tidak ada di image minimal (Fedora/Debian container). - git tidak ada, sehingga `ya pkg add` gagal. Kegagalan itu tersembunyi karena run_as_user memakai `2>/dev/null` + `|| true`, jadi script tetap melaporkan "selesai" padahal init.lua memanggil plugin yang tak pernah ada. - fg.yazi di-clone dari github.com/DreamMaoMao/fg.yazi, padahal repo itu hanya ada di Gitee sehingga 404 lalu meminta kredensial. - tambah ncurses + git pada kelima package manager - hapus 2>/dev/null di run_as_user supaya kegagalan kelihatan - ganti clone manual fg.yazi -> `ya pkg add lpnh/fg`
77 lines
2.8 KiB
Markdown
77 lines
2.8 KiB
Markdown
# temp-own
|
||
|
||
Installer sekali jalan untuk terminal dev environment:
|
||
|
||
**fish** (shell default) + **starship** (polos) + **yazi** (+ plugin & metadata media) +
|
||
**micro** (editor) + **lazydocker** + **fastfetch** (greeting) + **mediainfo** + **ouch** (arsip).
|
||
|
||
- **Auto-deteksi distro** (pacman / apt / dnf / zypper / apk) — pakai paket distro bila ada, kalau tidak ambil dari sumber resmi.
|
||
- **fish jadi default shell** + config global di `/etc/fish/conf.d/`.
|
||
- **Yazi**: editor default **micro**, pratinjau **metadata media** (mediainfo), pratinjau & ekstrak **arsip** (ouch), plus keybind `fg` / `zoxide` / `chmod`.
|
||
- Hanya butuh **sudo**. Idempotent (aman diulang).
|
||
|
||
## Instal (satu perintah)
|
||
|
||
```sh
|
||
curl -fsSL https://gitea.oxpoe.qzz.io/oxpoe/temp-own/raw/branch/main/install.sh | sudo bash
|
||
```
|
||
|
||
## Yang dipasang
|
||
|
||
| Tool | Fungsi | Sumber |
|
||
|---|---|---|
|
||
| fish | shell | repo distro |
|
||
| starship | prompt (polos) | repo distro / starship.rs |
|
||
| yazi | file manager | repo distro / release GitHub |
|
||
| micro | editor | repo distro / getmic.ro |
|
||
| lazydocker | TUI Docker | repo distro / script resmi |
|
||
| fastfetch | greeting | repo distro |
|
||
| mediainfo | metadata media (yazi) | repo distro |
|
||
| ouch | arsip zip/tar/7z/… (yazi) | repo distro / release GitHub |
|
||
|
||
Paket dasar yang selalu dipasang: `curl`, `unzip`, `tar`, `gzip`, `bash`, `ca-certificates`, `ncurses`, `git`
|
||
(NCurses menyediakan `clear`, `tput`, dan utilitas terminal lain — tanpa itu `clear` tidak ada di image minimal.
|
||
`git` dibutuhkan `ya pkg add` untuk meng-clone plugin Yazi.)
|
||
|
||
Yang tak tersedia di repo distro dipasang ke `/usr/local/bin`.
|
||
|
||
## Yang diubah di sistem
|
||
|
||
- `/etc/shells` → menambah path `fish`.
|
||
- `/etc/fish/conf.d/temp-own.fish` → config fish **semua user**:
|
||
`EDITOR`/`VISUAL=micro`, `starship init fish`, dan **greeting `fastfetch`**.
|
||
- default shell user (SUDO_USER) & `root` → fish (`chsh`).
|
||
- `~/.config/yazi/` (user + root) → `yazi.toml` (editor micro, previewer mediainfo/ouch, ekstrak ouch), `keymap.toml`, `init.lua` — file lama di-backup `.bak-<ts>`.
|
||
- Plugin Yazi: `full-border`, `smart-filter`, `chmod`, `ouch`, `mediainfo`, `fg` (`lpnh/fg`).
|
||
|
||
## Keybind Yazi
|
||
|
||
| Tombol | Fungsi |
|
||
|---|---|
|
||
| `C` | kompres (ouch) |
|
||
| `Enter` pada arsip | ekstrak (ouch) |
|
||
| `f` `g` / `f` `G` / `f` `f` | cari isi (fuzzy/ripgrep) / cari nama |
|
||
| `Z` | lompat direktori (zoxide) |
|
||
| `c` `h` | chmod |
|
||
|
||
## Setelah install
|
||
|
||
Logout–login (atau buka terminal baru) agar shell fish aktif. Cek:
|
||
|
||
```sh
|
||
echo $SHELL
|
||
starship --version; yazi --version; micro --version
|
||
lazydocker --version; fastfetch --version; mediainfo --version; ouch --version
|
||
```
|
||
|
||
## Catatan
|
||
|
||
- `chsh` untuk user lain (uid ≥ 1000) bisa manual:
|
||
`sudo chsh -s "$(command -v fish)" <user>`
|
||
- Untuk menghapus: balikkan shell ke bash, hapus `/etc/fish/conf.d/temp-own.fish`,
|
||
dan `~/.config/yazi/` bila perlu.
|
||
|
||
## Lisensi
|
||
|
||
MIT
|