Skip to content

idr4n/andromeda.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌌 Andromeda.nvim

A dark, vibrant Neovim colorscheme inspired by the Andromeda Theme for VS Code.

Andromeda Screenshot

✨ Features

  • 🎨 Beautiful color palette - Carefully crafted colors with cyan and magenta accents
  • ⚑ Fast - Zero dependencies, direct highlight setting with vim.api.nvim_set_hl()
  • πŸ”Œ Extensive plugin support - 30+ popular Neovim plugins supported out of the box
  • 🌳 Full Treesitter support - Comprehensive syntax highlighting with Treesitter
  • πŸ’» Terminal integration - Works in Neovim terminal and external terminals (Alacritty, Kitty, Ghostty)
  • βš™οΈ Highly customizable - Customize colors, styles, and plugin integrations
  • πŸ“¦ Well organized - Clean, modular architecture for easy maintenance

πŸ“¦ Installation

{
  "idr4n/andromeda.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    vim.cmd("colorscheme andromeda")
  end,
}
use {
  "idr4n/andromeda.nvim",
  config = function()
    vim.cmd("colorscheme andromeda")
  end
}
Plug 'idr4n/andromeda.nvim'

Then in your init.vim or init.lua:

colorscheme andromeda

πŸš€ Usage

Basic Setup

-- Simply activate the colorscheme
vim.cmd("colorscheme andromeda")

Advanced Configuration

require("andromeda").setup({
  transparent = false,        -- Disable background color
  terminal_colors = true,     -- Configure terminal colors
  
  styles = {
    comments = { italic = true },
    keywords = { italic = true },
    functions = {},
    variables = {},
    floats = "normal",          -- "dark" | "transparent" | "normal"
    sidebars = "normal",        -- "dark" | "transparent" | "normal"
  },
  
  plugins = {
    all = true,               -- Enable all plugin integrations
    -- Selectively disable plugins:
    -- telescope = false,
    -- neo_tree = false,
  },
  
  -- Override specific colors
  on_colors = function(colors)
    colors.cyan = "#00d5c6"   -- Adjust cyan
  end,
  
  -- Override specific highlights
  on_highlights = function(highlights, colors)
    highlights.Comment = { fg = colors.fg_gutter, italic = true }
  end,
})

vim.cmd("colorscheme andromeda")

🎨 Color Palette

Color Hex Usage
Background #23262e Main background
Foreground #d5ced9 Normal text
Cyan #00e8c6 Primary accent, identifiers
Pink #ff00aa Secondary accent, properties
Purple #c74ded Keywords, types
Orange #f39c12 Numbers
Yellow #ffe66d Functions
Magenta #f92672 Tags, special
Blue #7cb7ff Strings (regex)
Red #ee5d43 Errors, booleans
Green #96e072 Strings

πŸ”Œ Supported Plugins

Click to expand (30+ plugins)

Completion & LSP

File Explorers

Fuzzy Finders

Git

UI Enhancements

Navigation & Editing

Indentation & Formatting

Syntax & Treesitter

Package Management

Markdown

πŸ’» Lualine Integration

require("lualine").setup({
  options = {
    theme = "andromeda",
  },
})

πŸ–₯️ Terminal Themes

Terminal theme files are provided in the extras folder, and have been generated via:

# Run from plugin root directory
./scripts/build_extras

βš™οΈ Configuration Options

Styles

Customize syntax highlighting styles:

require("andromeda").setup({
  styles = {
    comments = { italic = true },
    keywords = { italic = true },
    functions = { bold = true },
    variables = {},
  },
})

Transparency

require("andromeda").setup({
  transparent = true,  -- Transparent background
  styles = {
    sidebars = "transparent",  -- Transparent sidebars
    floats = "transparent",    -- Transparent floating windows
  },
})

Plugin Control

require("andromeda").setup({
  plugins = {
    all = false,            -- Disable all plugins
    telescope = true,       -- Enable specific plugins
    ["neo-tree"] = true,
  },
})

Custom Colors

require("andromeda").setup({
  on_colors = function(colors)
    colors.cyan = "#00ffff"       -- Brighter cyan
    colors.bg = "#1a1d23"         -- Darker background
    colors.error = "#ff0000"      -- Custom error color
  end,
})

Custom Highlights

require("andromeda").setup({
  on_highlights = function(hl, colors)
    hl["@function"] = { fg = colors.blue, bold = true }
    hl.Comment = { fg = colors.fg_gutter, italic = true }
    hl.CursorLine = { bg = colors.bg_highlight }
  end,
})

🎯 Design Philosophy

Andromeda.nvim is designed with these principles:

  • Performance: No runtime dependencies, fast loading
  • Consistency: Cohesive color usage across all plugins
  • Maintainability: Clean, modular code structure
  • Flexibility: Extensive customization options
  • Completeness: Comprehensive plugin and syntax support
  • No dependencies - No colorbuddy.nvim or similar dependencies
  • Terminal themes - provides configs for external terminals
  • customization - Hooks for colors and highlights
  • Modern structure - Based on tokyonight.nvim architecture

🀝 Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Similar Projects

πŸ™„ Other Themes by Me

Take a look at my other theme: idr4n/github-monochrome.nvim: A set of monochromatic light and dark color schemes for Neovim.

πŸ“„ License

MIT

πŸ™ Credits

About

A dark, vibrant Neovim colorscheme inspired by the Andromeda Theme for VS Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published