Files
n_os_tr/includes/nostr-id-tui

nostr-id-tui

Boot-time terminal identity UI for n-OS-tr.

Current local implementation provides a functional ncurses flow:

  • Main menu
  • Enter existing mnemonic -> validate -> derive account 0 npub
  • Generate new mnemonic -> derive account 0 npub -> show random confirmation positions

Local host dev loop (fast iteration)

Use the wrapper script to auto-bootstrap nostr_core_lib (if missing), rebuild, and run in your current terminal:

./stack/nostr-id-tui/dev.sh

What it does:

  1. If includes/nostr_core_lib/libnostr_core_x64.a is missing, builds it with ./build.sh x64.
  2. Configures stack/nostr-id-tui/build-host with CMake.
  3. Rebuilds nostr-id-tui for host.
  4. Runs it with TERM=${TERM:-xterm-256color}.

Manual equivalent (if preferred):

cmake -S stack/nostr-id-tui -B stack/nostr-id-tui/build-host
cmake --build stack/nostr-id-tui/build-host -j
TERM=xterm-256color ./stack/nostr-id-tui/build-host/nostr-id-tui

Static Docker build (musl, reproducible)

This path now builds nostr_core_lib inside Alpine and links nostr-id-tui fully static against musl.

./stack/nostr-id-tui/build_static.sh

Output:

  • stack/nostr-id-tui/build/nostr-id-tui_static_x86_64

Notes

  • Uses upstream helpers from nostr_core_lib:
    • nostr_secure_memory
    • nostr_bip39_ui
    • nostr_generate_mnemonic_and_keys
    • nostr_derive_keys_from_mnemonic
  • Identity-agent IPC and systemd boot wiring are intentionally out of scope for this step.