2024-02-06 13:13:44 +00:00
|
|
|
{ config, lib, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
nixvimCfg = config.nixvimConfigs.trovebelt;
|
|
|
|
cfg = nixvimCfg.setups.debugging;
|
2025-01-29 04:48:19 +00:00
|
|
|
in {
|
2024-02-06 13:13:44 +00:00
|
|
|
options.nixvimConfigs.trovebelt.setups.debugging.enable =
|
|
|
|
lib.mkEnableOption "debugging setup";
|
|
|
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
# The main star of the show.
|
|
|
|
plugins.dap.enable = true;
|
|
|
|
|
|
|
|
# All of the configurations that we typically/rarely needed.
|
|
|
|
plugins.dap.adapters.executables = {
|
|
|
|
gdb = {
|
|
|
|
command = "gdb";
|
|
|
|
args = [ "-i" "dap" ];
|
|
|
|
};
|
|
|
|
|
2025-01-29 04:48:19 +00:00
|
|
|
lldb = { command = "lldb-dap"; };
|
2024-02-06 13:13:44 +00:00
|
|
|
|
|
|
|
dart = {
|
|
|
|
command = "dart";
|
|
|
|
args = [ "debug_adapter" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
flutter = {
|
|
|
|
command = "flutter";
|
|
|
|
args = [ "debug_adapter" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# Enable all of the debugging extensoins.
|
|
|
|
plugins.dap.extensions.dap-go.enable = true;
|
|
|
|
plugins.dap.extensions.dap-python.enable = true;
|
|
|
|
};
|
|
|
|
}
|