94 lines
2.2 KiB
Nix
94 lines
2.2 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
programs.nixvim = {
|
|
extraPackages = with pkgs; [ devcontainer ];
|
|
extraPlugins = [
|
|
(pkgs.vimUtils.buildVimPlugin {
|
|
# https://codeberg.org/esensar/nvim-dev-container
|
|
name = "devcontainer";
|
|
src = pkgs.fetchgit {
|
|
url = "https://codeberg.org/esensar/nvim-dev-container";
|
|
rev = "ba9666bdaec23cfe8087c0b6bb0a15c93ec8ba87";
|
|
sha256 = "sha256-x1+HxC/wDsR1MukXzteIcoOeUJ8XxXvbujL5/XPvf6Q=";
|
|
};
|
|
})
|
|
];
|
|
extraConfigLua = ''
|
|
require("devcontainer").setup({})
|
|
'';
|
|
keymaps = [
|
|
{
|
|
mode = "n";
|
|
key = "<leader>d";
|
|
action = "";
|
|
options = {
|
|
desc = "Manage Dev Container";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>ds";
|
|
action = ":DevcontainerStart<CR>";
|
|
options = {
|
|
desc = "Start Dev Container";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>dc";
|
|
action = ":DevcontainerStopAll<CR>";
|
|
options = {
|
|
desc = "Stop Dev Container";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>dr";
|
|
action = ":DevcontainerRemoveAll<CR>";
|
|
options = {
|
|
desc = "Remove Dev Container";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>da";
|
|
action = ":DevcontainerAttach<CR>";
|
|
options = {
|
|
desc = "Attach to Dev Container";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>de";
|
|
action = ":DevcontainerExec ";
|
|
options = {
|
|
desc = "Execute Command in Dev Container";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>dl";
|
|
action = ":DevcontainerLogs<CR>";
|
|
options = {
|
|
desc = "Open Dev Container Logs";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>dz";
|
|
action = ":DevcontainerEditNearestConfig<CR>";
|
|
options = {
|
|
desc = "Edit Nearest devcontainer.json";
|
|
silent = false;
|
|
};
|
|
}
|
|
];
|
|
};
|
|
}
|