docs: streamline manpages

This commit is contained in:
NotAShelf 2023-02-06 21:10:37 +03:00
commit 206e17bbe4
No known key found for this signature in database
GPG key ID: 5B5C8895F28445F1
8 changed files with 133 additions and 41 deletions

53
modules/lib/hm.nix Normal file
View file

@ -0,0 +1,53 @@
# Home Manager module
{
config,
pkgs,
lib ? pkgs.lib,
...
}: let
cfg = config.programs.neovim-ide;
set = pkgs.neovimBuilder {config = cfg.settings;};
in
with lib; {
meta.maintainers = [maintainers.notashelf];
options.programs.neovim-ide = {
enable = mkEnableOption "NeoVim with LSP enabled for Scala, Haskell, Rust and more.";
settings = mkOption {
type = types.attrsOf types.anything;
default = {};
example = literalExpression ''
{
vim.viAlias = false;
vim.vimAlias = true;
vim.lsp = {
enable = true;
formatOnSave = true;
lightbulb.enable = true;
lspsaga.enable = false;
nvimCodeActionMenu.enable = true;
trouble.enable = true;
lspSignature.enable = true;
rust.enable = false;
nix = true;
dhall = true;
elm = true;
haskell = true;
scala = true;
sql = true;
python = false;
clang = false;
ts = false;
go = false;
};
}
'';
description = "Attribute set of neoflake preferences.";
};
};
config = mkIf cfg.enable {
home.packages = [set.neovim];
};
}