2024-05-30 14:17:49 +08:00
|
|
|
inputs:
|
|
|
|
{
|
2024-08-03 17:40:11 +08:00
|
|
|
options.nixos.packages.vim = let inherit (inputs.lib) mkOption types; in mkOption
|
|
|
|
{ type = types.nullOr (types.submodule {}); default = {}; };
|
|
|
|
config = let inherit (inputs.config.nixos.packages) vim; in inputs.lib.mkIf (vim != null)
|
2024-05-30 14:17:49 +08:00
|
|
|
{
|
2024-05-30 15:05:44 +08:00
|
|
|
nixos.user.sharedModules =
|
|
|
|
[{
|
|
|
|
config.programs.vim =
|
2024-05-30 14:17:49 +08:00
|
|
|
{
|
2024-05-30 15:05:44 +08:00
|
|
|
enable = true;
|
|
|
|
defaultEditor = true;
|
|
|
|
packageConfigurable = inputs.config.programs.vim.package;
|
|
|
|
settings =
|
|
|
|
{
|
|
|
|
number = true;
|
|
|
|
expandtab = false;
|
|
|
|
shiftwidth = 2;
|
|
|
|
tabstop = 2;
|
|
|
|
};
|
|
|
|
extraConfig =
|
|
|
|
''
|
|
|
|
set clipboard=unnamedplus
|
|
|
|
colorscheme evening
|
|
|
|
'';
|
2024-05-30 14:17:49 +08:00
|
|
|
};
|
2024-05-30 15:05:44 +08:00
|
|
|
}];
|
2024-05-30 14:17:49 +08:00
|
|
|
programs.vim.package = inputs.pkgs.vim-full;
|
|
|
|
};
|
|
|
|
}
|