_)
__ _ __ __
/ _|_ _ ___ ___ | |__ | \/ |__ _ _ _ __ _ ___
| _| '_/ -_)(_-< | '_ \ | |\/| / _` | ' \/ _` / _ \
|_| |_| \___)/___||_||_| |_| |_\__,_|_||_\__, \___/
|___/
A terminal UI for Linux fan control via nbfc-linux, built with the Charmbracelet stack.
- Dashboard β Live CPU temperature and fan speed monitoring with real-time graphs
- Curve Editor β Visual temperature-to-fan-speed threshold editor
- Installer Wizard β Guided setup for nbfc-linux detection, model configuration, and service activation
- Hub Navigation β Central hub-and-spoke menu for quick access to all views
- Warm Ember Theme β Amber/teal color palette designed for extended terminal sessions
- Go 1.24+
- Linux (nbfc-linux is Linux-only)
- nbfc-linux installed and available on
$PATH
git clone https://github.com/juandagalo/fresh-mango.git
cd fresh-mango
make buildThe binary is written to ./freshMango.
go install github.com/mango/freshMango@latest# Run freshMango (some nbfc operations require root)
freshMango
# Or with sudo for full fan control
sudo freshMangoOn first run, if nbfc-linux is not detected or not configured, freshMango launches the Installer Wizard to walk you through setup. Once configured, the app opens to the Hub where you can navigate to any view.
| Key | Action |
|---|---|
β / k |
Move up |
β / j |
Move down |
1β6 |
Jump to menu item |
Enter |
Select / confirm |
Esc |
Back to hub |
q |
Quit |
freshMango/
βββ main.go # Entry point β launches Bubble Tea program
βββ internal/
β βββ tui/ # Terminal UI layer (Bubble Tea models & views)
β β βββ app.go # Root model, startup state machine, view routing
β β βββ hub.go # Hub menu (central navigation)
β β βββ dashboard.go # Live monitoring view
β β βββ curve.go # Curve editor view
β β βββ installer.go # Installer wizard (setup flow)
β β βββ styles.go # Warm Ember theme (colors & Lipgloss styles)
β βββ nbfc/ # nbfc-linux CLI wrapper
β β βββ nbfc.go # Commands: status, config set/list, start/stop
β βββ system/ # System-level utilities
β βββ system.go # Root detection, command execution helpers
βββ Makefile # Build, test, lint, coverage targets
βββ .github/
βββ workflows/ci.yml # CI pipeline (lint, test, build)
Stack: Bubble Tea (TUI framework) Β· Lipgloss (styling) Β· nbfc-linux (fan control backend)
| Phase | Focus | Status |
|---|---|---|
| 1 | Foundation | β Complete β theme, hub, installer wizard, smart entry routing |
| 2 | Core Controls | π Next β fan speed override, profile switching |
| 3 | Profiles & Sensors | π Planned β sensor configuration UI, config rating system |
| 4 | IPC & Polish | π Planned β real-time IPC, dashboard enhancements, settings |
Contributions are welcome! Please read CONTRIBUTING.md for guidelines on branching, commit messages, and the pull request process.
This project uses Conventional Commits and enforces quality gates via make check.
This project is released under the MIT License.