Skip to content

A terminal application for managing packages across different package managers.

Notifications You must be signed in to change notification settings

ymtdzzz/lazypkg

Repository files navigation

lazypkg

Note

🚧 This project is in an early development phase.

A terminal application for managing packages across different package managers.

Currently supported package managers:

  • apt
  • gem
  • homebrew
  • npm

Following package managers are optional. To enable them, use --enable-feature option.

  • docker

Options:

A TUI package management application across package managers

Usage:
  lazypkg [flags]

Flags:
      --dry-run                      Perform update commands with --dry-run option
      --enable-feature stringArray   Optional feature name to be enabled in lazypkg [docker]
      --exclude stringArray          Package manager name to be excluded in lazypkg
  -h, --help                         help for lazypkg
  -v, --version                      version for lazypkg

Keymap

Package Managers List (Side Bar)

Key Action
/ / j / k Move cursor
Enter / l / Select and enter Packages list
r Check for updates (current package manager)
R Check for updates (all package managers)
Space Multi-select
u Update packages (current or selected package managers)

Packages List

Key Action
/ / j / k Move cursor
Backspace / h / Return to Package Managers List
Space Multi-select
u Update packages (current or selected)
U Update all displayed packages

Global

Key Action
q Quit
Ctrl+j / Ctrl+k Scroll logs

Getting Started

Prerequisite

While not strictly required, having Nerd Fonts installed enhances the visual appearance of the interface.

Installation

Homebrew

$ brew install ymtdzzz/tap/lazypkg

go install

$ go install github.com/ymtdzzz/lazypkg@latest

Basic Usage

When you launch lazypkg, it automatically checks for package updates.

Note

If a package manager requires administrator privileges (e.g., apt), a password prompt will be displayed.

The sidebar supports common navigation methods (down/j, up/k).

You can review the update status of each package. Press u to update all packages for the currently selected package manager. You can also select multiple package managers with space and then press u to update all selected managers at once.

Note

Before executing any action that makes changes, a confirmation dialog will be displayed for safety.

If you want to update packages individually, navigate to the package list by pressing enter/l/right in the sidebar.

Here, you can see a list of updatable packages.

To update a specific package, press u while it is selected.

Once the update is complete, the list refreshes automatically.

Important

Even if you update a single package, dependencies might be updated as well, depending on the package manager.

You can also update multiple packages by selecting them with space and pressing u, or update all packages at once with a.

For additional key mappings, check the help section at the bottom of the screen.