pomodoro.nvim

June 21, 2025 ยท View on GitHub

Use the Pomodoro Technique in Neovim with built-in session tracking and break reminders.

image

Install using lazy.nvim

  {
    "quentingruber/pomodoro.nvim",
    lazy = false, -- needed so the pomodoro can start at launch
    opts = {
      start_at_launch = true,
      work_duration = 25,
      break_duration = 5,
      delay_duration = 1, -- The additionnal work time you get when you delay a break
      long_break_duration = 15,
      breaks_before_long = 4,
      display_ui_on_break = true, -- Disable it if you only want to see the lualine
    },
  },

Setup pomodoro display in lualine

  {
    "nvim-lualine/lualine.nvim",
    optional = true,
    event = "VeryLazy",
    opts = function(_, opts)
      table.insert(opts.sections.lualine_x, 3, {
        function()
          return require("pomodoro").get_pomodoro_status("๐Ÿ…โŒ","๐Ÿ…","โ˜•")
        end,
      })
    end,
  },

Usage

CommandDescription
:PomodoroStart {duration?}Start the Pomodoro timer.
:PomodoroStopStop the Pomodoro timer.
:PomodoroUIDisplay the Pomodoro UI.
:PomodoroSkipBreakSkip the current break and start the next work session.
:PomodoroForceBreak {duration?}Forcefully start a break.
:PomodoroDelayBreakDelay the current break by a delay duration.