{"id":13418746,"url":"https://github.com/orhun/pkgtop","last_synced_at":"2025-10-25T19:09:26.649Z","repository":{"id":70851308,"uuid":"197831162","full_name":"orhun/pkgtop","owner":"orhun","description":"Interactive package manager and resource monitor designed for the GNU/Linux.","archived":false,"fork":false,"pushed_at":"2023-10-13T10:56:12.000Z","size":265,"stargazers_count":317,"open_issues_count":0,"forks_count":11,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-30T11:11:14.467Z","etag":null,"topics":["gnu-linux","linux-packages","package-management","package-manager","resource-monitor"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orhun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"orhun","patreon":"orhunp"}},"created_at":"2019-07-19T19:30:11.000Z","updated_at":"2025-03-06T15:23:05.000Z","dependencies_parsed_at":"2024-01-27T11:09:52.840Z","dependency_job_id":"dbc1a715-be94-46c3-84ec-29915dba3c36","html_url":"https://github.com/orhun/pkgtop","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fpkgtop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fpkgtop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fpkgtop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fpkgtop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orhun","download_url":"https://codeload.github.com/orhun/pkgtop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247485287,"owners_count":20946398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gnu-linux","linux-packages","package-management","package-manager","resource-monitor"],"created_at":"2024-07-30T22:01:06.496Z","updated_at":"2025-10-25T19:09:26.644Z","avatar_url":"https://github.com/orhun.png","language":"Go","funding_links":["https://github.com/sponsors/orhun","https://patreon.com/orhunp","https://www.patreon.com/bePatron?u=23697306"],"categories":["Go","User Interaction","Interaction"],"sub_categories":["Command Line Interface","Command Line"],"readme":"\u003ca href=\"https://github.com/orhun/pkgtop\"\u003e\n   \u003cimg src=\"https://user-images.githubusercontent.com/24392180/63693894-dd110e00-c81d-11e9-8f51-e00d5bd7d6a6.png\" width=\"500\"\u003e\n\u003c/a\u003e\n\n**pkgtop** is an **interactive package manager** \u0026 **resource monitor** tool designed for the GNU/Linux.\n\n[![Release](https://img.shields.io/github/release/orhun/pkgtop.svg?style=flat-square)](https://github.com/orhun/pkgtop/releases) [![AUR](https://img.shields.io/aur/version/pkgtop?style=flat-square)](https://aur.archlinux.org/packages/pkgtop/) [![Builds](https://img.shields.io/github/actions/workflow/status/orhun/pkgtop/ci.yml?style=flat-square)](https://github.com/orhun/pkgtop/actions) [![Go Report Card](https://goreportcard.com/badge/github.com/orhun/pkgtop?style=flat-square)](https://goreportcard.com/report/github.com/orhun/pkgtop) [![License](https://img.shields.io/github/license/orhun/pkgtop.svg?color=blue\u0026style=flat-square)](./LICENSE)\n\n![pkgtop](https://user-images.githubusercontent.com/24392180/63897168-edcbaa80-c9fc-11e9-9092-32a55323fcf1.gif)\n\nPackage management (install/upgrade/remove etc.) can be a problem if the user is not familiar with the operating system or the required command for that operation. So pkgtop tries to solve this problem with an easy-to-use terminal interface and shortcut keys. Briefly, **pkgtop aims to provide a terminal dashboard for managing packages on GNU/Linux systems.** Using the terminal dashboard, it's possible to list installed packages by size (or alphabetically with `-a` argument), show information about the package, install/upgrade/remove packages and search package. Also, there are other handy shortcuts for easing the package management process which mentioned in the [usage information](https://github.com/orhun/pkgtop#usage).\n\nIn addition to the package management features, there's a section at the top of the dashboard that shows disk usages and general system information. For example, this section can be used as a resource monitor and help decide whether the system should be cleaned or not.  \nAnother useful section is the '`executed`' or '`confirm to execute`' command list which is placed below the installed packages. Thus, the user can see which command executed recently or confirm \u0026 execute the selected command. (The commands that need confirmation to execute exist in the list with a prefix like \"`[y]`\".) \nAfter scrolling the commands list with \"`c`\" key for selecting the command to execute, press \"`y`\" for executing it. pkgtop will execute the command and restart the terminal dashboard afterwards.\n\npkgtop uses the advantage of mainly used package managers being installed on most of the preferred GNU/Linux distributions. As an example, it works on a [Manjaro](https://manjaro.org/) based system as it works on [Arch Linux](https://www.archlinux.org/) systems since both distributions use the [Pacman](https://wiki.archlinux.org/index.php/pacman) package manager. You can use pkgtop if you have one of the package managers listed below. \n\n* pacman\n* apt\n* zypp\n* dnf\n* xbps\n* portage\n* nix\n* guix\n\nIf you are happy user of Arch-based distributive, you can use pkgtop with pacman wrappers and AUR supporters, such as [paru](https://aur.archlinux.org/packages/paru). See [this](#aur-support) section for details.\n\nIf the distribution is not defined in the source but has the required package manager for running the pkgtop, `-d` argument can be used for specifying a distribution that has the same package manager. Current defined and supported distributions are `arch, manjaro, debian, ubuntu, mint, suse, fedora, centos, redhat, void, gentoo, nixos, guix`.\n\n- [Installation](#installation)\n  - [Dependencies](#dependencies)\n  - [AUR](#aur)\n  - [Manual Installation](#manual-installation)\n- [Command-Line Arguments](#command-line-arguments)\n- [AUR Support](#aur-support)\n- [Usage](#usage)\n  - [List Installed Packages \u0026 Show Package Information](#list-installed-packages--show-package-information)\n  - [Search, Go-to Package](#search-go-to-package)\n  - [Install, Upgrade, Remove Package](#install-upgrade-remove-package)\n  - [Show Disk Usage Information](#show-disk-usage-information)\n  - [Confirm Command to Execute](#confirm-command-to-execute)\n  - [Show Help](#show-help)\n- [Docker](#docker)\n  - [Build Docker Image](#build-docker-image)\n  - [Run the Container](#run-the-container)\n  - [Start a shell in the Container](#start-a-shell-in-the-container)\n- [Screenshots](#screenshots)\n- [Todo(s)](#todos)\n- [Sponsor](#sponsor)\n- [License](#license)\n- [Copyright](#copyright)\n\n## Installation\n\n### Dependencies\n* [gizak/termui](https://github.com/gizak/termui/)\n* [atotto/clipboard](https://github.com/atotto/clipboard)\n* [dustin/go-humanize](https://github.com/dustin/go-humanize)\n* [mattn/go-runewidth](https://github.com/mattn/go-runewidth)\n* [mitchellh/go-wordwrap](https://github.com/mitchellh/go-wordwrap)\n* [nsf/termbox-go](https://github.com/nsf/termbox-go)\n\n### AUR\n\n```\ngit clone https://aur.archlinux.org/pkgtop.git \u0026\u0026 cd pkgtop/\nmakepkg --install\n```\n\n### Manual Installation\n\n```\ngo build cmd/pkgtop.go\nsudo mv pkgtop /usr/local/bin/\n```\n\nPreferably, [go install](https://pkg.go.dev/cmd/go#hdr-Compile_and_install_packages_and_dependencies) command can be used.\n\n## Command-Line Arguments\n```\n-h, show help message\n-d, select linux distribution\n-c, main color of the dashboard (default: blue)\n   [red, green, yellow, blue, magenta, cyan, white]\n-pacman, pacman backend for arch-based distributions (default: pacman)\n-a, sort packages alphabetically\n-r, reverse the package list\n-v, print version\n```\n\n## AUR Support\n\nYou can specify which pacman wrapper you should to use by launch pkgtop with `-pacman` option. \nFor example, for [paru](https://aur.archlinux.org/packages/paru) support:\n\n```\n$ pkgtop -pacman paru\n```\n\nIf you don't want to provide the `-pacman` option every time on app launch, you can create bash alias on `~/.bashrc` file. \n```\n~/.bashrc\n\nalias pkgtop='pkgtop -pacman paru'\n\n```\n\nAfter that you can simply launch `pkgtop` command and get full AUR support, provided by `paru` wrapper.\n\n## Usage\n\n| Key                      \t| Action                                   \t|\n|--------------------------\t|------------------------------------------\t|\n| `?`                      \t| help                                     \t|\n| `enter, space, tab`      \t| show package information                 \t|\n| `i`                      \t| install package                          \t|\n| `u/ctrl-u`               \t| upgrade package/with input               \t|\n| `r/ctrl-r`               \t| remove package/with input                \t|\n| `s,/`                      \t| search package                           \t|\n| `g`                      \t| go to package (index)                    \t|\n| `y`                      \t| confirm and execute the selected command \t|\n| `p`                      \t| copy selected package                    \t|\n| `e`                      \t| copy selected command                    \t|\n| `c`                      \t| scroll executed commands list            \t|\n| `j/k, down/up`           \t| scroll down/up (packages)                \t|\n| `ctrl-j/ctrl-k`          \t| scroll to bottom/top (packages)          \t|\n| `l/h, right/left`        \t| scroll down/up (disk usage)              \t|\n| `backspace`              \t| go back                                  \t|\n| `q, esc, ctrl-c, ctrl-d` \t| exit                                     \t|\n\n### List Installed Packages \u0026 Show Package Information\n\n![List Packages \u0026 Show Information](https://user-images.githubusercontent.com/24392180/63809280-98bf6400-c92a-11e9-960f-8c50257babdd.gif)\n\n```\npressed keys: down, enter, backspace\n```\n\n### Search, Go-to Package\n\n![Search, Go-to Package](https://user-images.githubusercontent.com/24392180/63809733-c35dec80-c92b-11e9-9a99-09317741a86c.gif)\n\n```\npressed keys: s, (type), enter, g, (type), enter\n```\n\n### Install, Upgrade, Remove Package\n\n![Install, Upgrade, Remove Package](https://user-images.githubusercontent.com/24392180/63811379-f3a78a00-c92f-11e9-9551-430d2437b69c.gif)\n\n```\npressed keys:\ni, (type), enter, y -\u003e install\nctrl-u, (type), enter, y -\u003e upgrade\nctrl-r, (type), enter, y -\u003e remove\n```\n\n### Show Disk Usage Information\n\n![Show Disk Usage Information](https://user-images.githubusercontent.com/24392180/63811686-d9ba7700-c930-11e9-9067-b0e412b5797f.gif)\n\n```\npressed keys: right, left\n```\n\n### Confirm Command to Execute\n\n![Confirm Command to Execute](https://user-images.githubusercontent.com/24392180/63812019-be03a080-c931-11e9-9732-de8bdcf75204.gif)\n\n```\npressed keys: c, y\n```\n\n### Show Help\n\n![Show Help](https://user-images.githubusercontent.com/24392180/63812128-15a20c00-c932-11e9-8ffd-7e222c78b588.gif)\n\n```\npressed key: ?\n```\n\n## Docker\n\n### Build Docker Image\n\n```\ndocker build -f docker/Dockerfile -t pkgtop-docker .\n```\nor if you don't want to clone the repository, you can run:\n\n```\ndocker build -f docker/Dockerfile -t pkgtop-docker https://github.com/orhun/pkgtop.git\n```\n\n### Run the Container\n\n```\ndocker run pkgtop-docker\n```\n\n### Start a shell in the Container\n\n```\ndocker run -it pkgtop-docker /bin/bash\n```\n\n## Screenshots\n\n![Fedora Screenshot](https://user-images.githubusercontent.com/24392180/63807819-2ef18b00-c927-11e9-85b6-59917283a4f8.png)\n\n![Manjaro-Mint Screenshot](https://user-images.githubusercontent.com/24392180/63795183-158f1580-c90c-11e9-8343-2dc24798c086.jpg)\n\n![Debian-Ubuntu Screenshot](https://user-images.githubusercontent.com/24392180/63795189-17f16f80-c90c-11e9-96cc-dcd9bb660efe.jpg)\n\n## Todo(s)\n* Add 'paste' feature\n\n## Sponsor\n\nIf you would like to support the development of pkgtop and my other open source [projects](https://github.com/orhun), consider supporting me on [GitHub Sponsors](https://github.com/sponsors/orhun) or becoming a [patron](https://www.patreon.com/bePatron?u=23697306).\n\n## License\n\nGNU General Public License ([v3](https://www.gnu.org/licenses/gpl.txt))\n\n## Copyright\n\nCopyright © 2019-2023, [Orhun Parmaksız](mailto:orhunparmaksiz@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forhun%2Fpkgtop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forhun%2Fpkgtop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forhun%2Fpkgtop/lists"}