Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,22 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# apt.lucapadovan.dev is rebuilt from the GitHub releases by
# padovanl/packages; this only starts that workflow, and is skipped
# while the token is missing.
apt:
needs: goreleaser
if: ${{ !contains(github.ref_name, '-') }}
runs-on: ubuntu-latest
env:
# Fine-grained token with Actions: read and write on padovanl/packages.
PACKAGES_DISPATCH_TOKEN: ${{ secrets.PACKAGES_DISPATCH_TOKEN }}
steps:
- if: env.PACKAGES_DISPATCH_TOKEN != ''
run: gh workflow run publish.yml --repo padovanl/packages
env:
GH_TOKEN: ${{ secrets.PACKAGES_DISPATCH_TOKEN }}

snap:
runs-on: ubuntu-latest
needs: goreleaser
Expand Down
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
[![Downloads](https://img.shields.io/github/downloads/padovanl/pkgtui/total)](https://github.com/padovanl/pkgtui/releases)
[![Go version](https://img.shields.io/github/go-mod/go-version/padovanl/pkgtui)](go.mod)
[![License: MIT](https://img.shields.io/github/license/padovanl/pkgtui)](LICENSE)
[![APT](https://img.shields.io/endpoint?url=https%3A%2F%2Fapt.lucapadovan.dev%2Fbadges%2Fpkgtui.json&logo=debian)](#apt-repository-debianubuntu-and-derivatives)

An **htop-style** terminal UI (TUI) to search, install, remove and upgrade
packages from **apt**, **snap**, **flatpak**, **Homebrew** and **MacPorts**,
Expand Down Expand Up @@ -162,7 +163,8 @@ own:

## 📥 Installation

No verification/store required: grab the asset from the [releases
On Debian and Ubuntu, the APT repository below keeps pkgtui up to date.
Otherwise, grab the asset from the [releases
page](https://github.com/padovanl/pkgtui/releases) and install it locally.
The `.deb` and `.snap` both register an application entry and icon, so
pkgtui shows up in your desktop's app launcher (opening in a terminal,
Expand All @@ -175,8 +177,23 @@ release](https://github.com/padovanl/pkgtui/releases/latest) rather than
guessing. The commands use `-f` so curl fails loudly on a wrong URL instead
of silently saving GitHub's "not found" page as if it were the package.

### APT repository (Debian/Ubuntu and derivatives)

```bash
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://apt.lucapadovan.dev/lucapadovan.gpg | sudo tee /etc/apt/keyrings/lucapadovan.gpg >/dev/null
echo "deb [signed-by=/etc/apt/keyrings/lucapadovan.gpg] https://apt.lucapadovan.dev stable main" \
| sudo tee /etc/apt/sources.list.d/lucapadovan.list
sudo apt update && sudo apt install pkgtui
```

Updates then arrive with `apt upgrade`. The repository at
[apt.lucapadovan.dev](https://apt.lucapadovan.dev) serves amd64 and arm64.

### `.deb` package (Debian/Ubuntu and derivatives)

A single package that does not update on its own; prefer the APT repository.

```bash
curl -fLO https://github.com/padovanl/pkgtui/releases/latest/download/pkgtui_<version>_amd64.deb
sudo apt install ./pkgtui_<version>_amd64.deb
Expand Down
17 changes: 13 additions & 4 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -581,17 +581,26 @@ <h2>In action</h2>

<section id="install" class="section install">
<h2>Installation</h2>
<p class="section-lede">No verification/store required — grab the asset that fits and install it locally.</p>
<p class="section-lede">On Debian and Ubuntu, the APT repository keeps pkgtui up to date. Every release asset is also available to install by hand.</p>
<div class="install-tabs" role="tablist">
<button class="install-tab" role="tab" aria-selected="true" data-target="tab-deb">.deb</button>
<button class="install-tab" role="tab" aria-selected="true" data-target="tab-apt">apt</button>
<button class="install-tab" role="tab" aria-selected="false" data-target="tab-deb">.deb</button>
<button class="install-tab" role="tab" aria-selected="false" data-target="tab-snap">.snap</button>
<button class="install-tab" role="tab" aria-selected="false" data-target="tab-bin">binary</button>
<button class="install-tab" role="tab" aria-selected="false" data-target="tab-brew">brew</button>
<button class="install-tab" role="tab" aria-selected="false" data-target="tab-mac">macOS</button>
<button class="install-tab" role="tab" aria-selected="false" data-target="tab-src">from source</button>
</div>
<div id="tab-deb" class="install-panel active">
<pre><span class="comment"># replace &lt;version&gt; with the latest release number, no leading "v"</span>
<div id="tab-apt" class="install-panel active">
<pre><span class="comment"># Debian, Ubuntu and derivatives (amd64, arm64); updates arrive with apt upgrade</span>
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://apt.lucapadovan.dev/lucapadovan.gpg | sudo tee /etc/apt/keyrings/lucapadovan.gpg &gt;/dev/null
echo "deb [signed-by=/etc/apt/keyrings/lucapadovan.gpg] https://apt.lucapadovan.dev stable main" \
| sudo tee /etc/apt/sources.list.d/lucapadovan.list
sudo apt update &amp;&amp; sudo apt install pkgtui</pre>
</div>
<div id="tab-deb" class="install-panel">
<pre><span class="comment"># a single package that does not update on its own; replace &lt;version&gt; with the latest release number, no leading "v"</span>
curl -fLO https://github.com/padovanl/pkgtui/releases/latest/download/pkgtui_&lt;version&gt;_amd64.deb
sudo apt install ./pkgtui_&lt;version&gt;_amd64.deb</pre>
</div>
Expand Down
Loading