A Pip-Boy inspired Neovim colorscheme
{
"3dyuval/retro-fallout.nvim",
lazy = false,
priority = 1000,
config = function()
require("retro-fallout").setup({})
vim.cmd.colorscheme("retro-fallout")
end,
}require("retro-fallout").setup({
transparent = false,
dim_inactive = false,
dim_snacks_bg = false,
terminal_colors = true,
styles = {
comments = { italic = true },
keywords = { bold = false },
functions = { bold = true },
variables = {},
},
integrations = {
treesitter = true,
lsp = true,
telescope = true,
nvim_tree = true,
gitsigns = true,
snacks = true,
mini = true,
which_key = true,
indent_blankline = true,
},
colors = {},
highlights = {},
})Set to true to disable background colors.
Set to true to dim inactive windows.
Snacks uses winhighlight which bypasses dim_inactive. Set to true to statically apply a dimmed background to all Snacks windows (picker, explorer, input, notifier, scratch, etc.). Default: false.
Set to false to disable terminal color configuration.
Configure font styles for syntax groups:
styles = {
comments = { italic = true },
keywords = { bold = true, italic = true },
functions = { bold = true },
variables = { italic = false },
}Override semantic colors (see lua/retro-fallout/options.lua):
colors = {
bg = { normal = "#000000" },
highlight = { green = "#00FF00" },
dimmed = { purple = "#6a4a8a" },
neutral = { fg = "#AADDAA" },
}With colortweak.nvim, use HSL transforms:
{
"3dyuval/retro-fallout.nvim",
dependencies = { "3dyuval/colortweak.nvim" },
config = function()
require("retro-fallout").setup({
colors = {
dimmed = {
amber = { h = -60 }, -- shift hue (more purple)
yellow = { s = 0.8 }, -- reduce saturation
},
},
ft = {
yaml = { h = -60 }, -- make yaml more purple
markdown = { h = 100 }, -- shift markdown hue
},
})
vim.cmd.colorscheme("retro-fallout")
end,
}Or use the callback pattern for direct access to defaults:
require("retro-fallout").setup(function(defaults)
local tweak = require("colortweak.color")
return {
colors = {
dimmed = {
amber = tweak.transform(defaults.dimmed.amber, { h = -60 }),
},
},
ft = {
yaml = { h = -90 },
},
}
end)Transform options: h (hue shift), s (saturation multiplier), l (lightness multiplier).
colors- transforms base palette at setupft- transforms filetype highlights at runtime (passed to colortweak)
Override specific highlight groups:
highlights = {
Comment = { fg = "#555555", italic = false },
Function = { fg = "#00FFAA" },
}Supported plugins:
- Treesitter
- LSP Diagnostics
- Telescope
- Nvim-Tree / NERDTree
- Gitsigns / GitGutter
- Snacks.nvim
- mini.nvim
- which-key
- indent-blankline
- lsp-saga
- trouble.nvim
- nvim-notify
- BufferLine / barbar
- Neogit
- leap.nvim / lightspeed
- aerial.nvim
- headlines.nvim
