Easy Manage Package on Void Linux

Nestero
Bismillahirrahmanirrahim

Xr

adalah tools sederhana untuk mempermudah manage packages pada Void Linux dengan tampilan yang clean dengan icon dari Nerd Fonts, xr memiliki 2 mode cli dan tui dengan fzf, untuk mode tui hanya bisa untuk menginstall dan melihat informasi dari package. Xr juga sudah ada bash autocomplatenya jadi lebih mudah untuk mencari package di mode cli.

Install

Untuk menginstall xr bisa menggunakan nes-reposutory, silahkan tambahakan di konfigurasi xbps, setelah di tambahkan bisa langsung menginstallnya dengan sudo xbps-install -S xr

Usage

Berikut semua fitur yang ada pada xr.


██╗  ██╗██████╗
╚██╗██╔╝██╔══██╗
 ╚███╔╝ ██████╔╝
 ██╔██╗ ██╔══██╗
██╔╝ ██╗██║  ██║
╚═╝  ╚═╝╚═╝  ╚═╝ v.0.1.3

Simple tool for search and manage package on Void Linux
usage: xr package_name
          [-f full info] [-i install package] [-r remove package]
          [-u update sytem] [-c clean unused packages]
          [-k manage old kernel] [-t tui mode with fzf]
          [-l build and install package from xbps-src]
          [-d YYYY-MM-DD list installed/updated package by date]
          [-m change mirrors repository] [--version] [--help]

Basic Info

xr nama_package => akan menampilkan basic info dari package, contoh,

xr xr

 󰖟 : https://gitlab.com/nesstero/xr
  : Simple tool for searching and managing packages on Void Linux
  : 927KB
  : xr-0.1.3_1
 󰿃 : MIT
 󰋊 : https://nesstero.gitlab.io/nes-repository
 󰏗 : 󰸞 / 2025-12-04 23:49 WIB

Full Info

untuk menampilkan full info dari package, gunakan option -f, contoh,

 xr -f xr

 󰖟 : https://gitlab.com/nesstero/xr
  : Simple tool for searching and managing packages on Void Linux
  : 927KB
  : xr-0.1.3_1
 󰿃 : MIT
 󰋊 : https://nesstero.gitlab.io/nes-repository
 󰏗 : 󰸞 / 2025-12-04 23:49 WIB

  Dependencies :
====================
 󰏗 fzf>=0                                󰏗 xmirror>=0
 󰏗 nerd-fonts-symbols-ttf>=0             󰏗 glibc>=2.41_1
 󰏗 libcrypto3>=3.5.4_1                   󰏗 libgcc>=4.4.0_1
 󰏗 libssl3>=3.5.4_1

  Shared Library Requires :
==============================
  libc.so.6                              libcrypto.so.3
  libgcc_s.so.1                          libssl.so.3


  Shared Library Provides :
==============================
xr has no shared library provide

seperti contoh diatas option -f akan memberikan semua info package dari basic info sampai dependecies dan library yang digunakan oleh package tersebut.

Update

untuk mengupdate semua package yang terinstall pada system bisa menggunakan option -u, contoh

 xr -u

󰏔 Starting update system...

Password:
[*] Updating repository `https://repo-default.voidlinux.org/current/x86_64-repodata' ...
x86_64-repodata: 2040KB [avg rate: 179KB/s]
[*] Updating repository `https://repo-default.voidlinux.org/current/nonfree/x86_64-repodata' ...

Name                Action    Version           New version            Download size
alsa-pipewire       update    1.4.8_2           1.4.9_1                50KB
ca-certificates     update    20250419+3.117_1  20250419+3.118.1_1     167KB
fzf                 update    0.66.1_1          0.67.0_1               1757KB
libcamera           update    0.3.2_1           0.5.2_1                846KB
libpipewire         update    1.4.8_2           1.4.9_1                1080KB
libspa-alsa         update    1.4.8_2           1.4.9_1                331KB
libspa-audioconvert update    1.4.8_2           1.4.9_1                519KB
libspa-audiomixer   update    1.4.8_2           1.4.9_1                35KB
libspa-bluetooth    update    1.4.8_2           1.4.9_1                437KB
libspa-control      update    1.4.8_2           1.4.9_1                32KB
libspa-v4l2         update    1.4.8_2           1.4.9_1                60KB
libspa-videoconvert update    1.4.8_2           1.4.9_1                65KB
nspr                update    4.37_1            4.38.2_1               142KB
nss                 update    3.117_1           3.118.1_1              2737KB
pipewire            update    1.4.8_2           1.4.9_1                1261KB
telegram-desktop    update    6.2.4_2           6.3.1_1                48MB
wireplumber         update    0.5.11_1          0.5.12_1               457KB

Size to download:               58MB
Size required on disk:         163MB
Space available on disk:        79GB

Do you want to continue? [Y/n]

xr akan menampilkan packages apa saja yang bisa diupdate, tekan enter untuk melanjutkan proses update.

Install / Remove

untuk menginstall atau meremove package bisa dilakukan seperti biasa, gunakan option -i untuk install dan option -r untuk remove package, contoh

xr -i dwm st

󱧕 Install [dwm, st] ? (Y/n) :

tekan enter untuk melanjutkan proses install atau remove package, jika menginstall atau meremove satu package maka akan di tampilkan basic info package tersebut, contoh

xr -r xr

 󰖟 : https://gitlab.com/nesstero/xr
  : Simple tool for searching and managing packages on Void Linux
  : 927KB
  : xr-0.1.3_1
 󰿃 : MIT
 󰋊 : https://nesstero.gitlab.io/nes-repository
 󰏗 : 󰸞 / 2025-12-04 23:49 WIB


󱧔 Are you sure you want to remove [xr] ? (Y/n) :

tekan enter untuk melanjutkan proses install atau remove package.

Remove package orphans

untuk remove package yang sudah tidak digunakan bisa menggunakan option -c, contoh

xr -c
Password:

󱧔 Are you sure you want to remove unused packages ? (Y/n) :
Removed xr-0.1.2_1.x86_64.xbps from cachedir (obsolete)
Removed libpng-1.6.51_1.x86_64.xbps from cachedir (obsolete)
Removed libpng-devel-1.6.51_1.x86_64.xbps from cachedir (obsolete)

tekan enter untuk melanjutkan proses remove unused packages.

List package by date

untuk melihat package apa saja yang diinstall atau diupdate pada tanggal tertentu bisa menggunakan option -l tahun-bulan-tanggal, contoh

xr -l 2025-11-19
 󰏗 Packages installed / updated, on 2025-11-19 :
 󰏗 dialog-1.3.20251001_1    󰏗 firefox-145.0.1_1
 󰏗 fzf-0.66.1_1             󰏗 xmirror-0.4.1_1

Old kernel

untuk manage old kernel bisa menggunakan option -k, pada option -k terdapat 2 sub option ada list dan remove, list digunakan untuk melist old kernel pada sistem, sedangkan remove digunakan untuk menghapus old kernel. contoh

xr -k list
 Current Kernel   6.12.60_1
  Old Kernel:
  6.12.58_1                           6.12.59_1

pada contoh diatas terdapat 2 versi kerenel lama, versi 6.12.58 dan 6.12.59.

xr -k remove all

 Are you sure you want to remove all old kernels? (y/n) :
Removing kernel 6.12.58_1...
Running pre-remove kernel hook: 10-dkms...
dkms: removing: v4l2loopback 0.15.2 (kernel-6.12.58_1) (x86_64)
Removing /boot/config-6.12.58_1...
Removing /boot/vmlinuz-6.12.58_1...
Removing /usr/lib/modules/6.12.58_1...
Running post-remove kernel hook: 20-initramfs...
Running post-remove kernel hook: 50-efibootmgr...
Running post-remove kernel hook: 50-grub...
Generating grub configuration file ...
Found theme: /boot/grub/themes/CyberRe/theme.txt
Found linux image: /boot/vmlinuz-6.12.60_1
Found initrd image: /boot/initramfs-6.12.60_1.img
Found linux image: /boot/vmlinuz-6.12.59_1
Found initrd image: /boot/initramfs-6.12.59_1.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
Removing /usr/src/kernel-headers-6.12.58_1...
Removing kernel 6.12.59_1...
Running pre-remove kernel hook: 10-dkms...
dkms: removing: v4l2loopback 0.15.2 (kernel-6.12.59_1) (x86_64)
Removing /boot/config-6.12.59_1...
Removing /boot/vmlinuz-6.12.59_1...
Removing /usr/lib/modules/6.12.59_1...
Running post-remove kernel hook: 20-initramfs...
Running post-remove kernel hook: 50-efibootmgr...
Running post-remove kernel hook: 50-grub...
Generating grub configuration file ...
Found theme: /boot/grub/themes/CyberRe/theme.txt
Found linux image: /boot/vmlinuz-6.12.60_1
Found initrd image: /boot/initramfs-6.12.60_1.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
Removing /usr/src/kernel-headers-6.12.59_1...

untuk penggunaan sub option remove dengan cara xr -k remove kernel_version, untuk kernel versionnya bisa mengacu spesifik pada version kernel tertentu, bisa juga secara bulk contoh xr -k remove 6.12., maka semua kernel version 6.12 akan diremove, atau bisa juga dengan all seperti contoh di atas xr -k remove all, dengan all maka semua old kerenel yang tidak digunakan akan diremove.

Mirrors

jika serasa mirrors repository yang digunakan sekarang lambat, bisa menggunakan option -m untuk mengganti mirrors repository yang digunakan sekarang, dengan xr -m => akan menampilkan dialog pada terminal untuk mengarahkan memilih mirrors yang baru.

Fzf mode

mode tui atau fzf bisa menggunakan option -t, dengan xr -t => akan menampilkan tampilan tui fzf, terdapat dua panel, panel sebelah kiri berisi list packages dan panel sebelah kanan menampilkan info dari package yang dipilih dari panel sebelah kiri. mode ini suport dengan live search jadi bisa langsung mencari package yang diinginkan, untuk menginstall packge dari mode ini dengan cara tekan enter pada package yang dipilih apabila menginstall satu package saja tetapi jika ingin menginstall lebih dari satu package dengan cara tekan tab untuk menandai package apa saja yang ingin diinstall terkahir tekan enter untuk menginstall semua package yang dipilih.

Void-packages

Xr juga support untuk keperluan build package dari template (xbps-src)

Create / edit template

untuk membuat template package baru bisa menggunakan xr -l new nama_package, pastikan jalankan perintah ini di dir void-packages

xr -l new testing

contoh diatas akan membuat standar template untuk paket testing pada dir srcpkgs/testing/template, dan otomatis dibuka dengan editor vim, bisa juga menggunakan editor lainnya misalnya leafpad, dengan cara xr -l new testing leafpad. Untuk mengedit gunakan xr -l edit nama_package sama dengan new, edit secara default juga menggunakan editor vim bisa gunakan editor lain dengan cara yang sama dengan new, xr -l edit testing leafpad

Build dan install package

setelah template dibuat bisa langsung dibuild dengan menggunakan xr -l build nama_package, setelah berhasil dibuild untuk menginstallnya gunakan xr -l install nama_package, untuk update version package bisa update checksumnya dengan menggunakan xr -l checksum nama_pakcge seperti berikut,

xr -l checksum xr
URL: https://gitlab.com/nesstero/xr/-/archive/0.1.3/xr-0.1.3.tar.gz
Download & hash...
Checksum: 19ba8e157da85ab0d63a58e8a7e10478cb8fd16c98c5599d76e88adec70d3c12
checksum updated 'srcpkgs/xr/template'

setelah checksum terupdate jalankan build dan install seperti biasa xr -l build xr, dan untuk installnya xr -l install xr

Sesungguhnya yang menyebabkan ilmu hilang adalah lupa dan tidak mengulanginya.

"Sesungguhnya yang menyebabkan ilmu hilang adalah lupa dan tidak mengulanginya."

Imam Az-Zuhri rahimahullah

Tags:

Referensi:

Catatan Terkait:

NESTECH ID

Copyright 2025. All rights reserved.