What is NX AppHub CLI (and what it isn't) - Nitrux/nx-apphub GitHub Wiki

Overview

NX AppHub CLI is a lightweight command-line tool for managing and building applications in Nitrux. It fetches YAML-based app definitions from a curated Git repository, builds the requested application locally using .deb packages, and handles installation, updates, and removal—all without touching your system files or requiring APT or dpkg.

Each application is self-contained and built on demand, giving users full visibility and control over what's inside. NX AppHub CLI also supports manual builds to define and install your applications, not just those curated in the official repository.

For terminology consistency across the wikis, "AppBox" refers to curated, policy-compliant bundles as defined in NX AppHub FAQ → 1. Why are the files called AppBoxes?. Manual/custom builds are supported, but they are not considered AppBoxes unless they satisfy that definition.

1. Key Features

  • Build and manage curated AppBoxes (Nitrux-native application bundles) locally using curated YAML definitions from NX AppHub Apps, and build custom bundles from user-provided specifications; no containers, runtimes, or compiling required.
  • No root needed—installs apps in your user directory without touching the base system.
  • Optional integrity checks to detect missing shared libraries in AppBoxes.
  • Cleans up after itself to keep your system tidy.

2. What is NX AppHub CLI?

  • A lightweight application builder and manager for Nitrux that builds, installs, updates, downgrades, and removes AppBoxes using a Git-based system that fetches application definitions from a curated Git repository using YAML files, ensuring consistency and quality.

    • These definitions are YAML files, one per app, stored in ~/.local/share/nx-apphub-cli/apps/.
    • No actual .deb, .AppImage, or .AppBox files are stored in Git.
  • A fully automated builder that handles the entire process—from fetching Debian packages via metadata defined in YAML files to assembling complete application bundles locally, without requiring manual intervention.

  • A simple, flexible tool that prioritizes ease of use over complexity. It provides lifecycle and management features for AppBoxes (install/update/remove, automated rollbacks/backups) while also allowing custom local bundle builds.

3. What isn't NX AppHub CLI?

  • A traditional package manager. While it consumes standard Debian packages, it completely bypasses APT and dpkg. It does not interact with a system-wide database, requires no root privileges, and never touches the root filesystem.

    • NX AppHub bundles explicitly defined .deb packages declaratively at build time using a YAML definition, creating a final self-contained AppBox, similar to how container builders work, but optimized for desktop applications.
  • A runtime or integration environment. Unlike traditional AppImages that bundle redundant libraries to ensure they run on the oldest possible Linux base (universality), or Flatpak, which relies on large runtime environments, both of which duplicate system libraries, NX AppHub CLI focuses solely on building and managing AppBoxes with a lightweight, straightforward approach, without imposing a full runtime or environment.

  • A closed or proprietary ecosystem or a cross-distro utility. While NX AppHub CLI is designed specifically for Nitrux and AppBoxes don't aim for compatibility with other distributions, it remains fully open-source.

    • Users can manually build a custom bundle from their own YAML definitions, and we have licensed both the utility and its curated app definitions under a 100% FOSS license.
    • We define Contribution Workflow Guidelines for those interested in adding a YAML to the NX AppHub Apps repository. PRs are welcome.
  • Not a container, runtime, VM hypervisor, Live USB creator, Linux distro, desktop environment, emulator, abstraction layer, or—for the record—proprietary software.

[!NOTE] We don't know why anyone would think that, but you can never know, so let's clarify.