modules: start breaking down core modules; simplify tree structure

This commit is contained in:
raf 2024-02-17 04:02:15 +03:00
commit 370913e827
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
242 changed files with 178 additions and 124 deletions

View file

@ -0,0 +1,28 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) nvim mkIf mkMerge mkBinding;
cfg = config.vim.utility.preview.glow;
self = import ./glow.nix {
inherit lib config pkgs;
};
mappings = self.options.vim.utility.preview.glow.mappings;
in {
config = mkIf cfg.enable {
vim.startPlugins = ["glow-nvim"];
vim.maps.normal = mkMerge [
(mkBinding cfg.mappings.openPreview ":Glow<CR>" mappings.openPreview.description)
];
vim.luaConfigRC.glow = nvim.dag.entryAnywhere ''
require('glow').setup({
glow_path = "${pkgs.glow}/bin/glow"
});
'';
};
}

View file

@ -0,0 +1,6 @@
{
imports = [
./glow.nix
./config.nix
];
}

View file

@ -0,0 +1,14 @@
{lib, ...}: let
inherit (lib) mkEnableOption mkMappingOption mkRenamedOptionModule;
in {
imports = [
(mkRenamedOptionModule ["vim" "languages" "markdown" "glow" "enable"] ["vim" "utility" "preview" "glow" "enable"])
];
options.vim.utility.preview = {
glow = {
enable = mkEnableOption "markdown preview in neovim with glow";
mappings.openPreview = mkMappingOption "Open preview" "<leader>p";
};
};
}