mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-01-12 13:37:46 +00:00
Merge branch 'main' into otter
This commit is contained in:
commit
4c3d2839a7
6 changed files with 60 additions and 22 deletions
|
|
@ -5,16 +5,17 @@
|
|||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
|
||||
cfg = config.vim.dashboard.dashboard-nvim;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
vim.startPlugins = [
|
||||
"dashboard-nvim"
|
||||
];
|
||||
vim = {
|
||||
startPlugins = ["dashboard-nvim"];
|
||||
|
||||
vim.pluginRC.dashboard-nvim = entryAnywhere ''
|
||||
require("dashboard").setup{}
|
||||
'';
|
||||
pluginRC.dashboard-nvim = entryAnywhere ''
|
||||
require("dashboard").setup(${toLuaObject cfg.setupOpts})
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||
in {
|
||||
options.vim.dashboard.dashboard-nvim = {
|
||||
enable = mkEnableOption "Fancy and Blazing Fast start screen plugin of neovim [dashboard.nvim]";
|
||||
setupOpts = mkPluginSetupOption "dashboard.nvim" {};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,10 +80,11 @@
|
|||
maps);
|
||||
in {
|
||||
config = let
|
||||
filterNonNull = attrs: filterAttrs (_: value: value != null) attrs;
|
||||
globalsScript =
|
||||
mapAttrsToList (name: value: "vim.g.${name} = ${toLuaObject value}")
|
||||
(filterNonNull cfg.globals);
|
||||
mapAttrsToList (name: value: "vim.g.${name} = ${toLuaObject value}") cfg.globals;
|
||||
|
||||
optionsScript =
|
||||
mapAttrsToList (name: value: "vim.o.${name} = ${toLuaObject value}") cfg.options;
|
||||
|
||||
extraPluginConfigs = resolveDag {
|
||||
name = "extra plugin configs";
|
||||
|
|
@ -132,9 +133,12 @@ in {
|
|||
in {
|
||||
vim = {
|
||||
luaConfigRC = {
|
||||
# `vim.g` and `vim.o`
|
||||
globalsScript = entryAnywhere (concatLines globalsScript);
|
||||
# basic
|
||||
pluginConfigs = entryAfter ["basic"] pluginConfigs;
|
||||
optionsScript = entryAfter ["basic"] (concatLines optionsScript);
|
||||
|
||||
# Basic
|
||||
pluginConfigs = entryAfter ["optionsScript"] pluginConfigs;
|
||||
extraPluginConfigs = entryAfter ["pluginConfigs"] extraPluginConfigs;
|
||||
mappings = entryAfter ["extraPluginConfigs"] mappings;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -129,16 +129,38 @@ in {
|
|||
globals = mkOption {
|
||||
type = attrs;
|
||||
default = {};
|
||||
example = {"some_variable" = 42;};
|
||||
description = ''
|
||||
An attribute set containing global variable values
|
||||
for storing vim variables as early as possible. If
|
||||
populated, this option will set vim variables in the
|
||||
built luaConfigRC as the first item.
|
||||
|
||||
E.g. {foo = "bar"} will set `vim.g.foo` to "bar" where
|
||||
the type of `bar` in the resulting vimscript will be
|
||||
infered from the type of the value in the `{name = value}`
|
||||
pair.
|
||||
::: {.note}
|
||||
`{foo = "bar";}` will set `vim.g.foo` to "bar", where
|
||||
the type of `bar` in the resulting Lua value will be
|
||||
inferred from the type of the value in the `{name = value;}`
|
||||
pair passed to the option.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
options = mkOption {
|
||||
type = attrs;
|
||||
default = {};
|
||||
example = {visualbell = true;};
|
||||
description = ''
|
||||
An attribute set containing vim options to be set
|
||||
as early as possible. If populated, this option will
|
||||
set vim options in the built luaConfigRC after `basic`
|
||||
and before `pluginConfigs` DAG entries.
|
||||
|
||||
::: {.note}
|
||||
`{foo = "bar";}` will set `vim.o.foo` to "bar", where
|
||||
the type of `bar` in the resulting Lua value will be
|
||||
inferred from the type of the value in the`{name = value;}`
|
||||
pair passed to the option.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue