treewide: Reformat with nixfmt

This commit is contained in:
traxys 2024-05-05 19:39:35 +02:00
parent c6281260dc
commit 62f32bfc71
459 changed files with 28139 additions and 26377 deletions

View file

@ -6,48 +6,44 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "ayu";
isColorscheme = true;
originalName = "neovim-ayu";
defaultPackage = pkgs.vimPlugins.neovim-ayu;
# The colorscheme option is set by the `setup` function.
colorscheme = null;
callSetup = false;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "ayu";
isColorscheme = true;
originalName = "neovim-ayu";
defaultPackage = pkgs.vimPlugins.neovim-ayu;
# The colorscheme option is set by the `setup` function.
colorscheme = null;
callSetup = false;
maintainers = [maintainers.GaetanLepage];
maintainers = [ maintainers.GaetanLepage ];
deprecateExtraOptions = true;
optionsRenamedToSettings = [
"mirage"
"overrides"
];
deprecateExtraOptions = true;
optionsRenamedToSettings = [
"mirage"
"overrides"
];
settingsOptions = {
mirage = helpers.defaultNullOpts.mkBool false ''
Set to `true` to use `mirage` variant instead of `dark` for dark background.
'';
settingsOptions = {
mirage = helpers.defaultNullOpts.mkBool false ''
Set to `true` to use `mirage` variant instead of `dark` for dark background.
'';
overrides =
helpers.defaultNullOpts.mkStrLuaOr
(with helpers.nixvimTypes; attrsOf highlight)
"{}"
''
A dictionary of group names, each associated with a dictionary of parameters
(`bg`, `fg`, `sp` and `style`) and colors in hex.
overrides = helpers.defaultNullOpts.mkStrLuaOr (with helpers.nixvimTypes; attrsOf highlight) "{}" ''
A dictionary of group names, each associated with a dictionary of parameters
(`bg`, `fg`, `sp` and `style`) and colors in hex.
Alternatively, `overrides` can be a function that returns a dictionary of the same
format.
You can use the function to override based on a dynamic condition, such as the value of
`background`.
'';
};
Alternatively, `overrides` can be a function that returns a dictionary of the same
format.
You can use the function to override based on a dynamic condition, such as the value of
`background`.
'';
};
extraConfig = cfg: {
extraConfigLuaPre = ''
local ayu = require("ayu")
ayu.setup(${helpers.toLuaObject cfg.settings})
ayu.colorscheme()
'';
};
}
extraConfig = cfg: {
extraConfigLuaPre = ''
local ayu = require("ayu")
ayu.setup(${helpers.toLuaObject cfg.settings})
ayu.colorscheme()
'';
};
}

View file

@ -8,111 +8,123 @@
with lib;
# We configure this plugin manually (no `settings` option) so there is no point in using
# `mkNeovimPlugin` here.
helpers.vim-plugin.mkVimPlugin config {
name = "base16";
isColorscheme = true;
originalName = "base16.nvim";
defaultPackage = pkgs.vimPlugins.base16-nvim;
helpers.vim-plugin.mkVimPlugin config {
name = "base16";
isColorscheme = true;
originalName = "base16.nvim";
defaultPackage = pkgs.vimPlugins.base16-nvim;
maintainers = [maintainers.GaetanLepage];
maintainers = [ maintainers.GaetanLepage ];
# We manually set the colorscheme if needed.
colorscheme = null;
# We manually set the colorscheme if needed.
colorscheme = null;
# TODO introduced 2024-03-12: remove 2024-05-12
imports = let
basePluginPath = ["colorschemes" "base16"];
in [
(
mkRenamedOptionModule
(basePluginPath ++ ["customColorScheme"])
(basePluginPath ++ ["colorscheme"])
)
(
mkRenamedOptionModule
(basePluginPath ++ ["useTruecolor"])
["options" "termguicolors"]
)
# TODO introduced 2024-03-12: remove 2024-05-12
imports =
let
basePluginPath = [
"colorschemes"
"base16"
];
in
[
(mkRenamedOptionModule (basePluginPath ++ [ "customColorScheme" ]) (
basePluginPath ++ [ "colorscheme" ]
))
(mkRenamedOptionModule (basePluginPath ++ [ "useTruecolor" ]) [
"options"
"termguicolors"
])
];
extraOptions = {
colorscheme = let
extraOptions = {
colorscheme =
let
customColorschemeType = types.submodule {
options =
listToAttrs
(
map
(
colorId: rec {
name = "base0" + colorId;
value = mkOption {
type = types.str;
description = "The value for color `${name}`.";
example = "#16161D";
};
}
)
["0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" "F"]
);
options = listToAttrs (
map
(colorId: rec {
name = "base0" + colorId;
value = mkOption {
type = types.str;
description = "The value for color `${name}`.";
example = "#16161D";
};
})
[
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"A"
"B"
"C"
"D"
"E"
"F"
]
);
};
in
mkOption {
type = with types;
either
(enum (import ./theme-list.nix))
customColorschemeType;
description = ''
The base16 colorscheme to use.
It can either be the name of a builtin colorscheme or an attrs specifying each color explicitly.
mkOption {
type = with types; either (enum (import ./theme-list.nix)) customColorschemeType;
description = ''
The base16 colorscheme to use.
It can either be the name of a builtin colorscheme or an attrs specifying each color explicitly.
Example for the latter:
```nix
{
base00 = "#16161D";
base01 = "#2c313c";
base02 = "#3e4451";
base03 = "#6c7891";
base04 = "#565c64";
base05 = "#abb2bf";
base06 = "#9a9bb3";
base07 = "#c5c8e6";
base08 = "#e06c75";
base09 = "#d19a66";
base0A = "#e5c07b";
base0B = "#98c379";
base0C = "#56b6c2";
base0D = "#0184bc";
base0E = "#c678dd";
base0F = "#a06949";
}
```
'';
example = "edge-light";
};
setUpBar = mkOption {
type = types.bool;
default = true;
description = "Whether to set your status bar theme to 'base16'.";
Example for the latter:
```nix
{
base00 = "#16161D";
base01 = "#2c313c";
base02 = "#3e4451";
base03 = "#6c7891";
base04 = "#565c64";
base05 = "#abb2bf";
base06 = "#9a9bb3";
base07 = "#c5c8e6";
base08 = "#e06c75";
base09 = "#d19a66";
base0A = "#e5c07b";
base0B = "#98c379";
base0C = "#56b6c2";
base0D = "#0184bc";
base0E = "#c678dd";
base0F = "#a06949";
}
```
'';
example = "edge-light";
};
setUpBar = mkOption {
type = types.bool;
default = true;
description = "Whether to set your status bar theme to 'base16'.";
};
};
extraConfig = cfg:
mkMerge [
{
plugins.airline.settings.theme = mkIf cfg.setUpBar "base16";
plugins.lualine.theme = mkIf cfg.setUpBar "base16";
plugins.lightline.colorscheme = null;
extraConfig =
cfg:
mkMerge [
{
plugins.airline.settings.theme = mkIf cfg.setUpBar "base16";
plugins.lualine.theme = mkIf cfg.setUpBar "base16";
plugins.lightline.colorscheme = null;
opts.termguicolors = mkDefault true;
}
(mkIf (isString cfg.colorscheme) {
colorscheme = "base16-${cfg.colorscheme}";
})
(mkIf (isAttrs cfg.colorscheme) {
extraConfigLuaPre = ''
require('base16-colorscheme').setup(${helpers.toLuaObject cfg.colorscheme})
'';
})
];
}
opts.termguicolors = mkDefault true;
}
(mkIf (isString cfg.colorscheme) { colorscheme = "base16-${cfg.colorscheme}"; })
(mkIf (isAttrs cfg.colorscheme) {
extraConfigLuaPre = ''
require('base16-colorscheme').setup(${helpers.toLuaObject cfg.colorscheme})
'';
})
];
}

View file

@ -6,44 +6,105 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "catppuccin";
isColorscheme = true;
defaultPackage = pkgs.vimPlugins.catppuccin-nvim;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "catppuccin";
isColorscheme = true;
defaultPackage = pkgs.vimPlugins.catppuccin-nvim;
maintainers = [maintainers.GaetanLepage];
maintainers = [ maintainers.GaetanLepage ];
# TODO introduced 2024-03-27: remove 2024-05-27
optionsRenamedToSettings = [
"flavour"
["background" "light"]
["background" "dark"]
"transparentBackground"
["dimInactive" "enabled"]
["dimInactive" "shade"]
["dimInactive" "percentage"]
["styles" "comments"]
["styles" "conditionals"]
["styles" "loops"]
["styles" "functions"]
["styles" "keywords"]
["styles" "strings"]
["styles" "variables"]
["styles" "numbers"]
["styles" "booleans"]
["styles" "properties"]
["styles" "types"]
["styles" "operators"]
"colorOverrides"
"customHighlights"
"integrations"
];
imports =
mapAttrsToList (
# TODO introduced 2024-03-27: remove 2024-05-27
optionsRenamedToSettings = [
"flavour"
[
"background"
"light"
]
[
"background"
"dark"
]
"transparentBackground"
[
"dimInactive"
"enabled"
]
[
"dimInactive"
"shade"
]
[
"dimInactive"
"percentage"
]
[
"styles"
"comments"
]
[
"styles"
"conditionals"
]
[
"styles"
"loops"
]
[
"styles"
"functions"
]
[
"styles"
"keywords"
]
[
"styles"
"strings"
]
[
"styles"
"variables"
]
[
"styles"
"numbers"
]
[
"styles"
"booleans"
]
[
"styles"
"properties"
]
[
"styles"
"types"
]
[
"styles"
"operators"
]
"colorOverrides"
"customHighlights"
"integrations"
];
imports =
mapAttrsToList
(
old: new:
mkRenamedOptionModule
["colorschemes" "catppuccin" old]
["colorschemes" "catppuccin" "settings" new]
mkRenamedOptionModule
[
"colorschemes"
"catppuccin"
old
]
[
"colorschemes"
"catppuccin"
"settings"
new
]
)
{
showBufferEnd = "show_end_of_buffer";
@ -53,33 +114,35 @@ with lib;
disableUnderline = "no_underline";
};
settingsOptions = let
settingsOptions =
let
flavours = [
"latte"
"mocha"
"frappe"
"macchiato"
];
in {
compile_path =
helpers.defaultNullOpts.mkStr
''{__raw = "vim.fn.stdpath 'cache' .. '/catppuccin'";}''
"Set the compile cache directory.";
in
{
compile_path = helpers.defaultNullOpts.mkStr ''{__raw = "vim.fn.stdpath 'cache' .. '/catppuccin'";}'' "Set the compile cache directory.";
flavour = helpers.mkNullOrOption (types.enum (flavours ++ ["auto"])) ''
flavour = helpers.mkNullOrOption (types.enum (flavours ++ [ "auto" ])) ''
Theme flavour.
'';
background = let
mkBackgroundStyle = name:
helpers.defaultNullOpts.mkEnumFirstDefault flavours ''
Background for `${name}` background.
'';
in {
light = mkBackgroundStyle "light";
background =
let
mkBackgroundStyle =
name:
helpers.defaultNullOpts.mkEnumFirstDefault flavours ''
Background for `${name}` background.
'';
in
{
light = mkBackgroundStyle "light";
dark = mkBackgroundStyle "dark";
};
dark = mkBackgroundStyle "dark";
};
transparent_background = helpers.defaultNullOpts.mkBool false ''
Enable Transparent background.
@ -169,19 +232,15 @@ with lib;
'';
};
color_overrides =
genAttrs
(flavours ++ ["all"])
(
flavour:
helpers.defaultNullOpts.mkAttrsOf types.str
"{}"
(
if flavour == "all"
then "Override colors for all the flavours."
else "Override colors for the ${flavour} flavour."
)
);
color_overrides = genAttrs (flavours ++ [ "all" ]) (
flavour:
helpers.defaultNullOpts.mkAttrsOf types.str "{}" (
if flavour == "all" then
"Override colors for all the flavours."
else
"Override colors for the ${flavour} flavour."
)
);
custom_highlights = helpers.mkNullOrStrLuaFnOr (with types; attrsOf anything) ''
Override specific highlight groups to use other groups or a hex color.
@ -230,29 +289,30 @@ with lib;
'';
};
settingsExample = {
flavour = "mocha";
disable_underline = true;
term_colors = true;
color_overrides.mocha.base = "#1e1e2f";
styles = {
booleans = ["bold" "italic"];
conditionals = ["bold"];
};
integrations = {
cmp = true;
gitsigns = true;
nvimtree = true;
treesitter = true;
notify = false;
mini = {
enabled = true;
indentscope_color = "";
};
settingsExample = {
flavour = "mocha";
disable_underline = true;
term_colors = true;
color_overrides.mocha.base = "#1e1e2f";
styles = {
booleans = [
"bold"
"italic"
];
conditionals = [ "bold" ];
};
integrations = {
cmp = true;
gitsigns = true;
nvimtree = true;
treesitter = true;
notify = false;
mini = {
enabled = true;
indentscope_color = "";
};
};
};
extraConfig = cfg: {
opts.termguicolors = mkDefault true;
};
}
extraConfig = cfg: { opts.termguicolors = mkDefault true; };
}

View file

@ -6,83 +6,83 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "cyberdream";
isColorscheme = true;
originalName = "cyberdream.nvim";
defaultPackage = pkgs.vimPlugins.cyberdream-nvim;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "cyberdream";
isColorscheme = true;
originalName = "cyberdream.nvim";
defaultPackage = pkgs.vimPlugins.cyberdream-nvim;
maintainers = [helpers.maintainers.AndresBermeoMarinelli];
maintainers = [ helpers.maintainers.AndresBermeoMarinelli ];
settingsOptions = {
transparent = helpers.defaultNullOpts.mkBool false ''
Enable transparent background.
'';
settingsOptions = {
transparent = helpers.defaultNullOpts.mkBool false ''
Enable transparent background.
'';
italic_comments = helpers.defaultNullOpts.mkBool false ''
Enable italics comments.
'';
italic_comments = helpers.defaultNullOpts.mkBool false ''
Enable italics comments.
'';
hide_fillchars = helpers.defaultNullOpts.mkBool false ''
Replace all fillchars with ' ' for the ultimate clean look.
'';
hide_fillchars = helpers.defaultNullOpts.mkBool false ''
Replace all fillchars with ' ' for the ultimate clean look.
'';
borderless_telescope = helpers.defaultNullOpts.mkBool true ''
Modern borderless telescope theme.
'';
borderless_telescope = helpers.defaultNullOpts.mkBool true ''
Modern borderless telescope theme.
'';
terminal_colors = helpers.defaultNullOpts.mkBool true ''
Set terminal colors used in `:terminal`.
'';
terminal_colors = helpers.defaultNullOpts.mkBool true ''
Set terminal colors used in `:terminal`.
'';
theme = {
highlights = helpers.defaultNullOpts.mkAttrsOf helpers.nixvimTypes.highlight "{}" ''
Highlight groups to override, adding new groups is also possible.
See `:h highlight-groups` for a list of highlight groups.
theme = {
highlights = helpers.defaultNullOpts.mkAttrsOf helpers.nixvimTypes.highlight "{}" ''
Highlight groups to override, adding new groups is also possible.
See `:h highlight-groups` for a list of highlight groups.
Example:
Example:
```nix
{
Comment = {
fg = "#696969";
bg = "NONE";
italic = true;
};
}
```
Complete list can be found in `lua/cyberdream/theme.lua` in upstream repository.
'';
colors = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
Override the default colors used.
For a full list of colors, see upstream documentation.
'';
};
};
settingsExample = {
transparent = true;
italic_comments = true;
hide_fillchars = true;
borderless_telescope = true;
terminal_colors = true;
theme = {
highlights = {
```nix
{
Comment = {
fg = "#696969";
bg = "NONE";
italic = true;
};
};
colors = {
bg = "#000000";
green = "#00ff00";
magenta = "#ff00ff";
}
```
Complete list can be found in `lua/cyberdream/theme.lua` in upstream repository.
'';
colors = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
Override the default colors used.
For a full list of colors, see upstream documentation.
'';
};
};
settingsExample = {
transparent = true;
italic_comments = true;
hide_fillchars = true;
borderless_telescope = true;
terminal_colors = true;
theme = {
highlights = {
Comment = {
fg = "#696969";
bg = "NONE";
italic = true;
};
};
colors = {
bg = "#000000";
green = "#00ff00";
magenta = "#ff00ff";
};
};
}
};
}

View file

@ -5,9 +5,11 @@
pkgs,
...
}:
with lib; let
with lib;
let
cfg = config.colorschemes.dracula;
in {
in
{
options = {
colorschemes.dracula = {
enable = mkEnableOption "dracula";
@ -63,7 +65,7 @@ in {
config = mkIf cfg.enable {
colorscheme = "dracula";
extraPlugins = [cfg.package];
extraPlugins = [ cfg.package ];
globals = {
dracula_bold = mkIf (!cfg.bold) 0;

View file

@ -11,41 +11,43 @@ helpers.neovim-plugin.mkNeovimPlugin config {
originalName = "gruvbox.nvim";
defaultPackage = pkgs.vimPlugins.gruvbox-nvim;
maintainers = [lib.maintainers.GaetanLepage];
maintainers = [ lib.maintainers.GaetanLepage ];
# Introduced January 31 2024
# TODO remove in early March 2024.
imports =
map
(
optionName:
lib.mkRemovedOptionModule
["colorschemes" "gruvbox" optionName]
"Please use `colorschemes.gruvbox.settings.${helpers.toSnakeCase optionName}` instead."
)
[
"italics"
"bold"
"underline"
"undercurl"
"contrastDark"
"contrastLight"
"highlightSearchCursor"
"numberColumn"
"signColumn"
"colorColumn"
"vertSplitColor"
"italicizeComments"
"italicizeStrings"
"invertSelection"
"invertSigns"
"invertIndentGuides"
"invertTabline"
"improvedStrings"
"improvedWarnings"
"transparentBg"
"trueColor"
];
(
optionName:
lib.mkRemovedOptionModule [
"colorschemes"
"gruvbox"
optionName
] "Please use `colorschemes.gruvbox.settings.${helpers.toSnakeCase optionName}` instead."
)
[
"italics"
"bold"
"underline"
"undercurl"
"contrastDark"
"contrastLight"
"highlightSearchCursor"
"numberColumn"
"signColumn"
"colorColumn"
"vertSplitColor"
"italicizeComments"
"italicizeStrings"
"invertSelection"
"invertSigns"
"invertIndentGuides"
"invertTabline"
"improvedStrings"
"improvedWarnings"
"transparentBg"
"trueColor"
];
settingsExample = {
terminal_colors = true;

View file

@ -6,110 +6,121 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "kanagawa";
isColorscheme = true;
originalName = "kanagawa.nvim";
defaultPackage = pkgs.vimPlugins.kanagawa-nvim;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "kanagawa";
isColorscheme = true;
originalName = "kanagawa.nvim";
defaultPackage = pkgs.vimPlugins.kanagawa-nvim;
description = ''
You can select the theme in two ways:
- Set `colorschemes.kanagawa.settings.theme` AND explicitly unset `vim.o.background` (i.e. `options.background = ""`).
- Set `colorschemes.kanagawa.settings.background` (the active theme will depend on the value of `vim.o.background`).
description = ''
You can select the theme in two ways:
- Set `colorschemes.kanagawa.settings.theme` AND explicitly unset `vim.o.background` (i.e. `options.background = ""`).
- Set `colorschemes.kanagawa.settings.background` (the active theme will depend on the value of `vim.o.background`).
'';
maintainers = [ maintainers.GaetanLepage ];
# TODO introduced 2024-03-15: remove 2024-05-15
deprecateExtraOptions = true;
imports =
let
basePluginPath = [
"colorschemes"
"kanagawa"
];
in
(map
(
optionPath:
mkRenamedOptionModule (basePluginPath ++ optionPath) (
basePluginPath ++ [ "settings" ] ++ optionPath
)
)
[
[ "compile" ]
[ "undercurl" ]
[ "commentStyle" ]
[ "functionStyle" ]
[ "keywordStyle" ]
[ "statementStyle" ]
[ "typeStyle" ]
[ "transparent" ]
[ "dimInactive" ]
[ "terminalColors" ]
[
"colors"
"palette"
]
[
"colors"
"theme"
]
[ "theme" ]
[
"background"
"dark"
]
[
"background"
"light"
]
]
)
++ [
(mkRemovedOptionModule (basePluginPath ++ [ "overrides" ]) ''
Use `colorschemes.kanagawa.settings.overrides` but you now have to add the full function definition:
```
function(colors)
...
end
```
'')
];
settingsOptions = {
compile = helpers.defaultNullOpts.mkBool false ''
Enable compiling the colorscheme.
'';
maintainers = [maintainers.GaetanLepage];
undercurl = helpers.defaultNullOpts.mkBool true ''
Enable undercurls.
'';
# TODO introduced 2024-03-15: remove 2024-05-15
deprecateExtraOptions = true;
imports = let
basePluginPath = ["colorschemes" "kanagawa"];
in
(
map
(
optionPath:
mkRenamedOptionModule
(basePluginPath ++ optionPath)
(basePluginPath ++ ["settings"] ++ optionPath)
)
[
["compile"]
["undercurl"]
["commentStyle"]
["functionStyle"]
["keywordStyle"]
["statementStyle"]
["typeStyle"]
["transparent"]
["dimInactive"]
["terminalColors"]
["colors" "palette"]
["colors" "theme"]
["theme"]
["background" "dark"]
["background" "light"]
]
)
++ [
(
mkRemovedOptionModule
(basePluginPath ++ ["overrides"])
''
Use `colorschemes.kanagawa.settings.overrides` but you now have to add the full function definition:
```
function(colors)
...
end
```
''
)
];
commentStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{italic = true;}" ''
Highlight options for comments.
'';
settingsOptions = {
compile = helpers.defaultNullOpts.mkBool false ''
Enable compiling the colorscheme.
'';
functionStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{}" ''
Highlight options for functions.
'';
undercurl = helpers.defaultNullOpts.mkBool true ''
Enable undercurls.
'';
keywordStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{italic = true;}" ''
Highlight options for keywords.
'';
commentStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{italic = true;}" ''
Highlight options for comments.
'';
statementStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{bold = true;}" ''
Highlight options for statements.
'';
functionStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{}" ''
Highlight options for functions.
'';
typeStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{}" ''
Highlight options for types.
'';
keywordStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{italic = true;}" ''
Highlight options for keywords.
'';
transparent = helpers.defaultNullOpts.mkBool false ''
Whether to set a background color.
'';
statementStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{bold = true;}" ''
Highlight options for statements.
'';
dimInactive = helpers.defaultNullOpts.mkBool false ''
Whether dim inactive window `:h hl-NormalNC`.
'';
typeStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{}" ''
Highlight options for types.
'';
terminalColors = helpers.defaultNullOpts.mkBool true ''
If true, defines `vim.g.terminal_color_{0,17}`.
'';
transparent = helpers.defaultNullOpts.mkBool false ''
Whether to set a background color.
'';
dimInactive = helpers.defaultNullOpts.mkBool false ''
Whether dim inactive window `:h hl-NormalNC`.
'';
terminalColors = helpers.defaultNullOpts.mkBool true ''
If true, defines `vim.g.terminal_color_{0,17}`.
'';
colors = {
theme =
helpers.defaultNullOpts.mkAttrsOf types.attrs
colors = {
theme =
helpers.defaultNullOpts.mkAttrsOf types.attrs
''
{
wave = {};
@ -145,21 +156,21 @@ with lib;
```
'';
palette = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
Change all usages of these colors.
palette = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
Change all usages of these colors.
Example:
```nix
{
sumiInk0 = "#000000";
fujiWhite = "#FFFFFF";
}
```
'';
};
Example:
```nix
{
sumiInk0 = "#000000";
fujiWhite = "#FFFFFF";
}
```
'';
};
overrides =
helpers.defaultNullOpts.mkLuaFn
overrides =
helpers.defaultNullOpts.mkLuaFn
''
function(colors)
return {}
@ -189,41 +200,41 @@ with lib;
```
'';
theme = helpers.defaultNullOpts.mkStr "wave" ''
The theme to load when background is not set.
theme = helpers.defaultNullOpts.mkStr "wave" ''
The theme to load when background is not set.
'';
background = {
light = helpers.defaultNullOpts.mkStr "lotus" ''
The theme to use when `vim.o.background = "light"`.
'';
background = {
light = helpers.defaultNullOpts.mkStr "lotus" ''
The theme to use when `vim.o.background = "light"`.
'';
dark = helpers.defaultNullOpts.mkStr "wave" ''
The theme to use when `vim.o.background = "dark"`.
'';
};
};
dark = helpers.defaultNullOpts.mkStr "wave" ''
The theme to use when `vim.o.background = "dark"`.
'';
settingsExample = {
compile = false;
undercurl = true;
commentStyle.italic = true;
functionStyle = { };
transparent = false;
dimInactive = false;
terminalColors = true;
colors = {
theme = {
wave.ui.float.bg = "none";
dragon.syn.parameter = "yellow";
all.ui.bg_gutter = "none";
};
palette = {
sumiInk0 = "#000000";
fujiWhite = "#FFFFFF";
};
};
settingsExample = {
compile = false;
undercurl = true;
commentStyle.italic = true;
functionStyle = {};
transparent = false;
dimInactive = false;
terminalColors = true;
colors = {
theme = {
wave.ui.float.bg = "none";
dragon.syn.parameter = "yellow";
all.ui.bg_gutter = "none";
};
palette = {
sumiInk0 = "#000000";
fujiWhite = "#FFFFFF";
};
};
overrides = "function(colors) return {} end";
theme = "wave";
};
}
overrides = "function(colors) return {} end";
theme = "wave";
};
}

View file

@ -6,15 +6,13 @@
...
}:
with lib;
helpers.vim-plugin.mkVimPlugin config {
name = "melange";
isColorscheme = true;
originalName = "melange-nvim";
defaultPackage = pkgs.vimPlugins.melange-nvim;
helpers.vim-plugin.mkVimPlugin config {
name = "melange";
isColorscheme = true;
originalName = "melange-nvim";
defaultPackage = pkgs.vimPlugins.melange-nvim;
maintainers = [maintainers.GaetanLepage];
maintainers = [ maintainers.GaetanLepage ];
extraConfig = cfg: {
opts.termguicolors = mkDefault true;
};
}
extraConfig = cfg: { opts.termguicolors = mkDefault true; };
}

View file

@ -12,7 +12,7 @@ helpers.vim-plugin.mkVimPlugin config {
defaultPackage = pkgs.vimPlugins.nord-nvim;
globalPrefix = "nord_";
maintainers = [lib.maintainers.GaetanLepage];
maintainers = [ lib.maintainers.GaetanLepage ];
# TODO introduced 2024-02-20: remove 2024-04-20
deprecateExtraConfig = true;

View file

@ -12,7 +12,7 @@ helpers.vim-plugin.mkVimPlugin config {
defaultPackage = pkgs.vimPlugins.vim-one;
globalPrefix = "one_";
maintainers = [lib.maintainers.GaetanLepage];
maintainers = [ lib.maintainers.GaetanLepage ];
settingsOptions = {
allow_italics = helpers.defaultNullOpts.mkBool false ''
@ -24,7 +24,5 @@ helpers.vim-plugin.mkVimPlugin config {
allow_italics = true;
};
extraConfig = cfg: {
opts.termguicolors = lib.mkDefault true;
};
extraConfig = cfg: { opts.termguicolors = lib.mkDefault true; };
}

View file

@ -11,7 +11,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
originalName = "onedark.nvim";
defaultPackage = pkgs.vimPlugins.onedark-nvim;
maintainers = [lib.maintainers.GaetanLepage];
maintainers = [ lib.maintainers.GaetanLepage ];
settingsExample = {
colors = {

View file

@ -11,9 +11,7 @@ helpers.vim-plugin.mkVimPlugin config {
originalName = "oxocarbon.nvim";
defaultPackage = pkgs.vimPlugins.oxocarbon-nvim;
maintainers = [lib.maintainers.GaetanLepage];
maintainers = [ lib.maintainers.GaetanLepage ];
extraConfig = cfg: {
opts.termguicolors = lib.mkDefault true;
};
extraConfig = cfg: { opts.termguicolors = lib.mkDefault true; };
}

View file

@ -6,70 +6,67 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "palette";
isColorscheme = true;
originalName = "palette.nvim";
defaultPackage = pkgs.vimPlugins.palette-nvim;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "palette";
isColorscheme = true;
originalName = "palette.nvim";
defaultPackage = pkgs.vimPlugins.palette-nvim;
maintainers = [maintainers.GaetanLepage];
maintainers = [ maintainers.GaetanLepage ];
extraPlugins = [
# Annoyingly, lspconfig is required, otherwise this line is breaking:
# https://github.com/roobert/palette.nvim/blob/a808c190a4f74f73782302152ebf323660d8db5f/lua/palette/init.lua#L45
# An issue has been opened upstream to warn the maintainer: https://github.com/roobert/palette.nvim/issues/2
pkgs.vimPlugins.nvim-lspconfig
];
extraPlugins = [
# Annoyingly, lspconfig is required, otherwise this line is breaking:
# https://github.com/roobert/palette.nvim/blob/a808c190a4f74f73782302152ebf323660d8db5f/lua/palette/init.lua#L45
# An issue has been opened upstream to warn the maintainer: https://github.com/roobert/palette.nvim/issues/2
pkgs.vimPlugins.nvim-lspconfig
];
# TODO introduced 2024-04-07: remove 2024-06-07
deprecateExtraOptions = true;
optionsRenamedToSettings = [
"palettes"
"customPalettes"
"italics"
"transparentBackground"
"caching"
"cacheDir"
];
# TODO introduced 2024-04-07: remove 2024-06-07
deprecateExtraOptions = true;
optionsRenamedToSettings = [
"palettes"
"customPalettes"
"italics"
"transparentBackground"
"caching"
"cacheDir"
];
settingsOptions = {
palettes = {
main = helpers.defaultNullOpts.mkStr "dark" ''
Palette for the main colors.
'';
settingsOptions = {
palettes = {
main = helpers.defaultNullOpts.mkStr "dark" ''
Palette for the main colors.
'';
accent = helpers.defaultNullOpts.mkStr "pastel" ''
Palette for the accent colors.
'';
accent = helpers.defaultNullOpts.mkStr "pastel" ''
Palette for the accent colors.
'';
state = helpers.defaultNullOpts.mkStr "pastel" ''
Palette for the state colors.
'';
};
state = helpers.defaultNullOpts.mkStr "pastel" ''
Palette for the state colors.
'';
};
customPalettes =
mapAttrs
customPalettes =
mapAttrs
(
name: colorNames:
helpers.defaultNullOpts.mkAttrsOf (
types.submodule {
options =
genAttrs
colorNames
(
colorName:
mkOption {
type = types.str;
description = "Definition of color '${colorName}'";
}
);
}
)
helpers.defaultNullOpts.mkAttrsOf
(types.submodule {
options = genAttrs colorNames (
colorName:
mkOption {
type = types.str;
description = "Definition of color '${colorName}'";
}
);
})
"{}"
''
Custom palettes for ${name} colors.
''
) {
)
{
main = [
"color0"
"color1"
@ -101,35 +98,35 @@ with lib;
];
};
italics = helpers.defaultNullOpts.mkBool true ''
Whether to use italics.
'';
italics = helpers.defaultNullOpts.mkBool true ''
Whether to use italics.
'';
transparent_background = helpers.defaultNullOpts.mkBool false ''
Whether to use transparent background.
'';
transparent_background = helpers.defaultNullOpts.mkBool false ''
Whether to use transparent background.
'';
caching = helpers.defaultNullOpts.mkBool true ''
Whether to enable caching.
'';
caching = helpers.defaultNullOpts.mkBool true ''
Whether to enable caching.
'';
cache_dir =
helpers.defaultNullOpts.mkStr
''{__raw = "vim.fn.stdpath('cache') .. '/palette'";}''
"Cache directory.";
};
cache_dir = helpers.defaultNullOpts.mkStr ''{__raw = "vim.fn.stdpath('cache') .. '/palette'";}'' "Cache directory.";
};
settingsExample = {};
settingsExample = { };
extraConfig = cfg: {
assertions =
mapAttrsToList (
name: defaultPaletteNames: let
extraConfig = cfg: {
assertions =
mapAttrsToList
(
name: defaultPaletteNames:
let
customPalettesNames = attrNames cfg.settings.custom_palettes.${name};
allowedPaletteNames = customPalettesNames ++ defaultPaletteNames;
palette = cfg.settings.palettes.${name};
in {
in
{
assertion = isString palette -> elem palette allowedPaletteNames;
message = ''
Nixvim (colorschemes.palette): `settings.palettes.${name}` (${palette}") is not part of the allowed ${name} palette names (${concatStringsSep " " allowedPaletteNames}).
@ -137,9 +134,20 @@ with lib;
}
)
{
main = ["dark" "light"];
accent = ["pastel" "dark" "bright"];
state = ["pastel" "dark" "bright"];
main = [
"dark"
"light"
];
accent = [
"pastel"
"dark"
"bright"
];
state = [
"pastel"
"dark"
"bright"
];
};
};
}
};
}

View file

@ -6,68 +6,68 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "poimandres";
isColorscheme = true;
originalName = "poimandres.nvim";
defaultPackage = pkgs.vimPlugins.poimandres-nvim;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "poimandres";
isColorscheme = true;
originalName = "poimandres.nvim";
defaultPackage = pkgs.vimPlugins.poimandres-nvim;
maintainers = [maintainers.GaetanLepage];
maintainers = [ maintainers.GaetanLepage ];
# TODO introduced 2024-04-15: remove 2024-06-15
deprecateExtraOptions = true;
optionsRenamedToSettings = [
"boldVertSplit"
"darkVariant"
"disableBackground"
"disableFloatBackground"
"disableItalics"
"dimNcBackground"
"groups"
"highlightGroups"
];
# TODO introduced 2024-04-15: remove 2024-06-15
deprecateExtraOptions = true;
optionsRenamedToSettings = [
"boldVertSplit"
"darkVariant"
"disableBackground"
"disableFloatBackground"
"disableItalics"
"dimNcBackground"
"groups"
"highlightGroups"
];
settingsOptions = {
bold_vert_split = helpers.defaultNullOpts.mkBool false ''
Use bold vertical separators.
'';
settingsOptions = {
bold_vert_split = helpers.defaultNullOpts.mkBool false ''
Use bold vertical separators.
'';
dim_nc_background = helpers.defaultNullOpts.mkBool false ''
Dim 'non-current' window backgrounds.
'';
dim_nc_background = helpers.defaultNullOpts.mkBool false ''
Dim 'non-current' window backgrounds.
'';
disable_background = helpers.defaultNullOpts.mkBool false ''
Whether to disable the background.
'';
disable_background = helpers.defaultNullOpts.mkBool false ''
Whether to disable the background.
'';
disable_float_background = helpers.defaultNullOpts.mkBool false ''
Whether to disable the background for floats.
'';
disable_float_background = helpers.defaultNullOpts.mkBool false ''
Whether to disable the background for floats.
'';
disable_italics = helpers.defaultNullOpts.mkBool false ''
Whether to disable italics.
'';
disable_italics = helpers.defaultNullOpts.mkBool false ''
Whether to disable italics.
'';
dark_variant = helpers.defaultNullOpts.mkStr "main" ''
Dark variant.
'';
dark_variant = helpers.defaultNullOpts.mkStr "main" ''
Dark variant.
'';
groups = helpers.mkNullOrOption (with types; attrsOf (either str (attrsOf str))) ''
Which color to use for each group.
groups = helpers.mkNullOrOption (with types; attrsOf (either str (attrsOf str))) ''
Which color to use for each group.
default: see [source](https://github.com/olivercederborg/poimandres.nvim/blob/main/lua/poimandres/init.lua)
'';
default: see [source](https://github.com/olivercederborg/poimandres.nvim/blob/main/lua/poimandres/init.lua)
'';
highlight_groups = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
Highlight groups.
'';
};
highlight_groups = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
Highlight groups.
'';
};
settingsExample = {
bold_vert_split = false;
dim_nc_background = true;
disable_background = false;
disable_float_background = false;
disable_italics = true;
};
}
settingsExample = {
bold_vert_split = false;
dim_nc_background = true;
disable_background = false;
disable_float_background = false;
disable_italics = true;
};
}

View file

@ -6,136 +6,155 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "rose-pine";
isColorscheme = true;
defaultPackage = pkgs.vimPlugins.rose-pine;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "rose-pine";
isColorscheme = true;
defaultPackage = pkgs.vimPlugins.rose-pine;
maintainers = [maintainers.GaetanLepage];
maintainers = [ maintainers.GaetanLepage ];
# TODO introduced 2024-04-15: remove 2024-06-15
optionsRenamedToSettings = [
"groups"
"highlightGroups"
];
imports = let
basePluginPath = ["colorschemes" "rose-pine"];
in [
(
mkRenamedOptionModule
(basePluginPath ++ ["style"])
(basePluginPath ++ ["settings" "dark_variant"])
)
(
mkRenamedOptionModule
(basePluginPath ++ ["dimInactive"])
(basePluginPath ++ ["settings" "dim_inactive_windows"])
)
(
mkRemovedOptionModule
(basePluginPath ++ ["disableItalics"])
"Use `colorschemes.rose-pine.settings.enable.italics` instead."
)
(
mkRemovedOptionModule
(basePluginPath ++ ["boldVerticalSplit"])
"Use `colorschemes.rose-pine.settings.highlight_groups` instead."
)
(
mkRemovedOptionModule
(basePluginPath ++ ["transparentFloat"])
"Use `colorschemes.rose-pine.settings.highlight_groups.NormalFloat` instead."
)
(
mkRenamedOptionModule
(basePluginPath ++ ["transparentBackground"])
(basePluginPath ++ ["settings" "enable" "transparency"])
)
# TODO introduced 2024-04-15: remove 2024-06-15
optionsRenamedToSettings = [
"groups"
"highlightGroups"
];
imports =
let
basePluginPath = [
"colorschemes"
"rose-pine"
];
in
[
(mkRenamedOptionModule (basePluginPath ++ [ "style" ]) (
basePluginPath
++ [
"settings"
"dark_variant"
]
))
(mkRenamedOptionModule (basePluginPath ++ [ "dimInactive" ]) (
basePluginPath
++ [
"settings"
"dim_inactive_windows"
]
))
(mkRemovedOptionModule (
basePluginPath ++ [ "disableItalics" ]
) "Use `colorschemes.rose-pine.settings.enable.italics` instead.")
(mkRemovedOptionModule (
basePluginPath ++ [ "boldVerticalSplit" ]
) "Use `colorschemes.rose-pine.settings.highlight_groups` instead.")
(mkRemovedOptionModule (
basePluginPath ++ [ "transparentFloat" ]
) "Use `colorschemes.rose-pine.settings.highlight_groups.NormalFloat` instead.")
(mkRenamedOptionModule (basePluginPath ++ [ "transparentBackground" ]) (
basePluginPath
++ [
"settings"
"enable"
"transparency"
]
))
];
settingsOptions = {
variant = helpers.mkNullOrOption (types.enum ["auto" "main" "moon" "dawn"]) ''
Set the desired variant: "auto" will follow the vim background, defaulting to `dark_variant`
or "main" for dark and "dawn" for light.
'';
settingsOptions = {
variant =
helpers.mkNullOrOption
(types.enum [
"auto"
"main"
"moon"
"dawn"
])
''
Set the desired variant: "auto" will follow the vim background, defaulting to `dark_variant`
or "main" for dark and "dawn" for light.
'';
dark_variant = helpers.defaultNullOpts.mkEnumFirstDefault ["main" "moon" "dawn"] ''
Set the desired dark variant when `settings.variant` is set to "auto".
'';
dark_variant =
helpers.defaultNullOpts.mkEnumFirstDefault
[
"main"
"moon"
"dawn"
]
''
Set the desired dark variant when `settings.variant` is set to "auto".
'';
dim_inactive_windows = helpers.defaultNullOpts.mkBool false ''
Differentiate between active and inactive windows and panels.
'';
dim_inactive_windows = helpers.defaultNullOpts.mkBool false ''
Differentiate between active and inactive windows and panels.
'';
extend_background_behind_borders = helpers.defaultNullOpts.mkBool true ''
Extend background behind borders.
Appearance differs based on which border characters you are using.
'';
extend_background_behind_borders = helpers.defaultNullOpts.mkBool true ''
Extend background behind borders.
Appearance differs based on which border characters you are using.
'';
enable = {
legacy_highlights = helpers.defaultNullOpts.mkBool true "Enable legacy highlights.";
enable = {
legacy_highlights = helpers.defaultNullOpts.mkBool true "Enable legacy highlights.";
migrations = helpers.defaultNullOpts.mkBool true "Enable migrations.";
migrations = helpers.defaultNullOpts.mkBool true "Enable migrations.";
terminal = helpers.defaultNullOpts.mkBool true "Enable terminal.";
};
styles = {
bold = helpers.defaultNullOpts.mkBool true "Enable bold.";
italic = helpers.defaultNullOpts.mkBool true "Enable italic.";
transparency = helpers.defaultNullOpts.mkBool true "Enable transparency.";
};
groups = helpers.mkNullOrOption (with types; attrsOf (either str (attrsOf str))) ''
Highlight groups.
default: see [source](https://github.com/rose-pine/neovim/blob/main/lua/rose-pine/config.lua)
'';
highlight_groups = helpers.defaultNullOpts.mkAttrsOf helpers.nixvimTypes.highlight "{}" ''
Custom highlight groups.
'';
before_highlight = helpers.defaultNullOpts.mkLuaFn "function(group, highlight, palette) end" ''
Called before each highlight group, before setting the highlight.
`function(group, highlight, palette)`
```lua
@param group string
@param highlight Highlight
@param palette Palette
```
'';
terminal = helpers.defaultNullOpts.mkBool true "Enable terminal.";
};
settingsExample = {
variant = "auto";
dark_variant = "moon";
dim_inactive_windows = true;
extend_background_behind_borders = true;
enable = {
legacy_highlights = false;
migrations = true;
terminal = false;
};
styles = {
bold = false;
italic = true;
transparency = true;
};
groups = {
border = "muted";
link = "iris";
panel = "surface";
};
highlight_groups = {};
before_highlight = "function(group, highlight, palette) end";
styles = {
bold = helpers.defaultNullOpts.mkBool true "Enable bold.";
italic = helpers.defaultNullOpts.mkBool true "Enable italic.";
transparency = helpers.defaultNullOpts.mkBool true "Enable transparency.";
};
extraConfig = cfg: {
opts.termguicolors = mkDefault true;
groups = helpers.mkNullOrOption (with types; attrsOf (either str (attrsOf str))) ''
Highlight groups.
default: see [source](https://github.com/rose-pine/neovim/blob/main/lua/rose-pine/config.lua)
'';
highlight_groups = helpers.defaultNullOpts.mkAttrsOf helpers.nixvimTypes.highlight "{}" ''
Custom highlight groups.
'';
before_highlight = helpers.defaultNullOpts.mkLuaFn "function(group, highlight, palette) end" ''
Called before each highlight group, before setting the highlight.
`function(group, highlight, palette)`
```lua
@param group string
@param highlight Highlight
@param palette Palette
```
'';
};
settingsExample = {
variant = "auto";
dark_variant = "moon";
dim_inactive_windows = true;
extend_background_behind_borders = true;
enable = {
legacy_highlights = false;
migrations = true;
terminal = false;
};
}
styles = {
bold = false;
italic = true;
transparency = true;
};
groups = {
border = "muted";
link = "iris";
panel = "surface";
};
highlight_groups = { };
before_highlight = "function(group, highlight, palette) end";
};
extraConfig = cfg: { opts.termguicolors = mkDefault true; };
}

View file

@ -6,56 +6,87 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "tokyonight";
isColorscheme = true;
originalName = "tokyonight.nvim";
defaultPackage = pkgs.vimPlugins.tokyonight-nvim;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "tokyonight";
isColorscheme = true;
originalName = "tokyonight.nvim";
defaultPackage = pkgs.vimPlugins.tokyonight-nvim;
maintainers = [maintainers.GaetanLepage];
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"]
# TODO introduced 2024-04-15: remove 2024-06-15
optionsRenamedToSettings = [
"style"
"transparent"
"terminalColors"
[
"styles"
"comments"
]
[
"styles"
"keywords"
]
[
"styles"
"functions"
]
[
"styles"
"variables"
]
[
"styles"
"sidebars"
"dayBrightness"
"hideInactiveStatusline"
"dimInactive"
"lualineBold"
"onColors"
"onHighlights"
];
]
[
"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`.
'';
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`.
'';
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.
'';
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
'';
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 {
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.
'';
@ -77,65 +108,68 @@ with lib;
floats = mkBackgroundStyle "floats";
};
sidebars = helpers.defaultNullOpts.mkListOf types.str ''["qf" "help"]'' ''
Set a darker background on sidebar-like windows.
'';
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.
'';
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**.
'';
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.
'';
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.
'';
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_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`
'';
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";
};
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;
};
}
extraConfig = cfg: { opts.termguicolors = mkDefault true; };
}

View file

@ -6,42 +6,38 @@
...
}:
with lib;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "vscode";
isColorscheme = true;
originalName = "vscode-nvim";
defaultPackage = pkgs.vimPlugins.vscode-nvim;
colorscheme = null; # Color scheme is set by `require.("vscode").load()`
callSetup = false;
helpers.neovim-plugin.mkNeovimPlugin config {
name = "vscode";
isColorscheme = true;
originalName = "vscode-nvim";
defaultPackage = pkgs.vimPlugins.vscode-nvim;
colorscheme = null; # Color scheme is set by `require.("vscode").load()`
callSetup = false;
maintainers = [maintainers.loicreynier];
maintainers = [ maintainers.loicreynier ];
settingsOptions = {
transparent = helpers.defaultNullOpts.mkBool false "Whether to enable transparent background";
italic_comments = helpers.defaultNullOpts.mkBool false "Whether to enable italic comments";
underline_links = helpers.defaultNullOpts.mkBool false "Whether to underline links";
disable_nvimtree_bg = helpers.defaultNullOpts.mkBool true "Whether to disable nvim-tree background";
color_overrides =
helpers.defaultNullOpts.mkAttrsOf types.str
"{}"
''
A dictionary of color overrides.
See https://github.com/Mofiqul/vscode.nvim/blob/main/lua/vscode/colors.lua for color names.
'';
group_overrides = with helpers;
defaultNullOpts.mkAttrsOf nixvimTypes.highlight
"{}"
''
A dictionary of group names, each associated with a dictionary of parameters
(`bg`, `fg`, `sp` and `style`) and colors in hex.
'';
};
extraConfig = cfg: {
extraConfigLuaPre = ''
local _vscode = require("vscode")
_vscode.setup(${helpers.toLuaObject cfg.settings})
_vscode.load()
settingsOptions = {
transparent = helpers.defaultNullOpts.mkBool false "Whether to enable transparent background";
italic_comments = helpers.defaultNullOpts.mkBool false "Whether to enable italic comments";
underline_links = helpers.defaultNullOpts.mkBool false "Whether to underline links";
disable_nvimtree_bg = helpers.defaultNullOpts.mkBool true "Whether to disable nvim-tree background";
color_overrides = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
A dictionary of color overrides.
See https://github.com/Mofiqul/vscode.nvim/blob/main/lua/vscode/colors.lua for color names.
'';
group_overrides =
with helpers;
defaultNullOpts.mkAttrsOf nixvimTypes.highlight "{}" ''
A dictionary of group names, each associated with a dictionary of parameters
(`bg`, `fg`, `sp` and `style`) and colors in hex.
'';
};
}
};
extraConfig = cfg: {
extraConfigLuaPre = ''
local _vscode = require("vscode")
_vscode.setup(${helpers.toLuaObject cfg.settings})
_vscode.load()
'';
};
}