mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
175 lines
4.3 KiB
Nix
175 lines
4.3 KiB
Nix
{
|
|
lib,
|
|
helpers,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}:
|
|
with lib;
|
|
helpers.neovim-plugin.mkNeovimPlugin config {
|
|
name = "tokyonight";
|
|
isColorscheme = true;
|
|
originalName = "tokyonight.nvim";
|
|
defaultPackage = pkgs.vimPlugins.tokyonight-nvim;
|
|
|
|
maintainers = [ maintainers.GaetanLepage ];
|
|
|
|
# TODO introduced 2024-04-15: remove 2024-06-15
|
|
optionsRenamedToSettings = [
|
|
"style"
|
|
"transparent"
|
|
"terminalColors"
|
|
[
|
|
"styles"
|
|
"comments"
|
|
]
|
|
[
|
|
"styles"
|
|
"keywords"
|
|
]
|
|
[
|
|
"styles"
|
|
"functions"
|
|
]
|
|
[
|
|
"styles"
|
|
"variables"
|
|
]
|
|
[
|
|
"styles"
|
|
"sidebars"
|
|
]
|
|
[
|
|
"styles"
|
|
"floats"
|
|
]
|
|
"sidebars"
|
|
"dayBrightness"
|
|
"hideInactiveStatusline"
|
|
"dimInactive"
|
|
"lualineBold"
|
|
"onColors"
|
|
"onHighlights"
|
|
];
|
|
|
|
settingsOptions = {
|
|
style =
|
|
helpers.defaultNullOpts.mkEnumFirstDefault
|
|
[
|
|
"storm"
|
|
"night"
|
|
"day"
|
|
]
|
|
''
|
|
The theme comes in three styles, `storm`, a darker variant `night` and `day`.
|
|
'';
|
|
|
|
light_style = helpers.defaultNullOpts.mkStr "day" ''
|
|
The theme to use when the background is set to `light`.
|
|
'';
|
|
|
|
transparent = helpers.defaultNullOpts.mkBool false ''
|
|
Disable setting the background color.
|
|
'';
|
|
|
|
terminal_colors = helpers.defaultNullOpts.mkBool true ''
|
|
Configure the colors used when opening a :terminal in Neovim
|
|
'';
|
|
|
|
styles =
|
|
let
|
|
mkBackgroundStyle =
|
|
name:
|
|
helpers.defaultNullOpts.mkEnumFirstDefault [
|
|
"dark"
|
|
"transparent"
|
|
"normal"
|
|
] "Background style for ${name}";
|
|
in
|
|
{
|
|
comments = helpers.defaultNullOpts.mkHighlight "{italic = true;}" "" ''
|
|
Define comments highlight properties.
|
|
'';
|
|
|
|
keywords = helpers.defaultNullOpts.mkHighlight "{italic = true;}" "" ''
|
|
Define keywords highlight properties.
|
|
'';
|
|
|
|
functions = helpers.defaultNullOpts.mkHighlight "{}" "" ''
|
|
Define functions highlight properties.
|
|
'';
|
|
|
|
variables = helpers.defaultNullOpts.mkHighlight "{}" "" ''
|
|
Define variables highlight properties.
|
|
'';
|
|
|
|
sidebars = mkBackgroundStyle "sidebars";
|
|
|
|
floats = mkBackgroundStyle "floats";
|
|
};
|
|
|
|
sidebars = helpers.defaultNullOpts.mkListOf types.str ''["qf" "help"]'' ''
|
|
Set a darker background on sidebar-like windows.
|
|
'';
|
|
|
|
day_brightness = helpers.defaultNullOpts.mkNullable (types.numbers.between 0.0 1.0) "0.3" ''
|
|
Adjusts the brightness of the colors of the **Day** style.
|
|
Number between 0 and 1, from dull to vibrant colors.
|
|
'';
|
|
|
|
hide_inactive_statusline = helpers.defaultNullOpts.mkBool false ''
|
|
Enabling this option will hide inactive statuslines and replace them with a thin border instead.
|
|
Should work with the standard **StatusLine** and **LuaLine**.
|
|
'';
|
|
|
|
dim_inactive = helpers.defaultNullOpts.mkBool false ''
|
|
Dims inactive windows.
|
|
'';
|
|
|
|
lualine_bold = helpers.defaultNullOpts.mkBool false ''
|
|
When true, section headers in the lualine theme will be bold.
|
|
'';
|
|
|
|
on_colors = helpers.defaultNullOpts.mkLuaFn "function(colors) end" ''
|
|
Override specific color groups to use other groups or a hex color.
|
|
Function will be called with a `ColorScheme` table.
|
|
`@param colors ColorScheme`
|
|
'';
|
|
|
|
on_highlights = helpers.defaultNullOpts.mkLuaFn "function(highlights, colors) end" ''
|
|
Override specific highlights to use other groups or a hex color.
|
|
Function will be called with a `Highlights` and `ColorScheme` table.
|
|
`@param highlights Highlights`
|
|
`@param colors ColorScheme`
|
|
'';
|
|
};
|
|
|
|
settingsExample = {
|
|
style = "storm";
|
|
light_style = "day";
|
|
transparent = false;
|
|
terminal_colors = true;
|
|
styles = {
|
|
comments.italic = true;
|
|
keywords.italic = true;
|
|
functions = { };
|
|
variables = { };
|
|
sidebars = "dark";
|
|
floats = "dark";
|
|
};
|
|
sidebars = [
|
|
"qf"
|
|
"vista_kind"
|
|
"terminal"
|
|
"packer"
|
|
];
|
|
day_brightness = 0.3;
|
|
hide_inactive_statusline = false;
|
|
dim_inactive = false;
|
|
lualine_bold = false;
|
|
on_colors = "function(colors) end";
|
|
on_highlights = "function(highlights, colors) end";
|
|
};
|
|
|
|
extraConfig = cfg: { opts.termguicolors = mkDefault true; };
|
|
}
|