feat: apply new module format to dashboard plugins [3/3]

This commit is contained in:
NotAShelf 2023-02-27 17:53:09 +03:00
parent 4436c2b2aa
commit f567b08e92
No known key found for this signature in database
GPG key ID: 5B5C8895F28445F1
10 changed files with 106 additions and 52 deletions

View file

@ -0,0 +1,14 @@
{
pkgs,
config,
lib,
...
}:
with lib;
with builtins; let
cfg = config.vim.dashboard.alpha;
in {
options.vim.dashboard.alpha = {
enable = mkEnableOption "alpha";
};
}

View file

@ -8,17 +8,14 @@ with lib;
with builtins; let with builtins; let
cfg = config.vim.dashboard.alpha; cfg = config.vim.dashboard.alpha;
in { in {
options.vim.dashboard.alpha = {
enable = mkEnableOption "alpha";
};
config = mkIf cfg.enable { config = mkIf cfg.enable {
vim.startPlugins = [ vim.startPlugins = [
"alpha-nvim" "alpha-nvim"
"nvim-web-devicons"
]; ];
# the credit for this configuration goes to https://github.com/Rishabh672003 # the entire credit for this dashboard configuration to https://github.com/Rishabh672003
# good work, honestly # honestly, excellent work
vim.luaConfigRC.alpha = nvim.dag.entryAnywhere '' vim.luaConfigRC.alpha = nvim.dag.entryAnywhere ''
local alpha = require("alpha") local alpha = require("alpha")
local plenary_path = require("plenary.path") local plenary_path = require("plenary.path")

View file

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

View file

@ -8,10 +8,6 @@ with lib;
with builtins; let with builtins; let
cfg = config.vim.dashboard.dashboard-nvim; cfg = config.vim.dashboard.dashboard-nvim;
in { in {
options.vim.dashboard.dashboard-nvim = {
enable = mkEnableOption "dashboard-nvim";
};
config = mkIf cfg.enable { config = mkIf cfg.enable {
vim.startPlugins = [ vim.startPlugins = [
"dashboard-nvim" "dashboard-nvim"

View file

@ -0,0 +1,14 @@
{
pkgs,
config,
lib,
...
}:
with lib;
with builtins; let
cfg = config.vim.dashboard.dashboard-nvim;
in {
options.vim.dashboard.dashboard-nvim = {
enable = mkEnableOption "dashboard-nvim";
};
}

View file

@ -0,0 +1,6 @@
_: {
imports = [
./dashboard-nvim.nix
./config.nix
];
}

View file

@ -5,8 +5,8 @@
... ...
}: { }: {
imports = [ imports = [
./alpha.nix ./alpha
./dashboard-nvim.nix ./dashboard-nvim
./startify.nix ./startify
]; ];
} }

View file

@ -0,0 +1,54 @@
{
pkgs,
config,
lib,
...
}:
with builtins;
with lib; let
cfg = config.vim.dashboard.startify;
mkVimBool = val:
if val
then "1"
else "0";
in {
config = mkIf (cfg.enable) {
vim.startPlugins = with pkgs.neovimPlugins; [vim-startify];
vim.globals = {
"startify_custom_header" =
if cfg.customHeader == []
then null
else cfg.customHeader;
"startify_custom_footer" =
if cfg.customFooter == []
then null
else cfg.customFooter;
"startify_bookmarks" = cfg.bookmarks;
"startify_lists" = cfg.lists;
"startify_change_to_dir" = mkVimBool cfg.changeToDir;
"startify_change_to_vcs_root" = mkVimBool cfg.changeToVCRoot;
"startify_change_cmd" = cfg.changeDirCmd;
"startify_skiplist" = cfg.skipList;
"startify_update_oldfiles" = mkVimBool cfg.updateOldFiles;
"startify_session_autoload" = mkVimBool cfg.sessionAutoload;
"startify_commands" = cfg.commands;
"startify_files_number" = cfg.filesNumber;
"startify_custom_indices" = cfg.customIndices;
"startify_disable_at_vimenter" = mkVimBool cfg.disableOnStartup;
"startify_enable_unsafe" = mkVimBool cfg.unsafe;
"startify_padding_left" = cfg.paddingLeft;
"startify_use_env" = mkVimBool cfg.useEnv;
"startify_session_before_save" = cfg.sessionBeforeSave;
"startify_session_persistence" = mkVimBool cfg.sessionPersistence;
"startify_session_delete_buffers" = mkVimBool cfg.sessionDeleteBuffers;
"startify_session_dir" = cfg.sessionDir;
"startify_skiplist_server" = cfg.skipListServer;
"startify_session_remove_lines" = cfg.sessionRemoveLines;
"startify_session_savevars" = cfg.sessionSavevars;
"startify_session_savecmds" = cfg.sessionSavecmds;
"startify_session_sort" = mkVimBool cfg.sessionSort;
};
};
}

View file

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

View file

@ -194,43 +194,4 @@ in {
type = types.bool; type = types.bool;
}; };
}; };
config = mkIf (cfg.enable) {
vim.startPlugins = with pkgs.neovimPlugins; [vim-startify];
vim.globals = {
"startify_custom_header" =
if cfg.customHeader == []
then null
else cfg.customHeader;
"startify_custom_footer" =
if cfg.customFooter == []
then null
else cfg.customFooter;
"startify_bookmarks" = cfg.bookmarks;
"startify_lists" = cfg.lists;
"startify_change_to_dir" = mkVimBool cfg.changeToDir;
"startify_change_to_vcs_root" = mkVimBool cfg.changeToVCRoot;
"startify_change_cmd" = cfg.changeDirCmd;
"startify_skiplist" = cfg.skipList;
"startify_update_oldfiles" = mkVimBool cfg.updateOldFiles;
"startify_session_autoload" = mkVimBool cfg.sessionAutoload;
"startify_commands" = cfg.commands;
"startify_files_number" = cfg.filesNumber;
"startify_custom_indices" = cfg.customIndices;
"startify_disable_at_vimenter" = mkVimBool cfg.disableOnStartup;
"startify_enable_unsafe" = mkVimBool cfg.unsafe;
"startify_padding_left" = cfg.paddingLeft;
"startify_use_env" = mkVimBool cfg.useEnv;
"startify_session_before_save" = cfg.sessionBeforeSave;
"startify_session_persistence" = mkVimBool cfg.sessionPersistence;
"startify_session_delete_buffers" = mkVimBool cfg.sessionDeleteBuffers;
"startify_session_dir" = cfg.sessionDir;
"startify_skiplist_server" = cfg.skipListServer;
"startify_session_remove_lines" = cfg.sessionRemoveLines;
"startify_session_savevars" = cfg.sessionSavevars;
"startify_session_savecmds" = cfg.sessionSavecmds;
"startify_session_sort" = mkVimBool cfg.sessionSort;
};
};
} }