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
Caption: Main dashboard showing projects and tools.
Prerequisites
- Python 3.12 or newer.
- The
uvpackage manager. - Recommended: A modern terminal emulator with TrueColor support (e.g., Windows Terminal, ghostty, Kitty, or WezTerm).
- Recommended: A Nerd Font for optimal icon rendering.
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:
-
Synchronize dependencies:
uv sync -
Run the application locally:
uv run nexus
-
Execute the comprehensive test suite:
uv run pytest --cov=nexus
-
Perform static analysis and type checking:
uv run ruff check . uv run mypy .
Metadata
Release files for nexus-tui 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nexus_tui-0.2.1.tar.gz | 22.0 kB | Without provenance | Details for nexus_tui-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nexus_tui-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for nexus_tui-0.2.1-py3-none-any.whl |
Total release size: 54.4 kB
Release files / nexus_tui-0.2.1.tar.gz
| Download URL | nexus_tui-0.2.1.tar.gz |
|---|---|
| Size | 22.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef274a17a2aee1258225f3b0d9834b791a3819bb8f02b217e61d92f2d34f6a20
|
|
BLAKE2b-256 checksum How to use checksums |
a9e695edcd0970c2d6b5fa8b31cad4a9748176031fce3f0c0f40995f22fca1f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / nexus_tui-0.2.1-py3-none-any.whl
| Download URL | nexus_tui-0.2.1-py3-none-any.whl |
|---|---|
| Size | 32.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
74cd3b5262e0c3bca36e5f4ace6db86a8d9bba2312913cc7585da280c0452ec9
|
|
BLAKE2b-256 checksum How to use checksums |
39fb38e1833198ed970633b53cbadf66279968ccca4ecc38de480e3e97a1e8da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Security for nexus-tui 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.