flake/nixos/nvim/plugins/devcontainer.nix

86 lines
2.1 KiB
Nix
Raw Normal View History

2025-02-02 18:53:01 -06:00
{ pkgs, ... }:
{
programs.nixvim = {
extraPackages = with pkgs; [ devcontainer ];
extraPlugins = [
(pkgs.vimUtils.buildVimPlugin {
# https://codeberg.org/esensar/nvim-dev-container
2025-02-04 08:26:49 -06:00
name = "devcontainer";
2025-02-02 18:53:01 -06:00
src = pkgs.fetchgit {
url = "https://codeberg.org/esensar/nvim-dev-container";
rev = "ba9666bdaec23cfe8087c0b6bb0a15c93ec8ba87";
sha256 = "sha256-x1+HxC/wDsR1MukXzteIcoOeUJ8XxXvbujL5/XPvf6Q=";
};
})
];
extraConfigLua = ''
require("devcontainer").setup({})
'';
2025-02-04 08:26:49 -06:00
keymaps = [
{
mode = "n";
2025-02-08 12:53:14 -06:00
key = "<leader>dcs";
action = "<CMD>DevcontainerStart<CR>";
2025-02-04 08:26:49 -06:00
options = {
desc = "Start Dev Container";
silent = false;
};
}
{
mode = "n";
2025-02-08 12:53:14 -06:00
key = "<leader>dcc";
action = "<CMD>DevcontainerStopAll<CR>";
2025-02-04 08:26:49 -06:00
options = {
desc = "Stop Dev Container";
silent = false;
};
}
{
mode = "n";
2025-02-08 12:53:14 -06:00
key = "<leader>dcr";
action = "<CMD>DevcontainerRemoveAll<CR>";
2025-02-04 08:26:49 -06:00
options = {
desc = "Remove Dev Container";
silent = false;
};
}
{
mode = "n";
2025-02-08 12:53:14 -06:00
key = "<leader>dca";
action = "<CMD>DevcontainerAttach<CR>";
2025-02-04 08:26:49 -06:00
options = {
desc = "Attach to Dev Container";
silent = false;
};
}
{
mode = "n";
2025-02-08 12:53:14 -06:00
key = "<leader>dce";
2025-02-04 08:26:49 -06:00
action = ":DevcontainerExec ";
options = {
desc = "Execute Command in Dev Container";
silent = false;
};
}
{
mode = "n";
2025-02-08 12:53:14 -06:00
key = "<leader>dcl";
action = "<CMD>DevcontainerLogs<CR>";
2025-02-04 08:26:49 -06:00
options = {
desc = "Open Dev Container Logs";
silent = true;
};
}
{
mode = "n";
2025-02-08 12:53:14 -06:00
key = "<leader>dcz";
action = "<CMD>DevcontainerEditNearestConfig<CR>";
2025-02-04 08:26:49 -06:00
options = {
desc = "Edit Nearest devcontainer.json";
silent = false;
};
}
];
2025-02-02 18:53:01 -06:00
};
}