Background
In PR #2024, @tani suggested merging lem-webview into lem-cli:
do you have any plan to contain merge lem-webview nix package into lem-cli? I prefer do that.
#2024 (review)
Current Structure
| Package |
Contents |
lem (lem-cli) |
ncurses + SDL2 |
lem-webview |
WebKit GUI |
Proposed Structure
| Package |
Contents |
Use Case |
lem |
ncurses + SDL2 + webview |
Desktop users (full-featured) |
lem-ncurses |
ncurses only |
Server / minimal environments |
Benefits
- Intuitive naming:
lem provides all features out of the box
- Addresses @tani's feedback: Integration of frontends
- Lightweight option available:
lem-ncurses for minimal environments
- Simple: 2 packages cover all use cases
Concerns
- Heavier default:
nix run github:lem-project/lem would download WebKitGTK (~hundreds of MB)
- macOS compatibility: WebKitGTK is Linux-focused. May need conditional logic:
lem = if pkgs.stdenv.isLinux
then lem-full # Linux: all frontends
else lem-cli; # macOS: SDL2 + ncurses only
- SDL2-only option: Users who want SDL2 without ncurses or webview would need a separate package
Alternative: 3-package structure
| Package |
Contents |
Notes |
lem |
ncurses + SDL2 |
Current default, most portable |
lem-ncurses |
ncurses only |
Minimal |
lem-full |
All frontends |
Linux only |
Questions for Discussion
- Should
lem be the full-featured package or stay as ncurses + SDL2?
- Do we need a SDL2-only package?
- How should we handle macOS where webview may not work?
/cc @tani
Background
In PR #2024, @tani suggested merging
lem-webviewintolem-cli:#2024 (review)
Current Structure
lem(lem-cli)lem-webviewProposed Structure
lemlem-ncursesBenefits
lemprovides all features out of the boxlem-ncursesfor minimal environmentsConcerns
nix run github:lem-project/lemwould download WebKitGTK (~hundreds of MB)Alternative: 3-package structure
lemlem-ncurseslem-fullQuestions for Discussion
lembe the full-featured package or stay as ncurses + SDL2?/cc @tani