SkillAgentSearch skills...

Abyss.nvim

🎨 Abyss.nvim is a (Neo)Vim colorscheme inspired by Abyss theme in Visual Studio Code.

Install / Use

/learn @barrientosvctor/Abyss.nvim

README

abyss.nvim

Unofficial port for (Neo)Vim inspired by the Abyss theme from Visual Studio Code.

This is the latest version of the old abyss.vim, now supporting Vim.

https://github.com/barrientosvctor/abyss.nvim/assets/113469901/7d20f6f0-c438-4ac1-9838-7c1d49f412b9

🎨 Themes

Abyss

Original Abyss theme inspired by VS Code

<img align="center" src="https://github.com/barrientosvctor/abyss.nvim/blob/main/previews/abyss_python.png" width="85%"> <img align="center" src="https://github.com/barrientosvctor/abyss.nvim/blob/main/previews/abyss_go.png" width="85%">

Abyss Boreal

A cool toned theme inspired by the Northern Lights and Minnesota North Woods

<img align="center" src="https://github.com/barrientosvctor/abyss.nvim/blob/main/previews/abyssboreal_python.png" width="85%"> <img align="center" src="https://github.com/barrientosvctor/abyss.nvim/blob/main/previews/abyssboreal_go.png" width="85%">

⚡️ Requeriments

📦 Installation

You can use any package manager you like.

I highly recommend updating abyss.nvim when a release/tag comes out, since it is possible that there are development commits before that that can cause unexpected errors when using the colorscheme. To do this, make sure to specify a tag in your preferred package manager (if it supports it) before downloading the colorscheme.

<table> <tr> <td> <b>Package manager</b> </td> <td> <b>Installation</b> </td> </tr> <!-- Packer.nvim --> </tr> <tr> <td> <a href="https://github.com/wbthomason/packer.nvim">packer.nvim</a> </td> <td>
use {
    'barrientosvctor/abyss.nvim',
    run = function()
        local status, abyss = pcall(require, 'abyss')
        if not status then return end

        abyss.setup()
    end
}
</td> </tr> <!-- Lazy.nvim --> </tr> <tr> <td> <a href="https://github.com/folke/lazy.nvim">lazy.nvim</a> </td> <td>
{
    'barrientosvctor/abyss.nvim',
    lazy = false,
    priority = 1000,
    opts = {}
}
</td> </tr> <!-- Vim-plug --> </tr> <tr> <td> <a href="https://github.com/junegunn/vim-plug">Vim-plug</a> </td> <td>
Plug 'barrientosvctor/abyss.nvim'
</td> </tr> <!-- Vundle.vim --> </tr> <tr> <td> <a href="https://github.com/VundleVim/Vundle.vim">Vundle.vim</a> </td> <td>
Plugin 'barrientosvctor/abyss.nvim'
</td> </tr> <!-- Vim pack --> </tr> <tr> <td> Vim's built-in package manager </td> <td>
mkdir -p ~/.vim/pack/colors/start
cd ~/.vim/pack/colors/start
git clone https://github.com/barrientosvctor/abyss.nvim.git
</td> </tr> </table>

💻 Setup

Abyss.nvim has options to customize your colorscheme instance according to your preferences.

These are the available options for the colorscheme:

require('abyss').setup({
    italic_comments = true, -- Toggle italic comments
    italic = false, -- Toggle italic for function names, keywords, strings and booleans
    bold = false, -- Toggle bold for function names, keywords and booleans
    transparent_background = false, -- Toggle transparency on neovim background
    treesitter = true -- Enable treesitter highlighting. No need to configuration. Default value: (Neovim = true), (Vim = false)
    palette = "abyss" -- Changes the Abyss palette. Available palettes's name on lua/abyss/palettes
    overrides = {} -- Override the default colorscheme highlight to a any else. Default value: nil
})

Vim Script with Lua

lua << EOF
require("abyss").setup {
    " your setup options
}
EOF

Overwriting highlights

You can be able to use all of nvim_set_hl() function properties to override the colorscheme colors.

local c = require('abyss.palettes.abyss')

require('abyss').setup({
    overrides = {
        String = { fg = c.heavyyellow, bold = true },
        -- or:
        ['String'] = { fg = "#ffeebb", bold = true },
        -- ...rest of highlight overrides
    }
})

🔌 Plugins supported

🚀 Usage

Vim Script

colorscheme abyss

Lua

vim.cmd.colorscheme 'abyss'

Lualine

Abyss.nvim also includes a lualine.nvim theme, you can use it setting up into lualine setup options:

require('lualine').setup {
    options = {
        theme = 'abyss' -- Available themes: "abyss", "abyss-boreal"
    }
}

Vim Airline

Abyss

Vim Script

let g:airline_theme = "abyss"

Lua

vim.g.airline_theme = "abyss"

Abyss Boreal

Vim Script

let g:airline_theme = "abyss_boreal"

Lua

vim.g.airline_theme = "abyss_boreal"

Vim Lightline

Abyss

Vim Script

let g:lightline = {'colorscheme': 'abyss'}

Lua

vim.g.lightline = {colorscheme: 'abyss'}

Abyss Boreal

Vim Script

let g:lightline = {'colorscheme': 'abyss_boreal'}

Lua

vim.g.lightline = {colorscheme: 'abyss_boreal'}

📝 Notes

  • If you have Bufferline.nvim installed in your dotfiles, bufferline should be loaded after setting up abyss.nvim or it will highlight incorrectly. I'll provide you examples about this using Packer.nvim and Lazy.nvim
<details> <summary>Click to see Lazy.nvim example</summary>
  • Abyss.nvim config
{
    'barrientosvctor/abyss.nvim',
    lazy = false,
    priority = 1000,
    opts = {}
}
  • Bufferline config
{
    'akinsho/bufferline.nvim',
    lazy = true,
    event = "UIEnter",
    -- ...rest of your config
}
</details> <details> <summary>Click to see Packer.nvim example</summary>
  • Bufferline config
use {
    'akinsho/bufferline.nvim',
    after = 'abyss.nvim',
    -- ...rest of your config
}
</details>

🤗 Acknowledgements

View on GitHub
GitHub Stars24
CategoryDevelopment
Updated3d ago
Forks3

Languages

Lua

Security Score

95/100

Audited on Apr 7, 2026

No findings