Skip to content

viewerofall-labs/linuxlooker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linuxlooker

A GTK4 package browser for multiple Linux distros. Search official repos and community sources (AUR, etc.), view PKGBUILDs inline, bookmark packages, and batch install — all without leaving the app.

Supported Distros

Distro Official Repos Community
Arch / CachyOS / Manjaro pacman AUR
Fedora dnf
Ubuntu / Mint apt
Debian apt
openSUSE zypper
Alpine apk

Unsupported distros show a warning banner. The detected distro and package manager are shown in the header on startup.

Features

  • Multi-distro search — official repos via local package manager; AUR via API (Arch only)
  • Safe / Unsafe toggle — Safe mode shows official repos only; Unsafe unlocks community packages (AUR). Persisted across restarts.
  • PKGBUILD viewer — fetches and displays the full PKGBUILD for any AUR package inline, with a Copy button. Read it before you install.
  • Batch install — star packages as you browse, open Bookmarks, check what you want, hit Install Selected. Builds one command for all selected packages.
  • Star bookmarks — per-row star toggle, persisted to disk. Works across sessions.
  • Embedded VTE terminal — install commands run inside the app. No external terminal needed.
  • AUR helper selector — auto-detects paru, yay, pikaur, trizen, aura. Dropdown shown when 2+ are installed. Selection persists.
  • Installed package detection — ✓ badge on packages already on your system.
  • Sort — by popularity, votes, alphabetical, or last modified.
  • Package details — full dep tree, makedeps, optdeps, conflicts, license, maintainer.
  • Onboarding — no AUR helper detected on Arch? The embedded terminal walks you through installing yay automatically.

Bookmarks & Batch Install

Star any package with the ☆ button on its row. Open ★ Bookmarks from the header to see all saved packages.

In the bookmarks panel:

  • All packages are checked by default
  • Use Select All / Select None to adjust
  • The counter shows how many are selected
  • Install Selected sends a single batch command to the terminal:
    • Arch: yay -S --needed pkg1 pkg2 pkg3
    • Fedora: sudo dnf install -y pkg1 pkg2 pkg3
    • Ubuntu/Debian: sudo apt install -y pkg1 pkg2 pkg3
    • openSUSE: sudo zypper in -y pkg1 pkg2 pkg3
    • Alpine: sudo apk add pkg1 pkg2 pkg3

State & Persistence

Everything lives in ~/.local/state/linuxlooker/:

state.json       — safe_mode, aur_helper selection
bookmarks.txt    — bookmarked package names, one per line

Requirements

  • GTK4 + libadwaita
  • VTE4 (embedded terminal)
  • Internet connection
  • Arch only: an AUR helper (paru, yay, pikaur, trizen, or aura)

Install dependencies

Arch / CachyOS:

sudo pacman -S gtk4 libadwaita vte3

Fedora:

sudo dnf install gtk4 libadwaita vte291

Ubuntu / Debian:

sudo apt install libgtk-4-dev libadwaita-1-dev libvte-2.91-gtk4-dev

Build from source

git clone https://github.com/viewerofall-labs/linuxlooker.git
cd linuxlooker
cargo build --release
# binary: target/release/linuxlooker

Usage

  1. Type a package name and press Enter to search
  2. Toggle Safe / Unsafe to include or hide community packages
  3. Click PKGBUILD on any AUR result to review the build script
  4. Click Install to run the install command in the embedded terminal
  5. Click on any row to bookmark it
  6. Click ★ Bookmarks in the header, select packages, click Install Selected for batch install
  7. Use the sort dropdown to reorder results
  8. Click Details for full package metadata

Dev Panel

Type *77*! in the search bar and press Enter.

Lets you override the detected distro at runtime for testing — switch to Fedora, Ubuntu, openSUSE, etc. without a VM. Search results come from Repology's API for the selected distro, and install commands are generated correctly for that distro's package manager. Hit Reset to Auto-Detected to go back.

Not surfaced in the main UI intentionally — testing tool only.

License

MIT