uhs-robert/oasis.nvim

github github
colorschemetreesitter-colorschemes
stars 12
issues 3
subscribers 0
forks 0
CREATED

UPDATED


πŸŒ… Overview

Born from the classic desert.vim, transformed and modernized into something new entirely.

Oasis follows Melange’s warm/cool split philosophy (warm = action/flow, cool = structure/data).

[!TIP] Click any card above to view the full preview and syntax sample.

↓ Click here to view all full previews

✨ Features

  • 14 theme styles: A rainbow of desert-inspired options; with an emphasis on being dark (with only one light theme).
  • Comprehensive highlighting - LSP, Tree-sitter, and plugin support
  • Fast loading - Direct highlight application for optimal performance
  • Zero dependencies - Works out of the box without external plugins
  • Modular architecture - Easy to customize and extend
Plugin
fzf-lua
gitsigns.nvim
snacks.nvim
which-key.nvim
Tool Extra
Kitty extras/kitty
TMUX tmux-oasis

[!NOTE] Use TMUX? There is a companion TMUX plugin for this Oasis theme suite: tmux-oasis

πŸ“¦ Installation

Install the theme with your preferred package manager, such as folke/lazy.nvim:

{
  "uhs-robert/oasis.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require('oasis').setup({
      style = "lagoon",  -- Optional: Choose any style like `lagoon` or 'dune'.
    })
  end
}

βš™οΈ Configuration

The theme offers 14 different styles to choose from: night, midnight, abyss, starlight, desert, sol, canyon, dune, cactus, mirage, lagoon, twilight, rose, and dawn.

Oasis works out of the box, but you can customize it using setup().

require('oasis').setup({
  style = "lagoon",              -- Choose your style (e.g., "lagoon", "desert", "dune", etc:)
  use_legacy_comments = false,   -- Uses the legacy comment color in the `desert` style only (a bright sky blue)
  palette_overrides = {},        -- Override colors in specific palettes
  highlight_overrides = {},      -- Override specific highlight groups
})

πŸͺ“ Overriding Colors & Highlight Groups

Thirsty for total control? Oasis allows you to override whatever you like.

Whoever drinketh of the water that I shall give him, shall never thirst...

palette_overrides - Customize colors in palettes (See Color Palettes for palette structure)

require('oasis').setup({
  palette_overrides = {
    oasis_lagoon = {
      syntax = { func = "#E06C75", comment = "#5C6370" },
      ui = { border = "#61AFEF" }
    }
  }
})

highlight_overrides - Override or add highlight groups (See Theme Generator for highlight groups):

require('oasis').setup({
  highlight_overrides = {
    Comment = { fg = "#5C6370", italic = true },
    Function = { fg = "#E06C75", bold = true },
    Identifier = "Function"  -- Link to another group
  }
})

πŸš€ Usage

⭐ Recommended: Use setup() to launch nvim with your desired style

-- Use default style (lagoon)
require('oasis').setup()

-- Or specify a style
require('oasis').setup({ style = "desert" })

Alternative: Use colorscheme command to swap on the fly

vim.cmd.colorscheme("oasis")  -- default (lagoon)
vim.cmd.colorscheme("oasis-desert")  -- specific style
colorscheme oasis

" You may also use different styles, this method must be prefixed with `oasis-`
colorscheme oasis-abyss
colorscheme oasis-cactus
colorscheme oasis-canyon
colorscheme oasis-desert
colorscheme oasis-dune
colorscheme oasis-lagoon
colorscheme oasis-mirage
colorscheme oasis-night
colorscheme oasis-midnight
colorscheme oasis-rose
colorscheme oasis-sol
colorscheme oasis-starlight
colorscheme oasis-twilight
colorscheme oasis-dawn

Some plugins need extra configuration to work with Oasis.

LazyVim

To override the tokyonight default and start fresh in the oasis:

  {
  "LazyVim/LazyVim",
  opts = {
    colorscheme = "oasis",
  },
},

Lualine

To include automatic Lualine theme integration:

require('lualine').setup {
  options = {
    theme = 'oasis'  -- Automatically matches your current Oasis style
  }
}

Tabby (Tab Bar)

To include tab bar theme integration:

require('tabby').setup({
  theme = 'oasis' -- Automatically matches your current Oasis style
})

🍭 Extras

Extra color configs for Kitty can be found in extras. If you'd like an extra config added, raise a feature request and I'll put it together.

To use the extras, refer to their respective documentation.

There are also companion plugins for other applications:

🎯 Vote for Your Favorite Style

Want to help shape Oasis.nvim? πŸ‘‰ Join the Discussion and Vote Here

[!IMPORTANT] Click the screenshot of your favorite style in the discussion and hit πŸ‘ on the comment.

You can vote for more than one and leave feedback about contrast, accents, or plugin integration.

πŸ‘€ View All Theme Styles

Night - Purple Night Sky

Deep desert night sky with purple-indigo undertones, a deeper purple than twilight for those who prefer soft darkness

night-dashboard night-code

Midnight - Off Black

Deep slate and navy tones of the desert at midnight, a tinted-black lighter than abyss

midnight-dashboard midnight-code

Abyss - Black

Deep, dark style with mysterious depths

abyss-dashboard abyss-code

Starlight - Black Vivid

Desert abyss illuminated by brilliant starlight with vivid accent colors

starlight-dashboard starlight-code

Desert - Grey

Inspired by the classic vim desert theme, neutral sand and earth tones

desert-dashboard desert-code

Sol - Red

Hot, scorching desert sun with intense red tones

sol-dashboard sol-code

Canyon - Orange

Rich oranges of desert canyon walls

canyon-dashboard canyon-code

Dune - Yellow

Sandy beiges and warm yellow earth tones

dune-dashboard dune-code

Cactus - Green

Fresh greens of desert vegetation

cactus-dashboard cactus-code

Mirage - Teal

Cool teals of shimmering desert mirages

mirage-dashboard mirage-code

Lagoon - Blue

The original Oasis theme and default style, featuring cool blues of the oasis lagoon

lagoon-dashboard lagoon-code

Twilight - Purple

Evening desert with purple and indigo hues

twilight-dashboard twilight-code

Rose - Pink

Soft pinks of the warm desert rose

rose-dashboard rose-code

Dawn - Light

Ah, the morning sun. Don't forget your sunglasses!

dawn-dashboard dawn-code