dev: init nvim-dap setup

This commit is contained in:
NotAShelf 2023-05-04 18:41:11 +03:00
parent ec02c56ec2
commit 8490e385f3
No known key found for this signature in database
GPG key ID: F0D14CCB5ED5AA22
9 changed files with 100 additions and 0 deletions

View file

@ -39,6 +39,13 @@ inputs: let
lspSignature.enable = true; lspSignature.enable = true;
}; };
vim.debugger = {
nvim-dap = {
enable = true;
ui.enable = true;
};
};
vim.languages = { vim.languages = {
enableLSP = true; enableLSP = true;
enableFormat = true; enableFormat = true;
@ -202,6 +209,7 @@ inputs: let
image_text = "The Superior Text Editor"; image_text = "The Superior Text Editor";
client_id = "793271441293967371"; client_id = "793271441293967371";
main_image = "neovim"; main_image = "neovim";
show_time = true;
rich_presence = { rich_presence = {
editing_text = "Editing %s"; editing_text = "Editing %s";
}; };

View file

@ -996,6 +996,38 @@
"type": "github" "type": "github"
} }
}, },
"nvim-dap": {
"flake": false,
"locked": {
"lastModified": 1682077642,
"narHash": "sha256-l5sJ6PKW10CtOzSBKzWasWVMZq/mAkgpgWOecIVuV+0=",
"owner": "mfussenegger",
"repo": "nvim-dap",
"rev": "6cedcb527e264c8f25e86afa8dae74c6692dee51",
"type": "github"
},
"original": {
"owner": "mfussenegger",
"repo": "nvim-dap",
"type": "github"
}
},
"nvim-dap-ui": {
"flake": false,
"locked": {
"lastModified": 1683055722,
"narHash": "sha256-8TavZqkTCr2/jaO3C8fp+r7qfN6mCzVvidbHGtJGLfs=",
"owner": "rcarriga",
"repo": "nvim-dap-ui",
"rev": "749bfe12d1447703899fa823c1c075fbe2d42c24",
"type": "github"
},
"original": {
"owner": "rcarriga",
"repo": "nvim-dap-ui",
"type": "github"
}
},
"nvim-lightbulb": { "nvim-lightbulb": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -1327,6 +1359,8 @@
"nvim-code-action-menu": "nvim-code-action-menu", "nvim-code-action-menu": "nvim-code-action-menu",
"nvim-compe": "nvim-compe", "nvim-compe": "nvim-compe",
"nvim-cursorline": "nvim-cursorline", "nvim-cursorline": "nvim-cursorline",
"nvim-dap": "nvim-dap",
"nvim-dap-ui": "nvim-dap-ui",
"nvim-lightbulb": "nvim-lightbulb", "nvim-lightbulb": "nvim-lightbulb",
"nvim-lspconfig": "nvim-lspconfig", "nvim-lspconfig": "nvim-lspconfig",
"nvim-neoclip": "nvim-neoclip", "nvim-neoclip": "nvim-neoclip",

View file

@ -164,6 +164,17 @@
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
}; };
# Debuggers
nvim-dap = {
url = "github:mfussenegger/nvim-dap";
flake = false;
};
nvim-dap-ui = {
url = "github:rcarriga/nvim-dap-ui";
flake = false;
};
# Filetrees # Filetrees
nvim-tree-lua = { nvim-tree-lua = {
url = "github:nvim-tree/nvim-tree.lua"; url = "github:nvim-tree/nvim-tree.lua";

View file

@ -81,6 +81,8 @@ with lib; let
"project-nvim" "project-nvim"
"elixir-ls" "elixir-ls"
"elixir-tools" "elixir-tools"
"nvim-dap"
"nvim-dap-ui"
]; ];
# You can either use the name of the plugin or a package. # You can either use the name of the plugin or a package.
pluginsType = with types; pluginsType = with types;

View file

@ -0,0 +1,5 @@
_: {
imports = [
./nvim-dap
];
}

View file

@ -0,0 +1,23 @@
{
config,
lib,
...
}:
with lib;
with builtins; let
cfg = config.vim.debugger.nvim-dap;
in {
config = mkIf cfg.enable {
vim.startPlugins =
[
"nvim-dap"
]
++ optionals cfg.ui.enable [
"nvim-dap-ui"
];
vim.luaConfigRC.nvim-dap-ui = nvim.dag.entryAnywhere ''
require("dapui").setup()
'';
};
}

View file

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

View file

@ -0,0 +1,10 @@
{lib, ...}:
with lib; {
options.vim.debugger.nvim-dap = {
enable = mkEnableOption "Enable debugging via nvim-dap";
ui = {
enable = mkEnableOption "Enable UI extension for nvim-dap";
};
};
}

View file

@ -29,6 +29,7 @@
./comments ./comments
./projects ./projects
./languages ./languages
./debugger
]; ];
pkgsModule = {config, ...}: { pkgsModule = {config, ...}: {