2026-03-18 15:21:35 -04:00
2026-02-25 20:31:40 -03:00
2025-10-20 13:25:51 -04:00
2026-03-18 15:21:35 -04:00
2025-12-02 15:28:29 -05:00
2026-03-18 15:21:35 -04:00
2025-10-09 09:26:12 -04:00
2026-03-18 15:21:35 -04:00
2026-03-16 18:04:11 -04:00
2026-03-18 10:24:51 -04:00

Logos Package Manager Module

Outputs

  • .#lib: builds the plugin library (package_manager_plugin.{dylib|so})
  • .#logos-package-manager-include: generates C/C++ headers from the built plugin
  • .#cli: builds the command-line tool (lgpm)
  • .#default: combined output exposing both lib/ and include/

Build the module

nix build

Or build specific outputs:

nix build .#lib
nix build .#logos-package-manager-include
nix build .#default

Enter development shell

nix develop

Build manually in development shell

nix develop
mkdir build && cd build
cmake -GNinja ..
ninja

Building with CMake

If you don't want to use Nix, you can build directly with CMake:

mkdir build && cd build
cmake -GNinja \
  -DLOGOS_CPP_SDK_ROOT=/path/to/logos-cpp-sdk \
  -DLOGOS_LIBLOGOS_ROOT=/path/to/logos-liblogos \
  ..
ninja

Generated headers

When building via Nix, headers are generated by logos-cpp-generator from the compiled plugin (package_manager_plugin.{dylib,so}) and installed under $out/include. The include-only derivation can be built with:

nix build .#logos-package-manager-include

Command-Line Interface (lgpm)

The package manager includes a CLI tool for searching and installing packages.

Building the CLI

With Nix:

nix build .#cli
./result/bin/lgpm --help

With CMake (in development shell):

nix develop
mkdir build && cd build
cmake -GNinja ..
ninja lgpm
./bin/lgpm --help

Commands

Search packages

lgpm search <query>

Search packages by name or description.

List packages

lgpm list [--category <cat>] [--installed]

List all available packages. Optionally filter by category or show only installed packages.

Install packages

lgpm install <package> [packages...]

Install one or more packages. Dependencies are resolved automatically.

List categories

lgpm categories

List all available package categories.

Show package info

lgpm info <package>

Display detailed information about a specific package.

Global Options

Option Description
--modules-dir <path> Set core modules installation directory
--ui-plugins-dir <path> Set UI plugins installation directory
--release <tag> GitHub release tag to use (default: latest)
--json Output results in JSON format
-h, --help Show help message
-v, --version Show version information

Examples

# Search for waku-related packages
lgpm search waku

# List all packages in JSON format
lgpm list --json

# List only installed packages
lgpm list --installed

# Install a package (with automatic dependency resolution)
lgpm install waku-module

# Install multiple packages
lgpm install waku-module nwaku-module

# Get detailed info about a package
lgpm info waku-module

# Install to a custom directory
lgpm --modules-dir /path/to/modules install waku-module

# Install from a specific release instead of "latest"
lgpm --release v2.1.0 install waku-module

# List packages available in a specific release
lgpm --release v2.1.0 list --json

Dependencies

S
Description
No description provided
Readme
801 KiB
Languages
C++ 94%
Shell 3%
CMake 1.6%
C 1%
Nix 0.4%