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: https://github.com/jdluu/Nexus/blob/main/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.1.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.1-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nexus_tui-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 ef274a17a2aee1258225f3b0d9834b791a3819bb8f02b217e61d92f2d34f6a20
MD5 e678e5093817aafb8e7ce8c495e35c6a
BLAKE2b-256 a9e695edcd0970c2d6b5fa8b31cad4a9748176031fce3f0c0f40995f22fca1f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nexus_tui-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 74cd3b5262e0c3bca36e5f4ace6db86a8d9bba2312913cc7585da280c0452ec9
MD5 438e35af26235eeeb95fc6adb3a5ffdc
BLAKE2b-256 39fb38e1833198ed970633b53cbadf66279968ccca4ecc38de480e3e97a1e8da

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