moka.hx
A fully configurable statusline and bufferline for Helix
- Stars: 24
- Last commit:
- Created:
A fully configurable statusline and bufferline for Helix
A fully configurable statusline and bufferline for Helix.
Sections, segments, colors, shapes, spacing — all defined from init.scm, nothing hardcoded.

1. Install the plugin-enabled fork of Helix by following the instructions here.
2. Install moka.hx via forge:
forge pkg install --git https://github.com/Ra77a3l3-jar/moka.hx.git
3. Load the plugin by adding this to your init.scm:
(require "moka/moka.scm")
(moka-configure!
#:sections
(list
(moka-section (list (moka-segment 'mode) (moka-segment 'file)) #:align 'left)
(moka-section (list (moka-segment 'lsp) (moka-segment 'git-branch) (moka-segment 'position)) #:align 'right)))
(moka-enable!)
(moka-disable!) restores Helix's default statusline.
| Segment | Shows |
|---|---|
'mode | NOR / INS / SEL, colored from the theme |
'file | File icon + git status + name |
'git-branch | Current branch |
'lsp | Active LSP client name(s) |
'position | line:column |
'spacer / 'separator | Blank space / | |
Each segment takes #:fg, #:bg, #:bubble? (#t round, 'angled sharp, #f flat block), and #:gap (spacing to the next one, 0 = touching).
Classic lualine

;; Nord
(moka-configure!
#:sections
(list
(moka-section (list (moka-segment 'mode #:bg "#88c0d0" #:fg "#2e3440" #:bubble? #f #:gap 0)
(moka-segment 'file #:bg "#4c566a" #:fg "#d8dee9" #:bubble? #f #:gap 0)
(moka-segment 'git-branch #:bg "#3b4252" #:fg "#d8dee9" #:bubble? #f))
#:align 'left)
(moka-section (list (moka-segment 'lsp #:bg "#3b4252" #:fg "#d8dee9" #:bubble? #f #:gap 0)
(moka-segment 'position #:bg "#5e81ac" #:fg "#eceff4" #:bubble? #f))
#:align 'right)))
(moka-enable!)
Ghost Mode

(moka-configure!
#:sections
(list
(moka-section (list (moka-segment 'mode #:fg "#8a8a8a" #:bg #f)
(moka-segment 'file #:fg "#8a8a8a"))
#:align 'left)
(moka-section (list (moka-segment 'git-branch #:fg "#8a8a8a" #:bg #f)
(moka-segment 'lsp #:fg "#8a8a8a")
(moka-segment 'position #:fg "#8a8a8a"))
#:align 'right)))
(moka-enable!)
Tokyo Night

(moka-configure!
#:sections
(list
(moka-section (list (moka-segment 'mode #:bg "#7aa2f7" #:fg "#1a1b26" #:bubble? 'angled #:gap 1)
(moka-segment 'file #:bg "#bb9af7" #:fg "#1a1b26" #:bubble? 'angled #:gap 1)
(moka-segment 'git-branch #:bg "#7dcfff" #:fg "#1a1b26" #:bubble? 'angled))
#:align 'left)
(moka-section (list (moka-segment 'lsp #:bg "#9ece6a" #:fg "#1a1b26" #:bubble? 'angled)
(moka-segment 'position #:bg "#ff9e64" #:fg "#1a1b26" #:bubble? 'angled))
#:align 'right)))
(moka-enable!)
Rosé Pine

(moka-configure!
#:sections
(list
(moka-section (list (moka-segment 'mode #:fg "#908caa" #:bg #f)
(moka-segment 'file #:fg "#908caa"))
#:align 'left)
(moka-section (list (moka-segment 'git-branch #:bg "#c4a7e7" #:fg "#191724" #:bubble? #t)) #:align 'center)
(moka-section (list (moka-segment 'lsp #:fg "#ebbcba")
(moka-segment 'position #:fg "#ebbcba"))
#:align 'right)))
(moka-enable!)
moka.hx also ships a bufferline, replacing Helix's native one. Same styling options: pills, angled caps, flat blocks.
Catppuccin

(moka-bufferline-configure!
#:active (moka-buffer-style #:bg "#89b4fa" #:fg "#1e1e2e" #:bubble? #t)
#:inactive (moka-buffer-style #:bg "#313244" #:fg "#a6adc8" #:bubble? #t)
#:gap 0)
(moka-bufferline-enable!)
Tokyo Night

(moka-bufferline-configure!
#:active (moka-buffer-style #:bg "#bb9af7" #:fg "#1a1b26" #:bubble? 'angled)
#:inactive (moka-buffer-style #:bg "#24283b" #:fg "#7dcfff" #:bubble? 'angled)
#:gap 0)
(moka-bufferline-enable!)
Gruvbox

(moka-bufferline-configure!
#:active (moka-buffer-style #:bg "#fabd2f" #:fg "#282828" #:bubble? #f)
#:inactive (moka-buffer-style #:bg "#3c3836" #:fg "#a89984" #:bubble? #f)
#:gap 0)
(moka-bufferline-enable!)