StackPanel

TUI Module

Documentation for the tui module

Terminal User Interface customization for development shells.

Overview

This module provides terminal theming and prompt customization for development environments. Currently focuses on Starship prompt configuration with plans for interactive TUI features.

Files

FileDescription
default.nixModule entry point and imports
theme.nixStarship prompt configuration
starship.tomlDefault Starship theme configuration

Starship Prompt

The theme module configures Starship prompt for consistent terminal experience across the team.

Features

  • Git status and branch display
  • Current directory with truncation
  • Language version indicators (Node, Python, Rust, etc.)
  • Command duration for long-running tasks
  • Custom stackpanel styling

Usage

# devenv.nix
stackpanel.theme = {
  enable = true;
  # Optional: use custom config
  config-file = ./my-starship.toml;
};

Direnv Compatibility

The theme module is direnv-aware and avoids double-initialization:

  • In direct devenv shell: Starship is initialized automatically
  • With direnv: Relies on user's shell rc file for starship init

Custom Themes

To use a custom Starship configuration:

  1. Create a starship.toml file with your preferences
  2. Reference it in the config:
stackpanel.theme.config-file = ./config/starship.toml;

Future Features

Planned TUI enhancements:

  • Interactive service management dashboard
  • Log viewer with filtering
  • Configuration wizard
  • Status overview panel

On this page