By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
Instead of relying on stdin and stdout by default, using the huh package from charmbracelet allows us to handle user input more gracefully such as y/n instead of typing 'yes' or 'no'. If a user makes a mistake whilst typing in any text fields they cannot use left or right to edit a single character when using huh it can. This adds a dependancy and may increase the size of installer but overall improves user experience.
How to test?
Building the installer now uses components from huh package to handle just user input (instead of building a full weight TUI which is too much for just an installer). You can simply run the installer once built and to test the fallback logic you can run TERM=dumb ./installer
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/fosrl/pangolin/pull/2500
**Author:** [@LaurenceJJones](https://github.com/LaurenceJJones)
**Created:** 2/18/2026
**Status:** ✅ Merged
**Merged:** 2/25/2026
**Merged by:** [@oschwartz10612](https://github.com/oschwartz10612)
**Base:** `dev` ← **Head:** `feature/installer-tui`
---
### 📝 Commits (1)
- [`e8398cb`](https://github.com/fosrl/pangolin/commit/e8398cb221da44f84555d66d6fcae6fdfc3dddf6) enhance(installer): use huh package to handle input
### 📊 Changes
**5 files changed** (+392 additions, -100 deletions)
<details>
<summary>View changed files</summary>
📝 `install/go.mod` (+30 -2)
📝 `install/go.sum` (+77 -4)
📝 `install/input.go` (+204 -61)
📝 `install/main.go` (+30 -33)
➕ `install/theme.go` (+51 -0)
</details>
### 📄 Description
## Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
## Description
Instead of relying on stdin and stdout by default, using the huh package from charmbracelet allows us to handle user input more gracefully such as y/n instead of typing 'yes' or 'no'. If a user makes a mistake whilst typing in any text fields they cannot use left or right to edit a single character when using huh it can. This adds a dependancy and may increase the size of installer but overall improves user experience.
## How to test?
Building the installer now uses components from huh package to handle just user input (instead of building a full weight TUI which is too much for just an installer). You can simply run the installer once built and to test the fallback logic you can run `TERM=dumb ./installer`

---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/fosrl/pangolin/pull/2500
Author: @LaurenceJJones
Created: 2/18/2026
Status: ✅ Merged
Merged: 2/25/2026
Merged by: @oschwartz10612
Base:
dev← Head:feature/installer-tui📝 Commits (1)
e8398cbenhance(installer): use huh package to handle input📊 Changes
5 files changed (+392 additions, -100 deletions)
View changed files
📝
install/go.mod(+30 -2)📝
install/go.sum(+77 -4)📝
install/input.go(+204 -61)📝
install/main.go(+30 -33)➕
install/theme.go(+51 -0)📄 Description
Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
Instead of relying on stdin and stdout by default, using the huh package from charmbracelet allows us to handle user input more gracefully such as y/n instead of typing 'yes' or 'no'. If a user makes a mistake whilst typing in any text fields they cannot use left or right to edit a single character when using huh it can. This adds a dependancy and may increase the size of installer but overall improves user experience.
How to test?
Building the installer now uses components from huh package to handle just user input (instead of building a full weight TUI which is too much for just an installer). You can simply run the installer once built and to test the fallback logic you can run
TERM=dumb ./installer🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.