From a2e09b4c9dabdf3a4481c51091e472f433b4a0be Mon Sep 17 00:00:00 2001 From: Nikita Uvarov Date: Mon, 15 Oct 2018 12:47:13 +0200 Subject: [PATCH] vim: add options --- modules/programs/vim.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/modules/programs/vim.nix b/modules/programs/vim.nix index 0caa6dcc..99dde760 100644 --- a/modules/programs/vim.nix +++ b/modules/programs/vim.nix @@ -9,17 +9,25 @@ let knownSettings = { background = types.enum [ "dark" "light" ]; + backupdir = types.listOf types.str; copyindent = types.bool; + directory = types.listOf types.str; expandtab = types.bool; hidden = types.bool; history = types.int; ignorecase = types.bool; modeline = types.bool; + mouse = types.enum [ "n" "v" "i" "c" "h" "a" "r" ]; + mousefocus = types.bool; + mousehide = types.bool; + mousemodel = types.enum [ "extend" "popup" "popup_setpos" ]; number = types.bool; relativenumber = types.bool; shiftwidth = types.int; smartcase = types.bool; tabstop = types.int; + undodir = types.listOf types.str; + undofile = types.bool; }; vimSettingsType = types.submodule { @@ -38,7 +46,12 @@ let let v = if isBool value then (if value then "" else "no") + name - else name + "=" + toString value; + else + "${name}=${ + if isList value + then concatStringsSep "," value + else toString value + }"; in optionalString (value != null) ("set " + v);