This page is a map of nbshell. Most features are available from the searchable
main menu, the bar, or the nbshell command.
- Island, expanding pill, or full-width bar
- Freely arranged and optional bar modules
- Searchable application launcher and an eight-category main menu whose root search reaches nested actions and installed applications
- Launcher providers for open windows (
#), existing clipboard history (^), calculator expressions (=), and explicitly requested file search (@) - One lazy Library for installed themes, all wallpaper collections, and the reviewed plugin path
- Settings rendered directly inside the Personalize menu flow, with breadcrumb and Back navigation; the direct shortcut and CLI entry remain available
- Dashboard for media, calendar, tasks, habits, system information, and tools
- Theme and wallpaper selection based on Omarchy-compatible color files
- A bundled original wallpaper collection and a global picker that can use an image from any theme collection without changing the active color theme
- Theme-accent frames shared by menus, overlays, popouts, and notifications
- Automatic palette synchronization for Zen Browser and Brave, with an optional Omazen bridge for live Zen updates
- Notification center, clipboard history, system tray, and on-screen displays
- Wi-Fi, saved NetworkManager VPN and WireGuard profiles, Bluetooth pairing and removal, audio devices, brightness, batteries, and power profiles
- Persistent Niri display setup for resolution, scale, rotation, and position
- Update workflow with restart recommendations for important system packages
- Process viewer, power menu, screen saver, and session controls
- Theme-synchronized Hyprlock screen using PAM authentication, the current palette, and either the current wallpaper or a private solid background
- Lock-before-suspend and configurable idle locking
Mod+Alt+L, the session menu, and idle automation all use the same lock path.
nbshell generates the visual configuration immediately before locking, while
Hyprlock owns authentication and the compositor's secure session-lock
protocol. nbshell never reads or stores the password.
Settings → Lock Screen controls the background mode, wallpaper blur and dim
strength, date, and user/host label. Notification text, clipboard contents,
calendar entries, and agent data are intentionally never rendered. A custom
lockCommand remains available in config.json for advanced users, but the
default and supported path is Hyprlock.
- Native Niri scrolling layout
- Optional workspace-local 2x2 grid progression with
Mod+Backspace - Floating Picture-in-Picture management for Zen Browser
- Floating windows for tools such as quick translation and phone preview
- Screenshots by area, output, or selected window
- Screen recording and OBS launcher
- Focused demo recording with on-demand Reddit, Discord, and GitHub exports
- Fast start/end trimming through the nbshell-themed Omacut fork
- OCR, QR scanning, and optional local dictation
- Browser and application media controls through MPRIS
- KDE Connect actions, status, battery, clipboard, files, SMS, and ping
- Android mirroring through the separate
nbphoneCLI and scrcpy - Android front or rear camera as a V4L2 webcam
- Low-latency floating camera preview and direct OBS launch
See the phone webcam guide for setup and daily use.
- Agent Center for Codex, Claude Code, OpenCode, Gemini, Copilot, and Pi
- Explicit safe, balanced, and autonomous approval profiles
- Local-model routing through OpenCode and Ollama
- Quick floating agent, project selection, pair workspaces, and Herdr sessions
- Provider-focused AI dashboard with subscription limits, reset times, local seven-day/model token summaries, agent state, and launch controls
- Privacy-conscious Markdown or JSON system report for agents and support
- Guided gaming setup for Steam, Heroic, Lutris, Prism Launcher, RetroArch, GeForce NOW, and supporting tools
- Plugin system with managed examples such as Omamail, YouTube Music, and Pit Wall
- Calendar synchronization through
khalandvdirsyncer - Syncthing-backed tasks, habits, and wallpapers
Optional features are discovered at runtime. Missing software should disable a feature cleanly instead of preventing the shell from starting.
Large on-demand surfaces are lazy loaded, and the service includes a conservative jemalloc policy for lower idle memory. See Performance for the measurement method and allocator override.