diff --git a/modules/ui/modes/config.nix b/modules/ui/modes/config.nix index bb7130e5..2e9ac045 100644 --- a/modules/ui/modes/config.nix +++ b/modules/ui/modes/config.nix @@ -1,5 +1,4 @@ { - pkgs, config, lib, ... @@ -15,7 +14,13 @@ in { vim.luaConfigRC.modes-nvim = nvim.dag.entryAnywhere '' require('modes').setup({ - set_cursorline = ${boolToString cfg.setCursorline}, -- looks ugly + set_cursorline = ${boolToString cfg.setCursorline}, + colors = { + copy = "${toString cfg.colors.copy}", + delete = "${toString cfg.colors.delete}", + insert = "${toString cfg.colors.insert}", + visual = "${toString cfg.colors.visual}", + }, }) ''; }; diff --git a/modules/ui/modes/modes.nix b/modules/ui/modes/modes.nix index 0633bb51..be4ed501 100644 --- a/modules/ui/modes/modes.nix +++ b/modules/ui/modes/modes.nix @@ -7,7 +7,30 @@ with builtins; { setCursorline = mkOption { type = types.bool; description = "Set a colored cursorline on current line"; - default = false; + default = false; # looks ugly, disabled by default + }; + + colors = { + copy = mkOption { + type = types.str; + description = "The #RRGGBB color code for the visual mode highlights"; + default = "#f5c359"; + }; + delete = mkOption { + type = types.str; + description = "The #RRGGBB color code for the visual mode highlights"; + default = "#c75c6a"; + }; + insert = mkOption { + type = types.str; + description = "The #RRGGBB color code for the visual mode highlights"; + default = "#78ccc5"; + }; + visual = mkOption { + type = types.str; + description = "The #RRGGBB color code for the visual mode highlights"; + default = "#9745be"; + }; }; }; }