Display your WakaTime coding stats in your Neovim statusline β supports daily, weekly, or monthly views with custom formatting and auto-refresh.
- Async WakaTime CLI integration
- Show coding time for today, this week, or this month
- Custom text formatting
- Auto-refresh (default: every 5 minutes)
- Easy integration with heirline.nvim
- Works with AstroNvim, LazyVim, and more
wakatime-cliinstalled and in your PATH- WakaTime API key in
~/.wakatime.cfg
Choose one:
pip install wakatime # Python
brew install wakatime-cli # macOS/Linux
scoop install wakatime-cli # Windows
choco install wakatime # Windows
npm install -g @wakatime/cli # Node.js
go install github.com/wakatime/wakatime-cli@latest
sudo apt install wakatime # Debian/UbuntuCheck:
wakatime-cli --versionreturn {
{
"fiqryq/wakastat.nvim",
event = "VeryLazy",
cmd = { "WakastatRefresh", "WakastatStatus" },
opts = {
args = { "--today" }, -- or "--week", "--month"
format = "Today Coding Time: %s", -- %s replaced with time
update_interval = 300, -- seconds between updates
enable_timer = true,
},
config = function(_, opts)
require("wakastat").setup(opts)
end,
specs = {
{
"rebelot/heirline.nvim",
optional = true,
opts = function(_, opts)
opts.statusline = opts.statusline or {}
table.insert(opts.statusline, 5, { -- insert at position 5
provider = function()
return " " .. require("wakastat").status() .. " "
end,
hl = "Wakastat",
update = { "User", pattern = "WakastatUpdated" },
})
end,
},
},
},
}{
args = { "--today" }, -- CLI arguments
format = "Today Coding Time: %s",-- display format
update_interval = 300, -- update frequency (seconds)
enable_timer = true, -- auto-refresh
}Common args values:
{ "--today" }β todayβs coding time{ "--week" }β this week{ "--month" }β this month{ "--year" }β this year
- No data β Make sure WakaTime is tracking and your API key is set in
~/.wakatime.cfg - CLI not found β Install
wakatime-cliand confirm withwakatime-cli --version - Not updating β Lower
update_intervalor run:WakastatRefresh