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
5 changes: 5 additions & 0 deletions build_files/apps/01-apps.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ echo "Installing applications..."
### Web Browser
dnf5 -y install firefox

### TUI Communication Apps - From Hypercube COPR
dnf5 -y install \
iamb \
meli

### Flatpak Applications (system-wide, baked into image)
flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --system --noninteractive flathub \
Expand Down
7 changes: 7 additions & 0 deletions build_files/dx/01-dx-tooling.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ dnf5 -y install \
podman \
podman-compose \
podman-docker \
podman-tui \
buildah \
skopeo

Expand Down Expand Up @@ -46,6 +47,12 @@ dnf5 -y install \
### Container signing
dnf5 -y install cosign

### TUI Developer Tools - From Hypercube COPR
dnf5 -y install \
lazyjournal \
lazysql \
resterm

### Enable libvirtd for VM management
systemctl enable libvirtd.service

Expand Down
5 changes: 4 additions & 1 deletion build_files/hyprland/01-hyprland-desktop.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@ dnf5 -y install \
eza \
starship \
lazygit \
wifitui
wifitui \
bluetui \
yazi \
resvg

### Fish Shell (set as default)
dnf5 -y install fish
Expand Down
112 changes: 112 additions & 0 deletions packages/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,102 @@ These have no hyprland dependencies and can be built in parallel.

---

### 27. resvg

| Setting | Value |
|---------|-------|
| Subdir | `packages/resvg` |
| Spec File | `resvg.spec` |
| Version | 0.46.0 |
| Dependencies | None |
| Notes | SVG rendering library and CLI tool, used by yazi for SVG previews |

---

### 28. yazi

| Setting | Value |
|---------|-------|
| Subdir | `packages/yazi` |
| Spec File | `yazi.spec` |
| Version | 26.1.22 |
| Dependencies | None |
| Notes | Terminal file manager written in Rust. Recommends resvg for SVG previews |

---

### 29. bluetui

| Setting | Value |
|---------|-------|
| Subdir | `packages/bluetui` |
| Spec File | `bluetui.spec` |
| Version | 0.8.1 |
| Dependencies | None |
| Notes | TUI for managing Bluetooth devices. Requires bluez at runtime |

---

### 30. iamb

| Setting | Value |
|---------|-------|
| Subdir | `packages/iamb` |
| Spec File | `iamb.spec` |
| Version | 0.0.11 |
| Dependencies | None |
| Notes | Matrix chat client with Vim-like keybindings |

---

### 31. meli

| Setting | Value |
|---------|-------|
| Subdir | `packages/meli` |
| Spec File | `meli.spec` |
| Version | 0.8.13 |
| Dependencies | None |
| Notes | Terminal email client. Source from git.meli-email.org, not GitHub |

---

### 32. lazyjournal

| Setting | Value |
|---------|-------|
| Subdir | `packages/lazyjournal` |
| Spec File | `lazyjournal.spec` |
| Version | 0.8.4 |
| Dependencies | None |
| Notes | TUI for viewing journalctl, Docker, Podman, and Kubernetes logs |

---

### 33. lazysql

| Setting | Value |
|---------|-------|
| Subdir | `packages/lazysql` |
| Spec File | `lazysql.spec` |
| Version | 0.4.6 |
| Dependencies | None |
| Notes | TUI database client for PostgreSQL, MySQL, SQLite, MSSQL |

---

### 34. resterm

| Setting | Value |
|---------|-------|
| Subdir | `packages/resterm` |
| Spec File | `resterm.spec` |
| Version | 0.20.3 |
| Dependencies | None |
| Notes | TUI REST, gRPC, and WebSocket API client |

---

## Build Order Summary

To ensure dependencies are satisfied, build in this order:
Expand All @@ -346,6 +442,14 @@ To ensure dependencies are satisfied, build in this order:
10. quickshell
11. livesys-scripts
12. wifitui
13. resvg
14. yazi
15. bluetui
16. iamb
17. meli
18. lazyjournal
19. lazysql
20. resterm

**Batch 2** (depends on Batch 1):
1. hyprlang (needs hyprutils)
Expand Down Expand Up @@ -404,3 +508,11 @@ To ensure dependencies are satisfied, build in this order:
| 23 | quickshell | `packages/quickshell` | `quickshell.spec` | 0.2.1 |
| 24 | livesys-scripts | `packages/livesys-scripts` | `livesys-scripts.spec` | 0.9.1 |
| 25 | wifitui | `packages/wifitui` | `wifitui.spec` | 0.9.0 |
| 26 | resvg | `packages/resvg` | `resvg.spec` | 0.46.0 |
| 27 | yazi | `packages/yazi` | `yazi.spec` | 26.1.22 |
| 28 | bluetui | `packages/bluetui` | `bluetui.spec` | 0.8.1 |
| 29 | iamb | `packages/iamb` | `iamb.spec` | 0.0.11 |
| 30 | meli | `packages/meli` | `meli.spec` | 0.8.13 |
| 31 | lazyjournal | `packages/lazyjournal` | `lazyjournal.spec` | 0.8.4 |
| 32 | lazysql | `packages/lazysql` | `lazysql.spec` | 0.4.6 |
| 33 | resterm | `packages/resterm` | `resterm.spec` | 0.20.3 |
43 changes: 43 additions & 0 deletions packages/bluetui/bluetui.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# NOTE: This package requires "Enable internet access during builds" in COPR settings
# because cargo needs to download dependencies

%global debug_package %{nil}

Name: bluetui
Version: 0.8.1
Release: 1%{?dist}
Summary: TUI for managing Bluetooth devices

License: GPL-3.0-only
URL: https://github.com/pythops/bluetui
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz

BuildRequires: cargo >= 1.80
BuildRequires: rust >= 1.80
BuildRequires: gcc
BuildRequires: dbus-devel

Requires: bluez

%description
Bluetui is a TUI (Terminal User Interface) for managing Bluetooth devices on Linux.
It provides an intuitive interface for scanning, pairing, connecting, and managing
Bluetooth devices from the terminal.

%prep
%autosetup -n %{name}-%{version}

%build
RUSTFLAGS='-C strip=symbols' cargo build --release --locked

%install
install -Dpm 0755 target/release/bluetui %{buildroot}%{_bindir}/bluetui

%files
%license LICENSE
%doc Readme.md
%{_bindir}/bluetui

%changelog
* Thu Jan 30 2026 Hypercube <hypercube@binarypie.dev> - 0.8.1-1
- Initial package for Hypercube
41 changes: 41 additions & 0 deletions packages/iamb/iamb.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# NOTE: This package requires "Enable internet access during builds" in COPR settings
# because cargo needs to download dependencies

%global debug_package %{nil}

Name: iamb
Version: 0.0.11
Release: 1%{?dist}
Summary: Matrix chat client with Vim-like keybindings

License: Apache-2.0
URL: https://github.com/ulyssa/iamb
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz

BuildRequires: cargo >= 1.83
BuildRequires: rust >= 1.83
BuildRequires: gcc

%description
iamb is a Matrix client for the terminal that uses Vim keybindings. It supports
multiple profiles, threads, spaces, notifications, custom commands, and more.
The interface is designed to be familiar to Vim users while providing full
Matrix functionality.

%prep
%autosetup -n %{name}-%{version}

%build
RUSTFLAGS='-C strip=symbols' cargo build --release --locked

%install
install -Dpm 0755 target/release/iamb %{buildroot}%{_bindir}/iamb

%files
%license LICENSE
%doc README.md
%{_bindir}/iamb

%changelog
* Thu Jan 30 2026 Hypercube <hypercube@binarypie.dev> - 0.0.11-1
- Initial package for Hypercube
39 changes: 39 additions & 0 deletions packages/lazyjournal/lazyjournal.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# NOTE: This package requires "Enable internet access during builds" in COPR settings
# because go needs to download dependencies

%global debug_package %{nil}

Name: lazyjournal
Version: 0.8.4
Release: 1%{?dist}
Summary: TUI for viewing systemd journal and container logs

License: MIT
URL: https://github.com/Lifailon/lazyjournal
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz

BuildRequires: golang >= 1.21
BuildRequires: git

%description
LazyJournal is a TUI for viewing journalctl/systemd logs as well as Docker,
Podman, and Kubernetes container logs. It provides a unified interface for
browsing and filtering logs from multiple sources.

%prep
%autosetup -n %{name}-%{version}

%build
go build -ldflags "-X main.version=%{version}" -o %{name}

%install
install -Dpm 0755 %{name} %{buildroot}%{_bindir}/%{name}

%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}

%changelog
* Thu Jan 30 2026 Hypercube <hypercube@binarypie.dev> - 0.8.4-1
- Initial package for Hypercube
41 changes: 41 additions & 0 deletions packages/lazysql/lazysql.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# NOTE: This package requires "Enable internet access during builds" in COPR settings
# because go needs to download dependencies

%global debug_package %{nil}

Name: lazysql
Version: 0.4.6
Release: 1%{?dist}
Summary: TUI database management client

License: MIT
URL: https://github.com/jorgerojas26/lazysql
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz

BuildRequires: golang >= 1.21
BuildRequires: git

Recommends: xclip

%description
LazySQL is a cross-platform TUI database management tool. It supports
PostgreSQL, MySQL, SQLite, and Microsoft SQL Server. Features include
query execution, table browsing, and connection management.

%prep
%autosetup -n %{name}-%{version}

%build
go build -ldflags "-X main.version=%{version}" -o %{name}

%install
install -Dpm 0755 %{name} %{buildroot}%{_bindir}/%{name}

%files
%license LICENSE.txt
%doc README.md
%{_bindir}/%{name}

%changelog
* Thu Jan 30 2026 Hypercube <hypercube@binarypie.dev> - 0.4.6-1
- Initial package for Hypercube
55 changes: 55 additions & 0 deletions packages/meli/meli.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# NOTE: This package requires "Enable internet access during builds" in COPR settings
# because cargo needs to download dependencies

%global debug_package %{nil}

Name: meli
Version: 0.8.13
Release: 1%{?dist}
Summary: Terminal email client

License: GPL-3.0-or-later
URL: https://meli-email.org
Source0: https://git.meli-email.org/meli/meli/archive/v%{version}.tar.gz

BuildRequires: cargo >= 1.85
BuildRequires: rust >= 1.85
BuildRequires: gcc
BuildRequires: pkgconfig
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: openssl-devel
BuildRequires: perl-interpreter
BuildRequires: mandoc
BuildRequires: zlib-devel
BuildRequires: libcurl-devel
BuildRequires: libnghttp2-devel

Recommends: gpgme
Recommends: notmuch

%description
meli is a configurable and extensible terminal email client with sane defaults.
It supports IMAP, Maildir, notmuch, JMAP, mbox, and NNTP backends. Features include
email threading, tabs for multitasking, GPG support, and contact management.

%prep
%autosetup -n %{name}

%build
export OPENSSL_NO_VENDOR=1
export LIBZ_SYS_STATIC=0
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
RUSTFLAGS='-C strip=symbols' cargo build --release --locked --bin meli --no-default-features --features "sqlite3 notmuch smtp dbus-notifications gpgme cli-docs jmap"

%install
install -Dpm 0755 target/release/meli %{buildroot}%{_bindir}/meli

%files
%license COPYING
%doc README.md
%{_bindir}/meli

%changelog
* Thu Jan 30 2026 Hypercube <hypercube@binarypie.dev> - 0.8.13-1
- Initial package for Hypercube
Loading
Loading