A Pi package that opens Lazygit directly inside Pi as a floating overlay window.
/lazygitslash command in Pi.- Real pseudo-terminal via
@homebridge/node-pty-prebuilt-multiarch. - Lazygit screen rendering inside a Pi overlay using
@xterm/headless. - Automatic resize when the Pi terminal/overlay size changes.
- Optional keyboard shortcut through
PI_LAZYGIT_SHORTCUT.
- Node.js
>=20 <25. - Pi interactive TUI mode.
lazygitinstalled and available onPATH.
Install Lazygit with your platform package manager, for example:
# macOS
brew install lazygit
# Arch Linux
sudo pacman -S lazygit
# Ubuntu/Debian users can follow Lazygit's official install docs:
# https://github.com/jesseduffield/lazygit#installationFrom npm, once released:
pi install npm:@rexkit/pi-lazygitFrom GitHub:
pi install git:github.com/Rexkit/pi-lazygitFor local development from this checkout:
npm install
pi -e .Inside Pi, run:
/lazygit
Pass Lazygit arguments after the command when needed:
/lazygit --path ./packages/app
Key handling:
- Use Lazygit's normal keybindings inside the overlay.
- Press
qto quit Lazygit normally. - Press
Ctrl+Qto force-close the overlay/process if Lazygit is stuck.
Environment variables:
| Variable | Default | Description |
|---|---|---|
PI_LAZYGIT_COMMAND |
lazygit |
Binary/command to run. Useful for wrappers. |
PI_LAZYGIT_WIDTH |
90% |
Overlay width. Accepts a number of columns or a percentage. |
PI_LAZYGIT_MAX_HEIGHT |
90% |
Overlay max height. Accepts a number of rows or a percentage. |
PI_LAZYGIT_MIN_WIDTH |
60 |
Minimum overlay width in columns. |
PI_LAZYGIT_MIN_ROWS |
10 |
Minimum Lazygit pseudo-terminal rows. |
PI_LAZYGIT_MAX_ROWS |
45 |
Maximum Lazygit pseudo-terminal rows. |
PI_LAZYGIT_SHORTCUT |
unset | Optional Pi shortcut, for example ctrl+g. |
Example:
PI_LAZYGIT_SHORTCUT=ctrl+g pi -e .Then press Ctrl+G in Pi to open Lazygit.
npm install
npm run lint
npm run build
npm run formatMIT