Skip to main content

A TUI orchestrator to manage your installed terminal tools: access everything through a single command

Project description

Nexus

Nexus is a terminal dashboard that lets you launch your favorite CLI and TUI tools (like Neovim, Git UIs, or custom scripts) from a single interactive menu. No memorizing commands or directories required.

Think of Nexus as a launcher for terminal tools, similar to how Raycast or Alfred launch GUI apps.

Source Code: https://github.com/jdluu/Nexus | Changelog: CHANGELOG.md

Nexus Logic Demo Caption: Main dashboard showing projects and tools.

Prerequisites

Installation

It is recommended to use uv, a fast Python package and tool manager (similar to pipx), for a clean, isolated global installation.

# Install globally so you can run 'nexus' from anywhere
uv tool install nexus-tui

Alternative (Standard pip): You can also install via pip, though it is recommended uv or pipx to keep dependencies isolated.

pip install nexus-tui

Upgrade

To update to the latest version:

uv tool upgrade nexus-tui

Features

  • Smart Search: Instantly find tools with fuzzy matching and a built-in Command Palette (Ctrl+P).
  • Dynamic Flags: Pass custom arguments (e.g., --verbose, --dry-run) to your tools at launch time.
  • Advanced Project Browser: Browse your entire filesystem or scan defined roots to find project context. Supports selecting both folders and individual files.
  • Responsive Design System: Fully themeable interface with support for Tokyo Night (Dark, Storm, Light) and automatic system preference detection.
  • Secure Secrets: Seamless integration with Infisical for environment variable management.
  • Persistence: Nexus remembers your recently accessed projects for quick re-launching.

Configuration

Nexus utilizes a tools.toml file for configuration.

Minimal Starter Config

# Define where your code projects live
project_root = "~/Projects"

# Add a tool with placeholder support
[[tool]]
label = "Edit"
category = "DEV"
description = "Open project in Neovim"
command = "nvim {project}"
requires_project = true
supports_flags = true

Command Placeholders

You can use the following placeholders in your command strings:

  • {project}: Replaced by the absolute path of the selected project or file.
  • {flags}: Replaced by any custom arguments you enter at launch.

Controls

  • Arrow Keys: Navigate through lists.
  • Enter: Confirm selection or launch tool.
  • Ctrl+P: Open the global Command Palette.
  • Ctrl+B: Open the Advanced Project Browser (when in project picker).
  • Ctrl+T: Open the Theme Picker.
  • TypeAnywhere: Instantly filter tools by typing.
  • Esc: Go back or return to the previous view.
  • Ctrl+Q: Exit the application (with confirmation).
  • F1: Show Help / Controls.

FAQ & Troubleshooting

Does Nexus discover tools automatically?

No. You must define your tools in tools.toml so you have full control over what appears in your dashboard.

Is this a replacement for my shell?

No. Nexus is a dashboard. When you launch a tool, it temporarily suspends itself to let the tool take over your terminal. When the tool exits, Nexus returns.

My icons look broken (rectangles or question marks).

Ensure you are using a Nerd Font and that your terminal emulator is configured to use it.

Development (For Contributors)

To configure the development environment:

  1. Synchronize dependencies:

    uv sync
    
  2. Run the application locally:

    uv run nexus
    
  3. Execute the comprehensive test suite:

    uv run pytest --cov=nexus
    
  4. Perform static analysis and type checking:

    uv run ruff check .
    uv run mypy .
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nexus_tui-0.2.0.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nexus_tui-0.2.0-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file nexus_tui-0.2.0.tar.gz.

File metadata

  • Download URL: nexus_tui-0.2.0.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nexus_tui-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cacfe6f304c5aa8c97625f66d73ed2eca18f47ebb4a9cc027060563f13cef268
MD5 a2e90af1f5d2be987d9a164603ff74f9
BLAKE2b-256 b584adc16302a2cd6c881118861d12118e284a4f2db76d79c48522eae5b5c30d

See more details on using hashes here.

File details

Details for the file nexus_tui-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nexus_tui-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 32.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nexus_tui-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2dac0667427a5dc0ef4ff84e4c781b4ab6d76ffcc89ffd85ecbaf96428fc6cbc
MD5 9172342cae48ab30c6dfdcbe9b231b9f
BLAKE2b-256 b9706d0c3c7f88824ed1795dfba098eef8f0d89c8a14b722effba29e55d9cc46

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page