Skip to content

xeno is a minimalist Neovim colorscheme generator that builds full palettes from just two colors. It provides light/dark variants, semantic mappings, and plugin support for clean, cohesive themes without the complexity.

Notifications You must be signed in to change notification settings

kyza0d/xeno.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xeno banner

Colorscheme generator that creates minimalist themes using two colors.


Previews

Preview Lilypad

xeno.new_theme('xeno-lilypad', {
  base = '#1E1E1E',
  accent = '#8CBE8C',
  contrast = 0.1,
})

Preview Pink Haze

xeno.new_theme('xeno-pink-haze', {
  base = '#0f0c0e',
  accent = '#D19EBC',
  contrast = 0.1,
})

Preview Golden Hour

xeno.new_theme('xeno-golden-hour', {
  base = '#11100f',
  accent = '#FFCC33',
  contrast = 0.1,
})

Installation

lazy.nvim (recommended)
{
  'kyza0d/xeno.nvim',
  lazy = false,
  priority = 1000, -- Load colorscheme early
  config = function()
    -- Create your custom theme here
    require('xeno').new_theme('my-theme', {
      base = '#1E1E1E',
      accent = '#8CBE8C',
    })
    vim.cmd('colorscheme my-theme')
  end,
}
packer.nvim
use {
  'kyza0d/xeno.nvim',
  config = function()
    -- Create your custom theme
    require('xeno').new_theme('my-theme', {
      base = '#1E1E1E',
      accent = '#8CBE8C',
    })
    vim.cmd('colorscheme my-theme')
  end
}
vim-plug
Plug 'kyza0d/xeno.nvim'

Then add to your init.vim or init.lua:

-- Create your custom theme
require('xeno').new_theme('my-theme', {
  base = '#1E1E1E',
  accent = '#8CBE8C',
})
vim.cmd('colorscheme my-theme')
paq-nvim
require "paq" {
  'kyza0d/xeno.nvim';
}

Then add to your config:

-- Create your custom theme
require('xeno').new_theme('my-theme', {
  base = '#1E1E1E',
  accent = '#8CBE8C',
})
vim.cmd('colorscheme my-theme')

Usage

Note: xeno.nvim does not provide any default colorschemes. You must create your own themes using the configuration options below.

Basic Configuration

-- Create a new theme
require('xeno').new_theme('my-new-theme', {
  base = '#1a1a1a',
  accent = '#7aa2f7',
})

vim.cmd('colorscheme my-new-theme')

Global Configuration Options

Global configuration options affect all themes and are set using xeno.config():

-- Set global configuration options
require('xeno').config({
  -- Appearance adjustments
  contrast = 0,            -- Adjust contrast (-1 to 1, 0 is default)
  variation = 0,           -- Adjust color variation strength (-1 to 1, 0 is default)
  transparent = false,     -- Enable transparent background
})

Plugin Manager Configuration

Using lazy.nvim with global options:

{
  'kyza0d/xeno.nvim',
  lazy = false,
  priority = 1000,
  opts = {
    transparent = true,
    contrast = 0.1,
  },
  config = function(_, opts)
    local xeno = require('xeno')
    
    xeno.config(opts)
    
    -- Create your custom theme
    xeno.new_theme('my-theme', {
      base = '#1E1E1E',
      accent = '#8CBE8C',
    })
    vim.cmd('colorscheme my-theme')
  end,
}

FAQ

What font is used in the preview images?

The previews use Lotion - it's a cozy monospace font that works great for coding (it's my favorite)

Why doesn't xeno come with built-in themes?

The whole point is to create your own! xeno is designed to be a theme generator, not a collection of pre-made themes. This way you get exactly the colors you want instead of settling for someone else's choices.

Can I use more than two colors?

Not directly - xeno is built around the concept of minimalism with just a base and accent color. However, the generator creates various shades and tones from these two colors to provide sufficient contrast and variety throughout your editor.

No colors on tmux?

Try add this line of code to your config:

vim.cmd("set termguicolors")

Customization

MIT

About

xeno is a minimalist Neovim colorscheme generator that builds full palettes from just two colors. It provides light/dark variants, semantic mappings, and plugin support for clean, cohesive themes without the complexity.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages