From ba14b3538eaeab7f823c48feb06309eb09386ff4 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 30 Nov 2024 23:36:51 +0100 Subject: [PATCH] wrapper: use freeform types for vim.globals --- modules/wrapper/rc/options.nix | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 508a8bf..df23257 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -5,7 +5,7 @@ }: let inherit (lib.options) mkOption mkEnableOption literalMD literalExpression; inherit (lib.strings) optionalString; - inherit (lib.types) str attrs lines listOf either path; + inherit (lib.types) str attrs lines listOf either path submodule anything; inherit (lib.nvim.types) dagOf; inherit (lib.nvim.lua) listToLuaTable; @@ -100,10 +100,21 @@ in { }; globals = mkOption { - type = attrs; - default = { - mapleader = " "; - maplocalleader = ","; + default = {}; + type = submodule { + freeformType = anything; + options = { + mapleader = mkOption { + type = str; + default = " "; + description = "The key used for mappings"; + }; + maplocalleader = mkOption { + type = str; + default = ","; + description = "The key used for mappings"; + }; + }; }; example = {"some_variable" = 42;}; description = ''