2024-07-03 23:58:26 +02:00
|
|
|
{ lib, ... }:
|
2024-11-02 23:33:47 +01:00
|
|
|
let
|
|
|
|
inherit (lib) mkEnableOption mkOption types;
|
|
|
|
mkDisableOption =
|
|
|
|
desc:
|
|
|
|
mkEnableOption desc
|
|
|
|
// {
|
|
|
|
default = true;
|
|
|
|
example = false;
|
|
|
|
};
|
|
|
|
in
|
2024-07-03 23:58:26 +02:00
|
|
|
{
|
2024-11-02 23:33:47 +01:00
|
|
|
options.jhome.nvim = {
|
|
|
|
enable = mkDisableOption "jalil's Neovim configuration";
|
|
|
|
dev = mkOption {
|
|
|
|
type = types.submodule {
|
|
|
|
options = {
|
|
|
|
enable = mkDisableOption "development configuration";
|
2024-11-06 22:56:37 +01:00
|
|
|
bundleLSPs = mkDisableOption "bundling LSPs with Neovim (decreases size when disabled)";
|
|
|
|
bundleGrammars = mkDisableOption "bundling treesitter grammars with Neovim (barely decreases size when disabled)";
|
2024-11-02 23:33:47 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
default = { };
|
|
|
|
example = {
|
|
|
|
enable = false;
|
|
|
|
};
|
|
|
|
description = ''
|
|
|
|
Development options
|
|
|
|
|
|
|
|
Disabling this is advised for headless setups (e.g. servers), where you
|
|
|
|
won't be doing software development and would prefer to instead have a
|
|
|
|
smaller package.
|
|
|
|
'';
|
|
|
|
};
|
2024-07-03 23:58:26 +02:00
|
|
|
};
|
2024-02-16 20:10:20 +01:00
|
|
|
}
|