mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-06 18:31:35 +00:00
Merge branch 'main' into more-option-stuff
This commit is contained in:
commit
b704a28a12
50 changed files with 1076 additions and 612 deletions
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./outline
|
||||
./binds
|
||||
./ccc
|
||||
./gestures
|
||||
|
|
14
modules/plugins/utility/outline/aerial-nvim/aerial-nvim.nix
Normal file
14
modules/plugins/utility/outline/aerial-nvim/aerial-nvim.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||
inherit (lib.nvim.binds) mkMappingOption;
|
||||
in {
|
||||
options.vim.utility.outline.aerial-nvim = {
|
||||
enable = mkEnableOption "Aerial.nvim";
|
||||
setupOpts = mkPluginSetupOption "aerial.nvim" {};
|
||||
|
||||
mappings = {
|
||||
toggle = mkMappingOption "Toggle aerial window" "gO";
|
||||
};
|
||||
};
|
||||
}
|
42
modules/plugins/utility/outline/aerial-nvim/config.nix
Normal file
42
modules/plugins/utility/outline/aerial-nvim/config.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
options,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.nvim.binds) mkKeymap;
|
||||
|
||||
cfg = config.vim.utility.outline.aerial-nvim;
|
||||
inherit (options.vim.utility.outline.aerial-nvim) mappings;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
lazy.plugins.aerial-nvim = {
|
||||
package = "aerial-nvim";
|
||||
|
||||
setupModule = "aerial";
|
||||
inherit (cfg) setupOpts;
|
||||
|
||||
cmd = [
|
||||
"AerialClose"
|
||||
"AerialCloseAll"
|
||||
"AerialGo"
|
||||
"AerialInfo"
|
||||
"AerialNavClose"
|
||||
"AerialNavOpen"
|
||||
"AerialNavToggle"
|
||||
"AerialNext"
|
||||
"AerialOpen"
|
||||
"AerialOpenAll"
|
||||
"AerialPrev"
|
||||
"AerialToggle"
|
||||
];
|
||||
|
||||
keys = [
|
||||
(mkKeymap "n" cfg.mappings.toggle ":AerialToggle<CR>" {desc = mappings.toggle.description;})
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
6
modules/plugins/utility/outline/aerial-nvim/default.nix
Normal file
6
modules/plugins/utility/outline/aerial-nvim/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./aerial-nvim.nix
|
||||
./config.nix
|
||||
];
|
||||
}
|
5
modules/plugins/utility/outline/default.nix
Normal file
5
modules/plugins/utility/outline/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./aerial-nvim
|
||||
];
|
||||
}
|
|
@ -4,8 +4,8 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.strings) concatMapStringsSep;
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
cfg = config.vim.utility.preview.markdownPreview;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
|
@ -15,7 +15,7 @@ in {
|
|||
mkdp_auto_start = cfg.autoStart;
|
||||
mkdp_auto_close = cfg.autoClose;
|
||||
mkdp_refresh_slow = cfg.lazyRefresh;
|
||||
mkdp_filetypes = [(concatMapStringsSep ", " (x: "'" + x + "'") cfg.filetypes)];
|
||||
mkdp_filetypes = cfg.filetypes;
|
||||
mkdp_command_for_global = cfg.alwaysAllowPreview;
|
||||
mkdp_open_to_the_world = cfg.broadcastServer;
|
||||
mkdp_open_ip = cfg.customIP;
|
||||
|
|
|
@ -4,51 +4,33 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
|
||||
cfg = config.vim.utility.surround;
|
||||
mkLznKey = mode: key: {
|
||||
inherit key mode;
|
||||
inherit mode key;
|
||||
};
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
startPlugins = ["nvim-surround"];
|
||||
pluginRC.surround = entryAnywhere "require('nvim-surround').setup(${toLuaObject cfg.setupOpts})";
|
||||
|
||||
lazy.plugins.nvim-surround = {
|
||||
package = "nvim-surround";
|
||||
|
||||
setupModule = "nvim-surround";
|
||||
inherit (cfg) setupOpts;
|
||||
|
||||
keys =
|
||||
[
|
||||
(mkLznKey ["i"] cfg.setupOpts.keymaps.insert)
|
||||
(mkLznKey ["i"] cfg.setupOpts.keymaps.insert_line)
|
||||
(mkLznKey ["x"] cfg.setupOpts.keymaps.visual)
|
||||
(mkLznKey ["x"] cfg.setupOpts.keymaps.visual_line)
|
||||
(mkLznKey ["n"] cfg.setupOpts.keymaps.normal)
|
||||
(mkLznKey ["n"] cfg.setupOpts.keymaps.normal_cur)
|
||||
(mkLznKey ["n"] cfg.setupOpts.keymaps.normal_line)
|
||||
(mkLznKey ["n"] cfg.setupOpts.keymaps.normal_cur_line)
|
||||
(mkLznKey ["n"] cfg.setupOpts.keymaps.delete)
|
||||
(mkLznKey ["n"] cfg.setupOpts.keymaps.change)
|
||||
(mkLznKey ["n"] cfg.setupOpts.keymaps.change_line)
|
||||
]
|
||||
++ map (mkLznKey ["n" "i" "v"]) [
|
||||
"<Plug>(nvim-surround-insert)"
|
||||
"<Plug>(nvim-surround-insert-line)"
|
||||
"<Plug>(nvim-surround-normal)"
|
||||
"<Plug>(nvim-surround-normal-cur)"
|
||||
"<Plug>(nvim-surround-normal-line)"
|
||||
"<Plug>(nvim-surround-normal-cur-line)"
|
||||
"<Plug>(nvim-surround-visual)"
|
||||
"<Plug>(nvim-surround-visual-line)"
|
||||
"<Plug>(nvim-surround-delete)"
|
||||
"<Plug>(nvim-surround-change)"
|
||||
"<Plug>(nvim-surround-change-line)"
|
||||
];
|
||||
keys = [
|
||||
(mkLznKey "i" cfg.setupOpts.keymaps.insert)
|
||||
(mkLznKey "i" cfg.setupOpts.keymaps.insert_line)
|
||||
(mkLznKey "x" cfg.setupOpts.keymaps.visual)
|
||||
(mkLznKey "x" cfg.setupOpts.keymaps.visual_line)
|
||||
(mkLznKey "n" cfg.setupOpts.keymaps.normal)
|
||||
(mkLznKey "n" cfg.setupOpts.keymaps.normal_cur)
|
||||
(mkLznKey "n" cfg.setupOpts.keymaps.normal_line)
|
||||
(mkLznKey "n" cfg.setupOpts.keymaps.normal_cur_line)
|
||||
(mkLznKey "n" cfg.setupOpts.keymaps.delete)
|
||||
(mkLznKey "n" cfg.setupOpts.keymaps.change)
|
||||
(mkLznKey "n" cfg.setupOpts.keymaps.change_line)
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.meta) getExe;
|
||||
|
||||
cfg = config.vim.utility.vim-wakatime;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
vim.startPlugins = [pkgs.vimPlugins.vim-wakatime];
|
||||
vim = {
|
||||
startPlugins = [pkgs.vimPlugins.vim-wakatime];
|
||||
|
||||
vim.pluginRC.vim-wakatime = mkIf (cfg.cli-package != null) ''
|
||||
vim.g.wakatime_CLIPath = "${cfg.cli-package}"
|
||||
'';
|
||||
# Wakatime configuration is stored as vim globals.
|
||||
globals = {
|
||||
"wakatime_CLIPath" = mkIf (cfg.cli-package != null) "${getExe cfg.cli-package}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
_: {
|
||||
{
|
||||
imports = [
|
||||
./config.nix
|
||||
./vim-wakatime.nix
|
||||
|
|
|
@ -1,18 +1,24 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.types) nullOr package;
|
||||
in {
|
||||
options.vim.utility.vim-wakatime = {
|
||||
enable = mkEnableOption "vim-wakatime: live code statistics";
|
||||
enable = mkEnableOption ''
|
||||
automatic time tracking and metrics generated from your programming activity [vim-wakatime]
|
||||
'';
|
||||
|
||||
cli-package = mkOption {
|
||||
type = nullOr package;
|
||||
default = pkgs.wakatime;
|
||||
description = "The package that should be used for wakatime-cli. Set as null to use the default path in `$XDG_DATA_HOME`";
|
||||
default = pkgs.wakatime-cli;
|
||||
example = null;
|
||||
description = ''
|
||||
The package that should be used for wakatime-cli.
|
||||
Set as null to use the default path in {env}`$XDG_DATA_HOME`
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue