Compare commits

..

1 Commits

Author SHA1 Message Date
2e6c687a7c feat(plugins,nix): godot integration 2025-12-14 21:59:29 -03:00
6 changed files with 31 additions and 130 deletions

13
flake.lock generated
View File

@@ -1,17 +1,5 @@
{
"nodes": {
"godotdev": {
"flake": false,
"locked": {
"narHash": "sha256-q8Ej78SeZkVt5LxLdJJopVYY1qFdKaObkmZzwJFv1cE=",
"type": "file",
"url": "file:///home/guz/.projects/guz013-godotdev-nvim"
},
"original": {
"type": "file",
"url": "file:///home/guz/.projects/guz013-godotdev-nvim"
}
},
"mdfmt": {
"flake": false,
"locked": {
@@ -46,7 +34,6 @@
},
"root": {
"inputs": {
"godotdev": "godotdev",
"mdfmt": "mdfmt",
"nixpkgs": "nixpkgs"
}

View File

@@ -6,12 +6,6 @@
url = "github:moorereason/mdfmt";
flake = false;
};
godotdev = {
# url = "github:Mathijs-Bakker/godotdev.nvim";
url = "git+file:///home/guz/.projects/guz013-godotdev-nvim";
flake = false;
};
};
outputs = {
self,
@@ -47,87 +41,12 @@
}: {
neovim = pkgs.callPackage ./package.nix {
mdfmt = self.packages.${pkgs.system}.mdfmt;
godotdev = self.packages.${pkgs.system}.godotdev;
};
godotdev = pkgs.vimUtils.buildVimPlugin {
pname = "godotdev.nvim";
version = "v0.2.3";
src = inputs.godotdev;
godot-neovim = pkgs.writeShellApplication {
name = "godot-neovim";
runtimeInputs = with pkgs; [neovim-remote];
text = builtins.readFile ./scripts/godot-neovim.sh;
};
gh-actions-language-server = pkgs.callPackage ({
stdenv,
lib,
makeBinaryWrapper,
buildNpmPackage,
bun,
nodejs,
npmHooks,
...
}: let
pname = "gh-actions-language-server";
src = fetchGit {
url = "https://github.com/lttb/gh-actions-language-server";
rev = "0287d3081d7b74fef88824ca3bd6e9a44323a54d";
};
packageJson = lib.importJSON "${src}/package.json";
version = packageJson.version;
node_modules = stdenv.mkDerivation {
inherit src version;
pname = "${pname}-node_modules";
nativeBuildInputs = [bun];
dontConfigure = true;
buildPhase = ''
bun install --no-progress --frozen-lockfile
'';
installPhase = ''
mkdir -p $out/node_modules
cp -R ./node_modules/* $out/node_modules
ls -la $out/node_modules
'';
dontFixup = true;
dontPathShebangs = true;
outputHash = "sha256-HfMP9OI07CpiOQw5xkpcRPKPv/MflU1FjtSMOuCkYtg=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
in
stdenv.mkDerivation {
inherit pname src version;
buildInputs = [bun nodejs];
nativeBuildInputs = [makeBinaryWrapper];
dontConfigure = true;
buildPhase = ''
runHook preBuild
ln -s "${node_modules}/node_modules" ./
bun run build:node
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
mv ./bin/$pname $out/$pname
makeBinaryWrapper ${lib.getExe nodejs} $out/bin/$pname \
--prefix PATH : ${lib.makeBinPath [nodejs]} \
--add-flags "$out/$pname"
runHook postInstall
'';
# installPhase = ''
# runHook preInstall
#
# mkdir -p $out/bin
# makeBinaryWrapper ${lib.getExe nodejs} $out/bin/$pname \
# --prefix PATH : "${lib.makeBinPath [nodejs]}"
# --add-flags "$out/$pname"
#
# runHook postInstall
# '';
}) {};
mdfmt = pkgs.buildGoModule {
name = "mdfmt";
src = inputs.mdfmt;

View File

@@ -1,6 +1,9 @@
vim.g.mapleader = " "
vim.g.maplocalleader = " "
---- Plugins
require("dot.plugins")
-- Filetype plugins
vim.o.filetype = "on"
@@ -25,6 +28,9 @@ vim.o.breakindent = true
vim.o.list = true
vim.opt.listchars = { tab = "", trail = ".", nbsp = "" }
-- Theme
vim.cmd.colorscheme("catppuccin")
----
-- Mouse support
@@ -81,15 +87,9 @@ vim.diagnostic.config({
},
})
---- Plugins
require("dot.plugins")
require("dot.commands")
require("dot.keymaps")
-- Theme
vim.cmd.colorscheme("catppuccin")
require("nvim-treesitter.configs").setup({
auto_install = false,
highlight = { enable = true },

View File

@@ -7,8 +7,6 @@ vim.keymap.set("n", "<C-j>", "<C-w><C-l>", { desc = "Move focus to the lower win
vim.keymap.set("n", "<C-k>", "<C-w><C-k>", { desc = "Move focus to the upper window" })
vim.keymap.set("n", "<leader>w", ":lua require('harpoon'):list():add()<cr>", { desc = "Harpoon: Add file to list" })
vim.keymap.set("n", "<C-p>", ":lua require('harpoon'):list():prev()<cr>", { desc = "Harpoon: Previous file" })
vim.keymap.set("n", "<C-n>", ":lua require('harpoon'):list():next()<cr>", { desc = "Harpoon: Next file" })
vim.keymap.set("n", "<leader>e", ":lua require('harpoon').ui:toggle_quick_menu(require('harpoon'):list())<cr>", {
desc = "Harpoon: Add file to list",
})
@@ -43,15 +41,15 @@ vim.api.nvim_create_autocmd("LspAttach", {
vim.keymap.set(mode or "n", lhs, rhs, { buffer = e.buf, desc = "LSP: " .. desc })
end
map("gn", vim.lsp.buf.rename, "Re[n]ame")
map("ga", vim.lsp.buf.code_action, "[G]oto Code [A]ction", { "n", "x" })
map("gr", ":lua require('telescope.builtin').lsp_references()<cr>", "[G]oto [R]eferences")
map("gi", ":lua require('telescope.builtin').lsp_implementations()<cr>", "[G]oto [I]mplementation")
map("gd", ":lua require('telescope.builtin').lsp_definitions()<cr>", "[G]oto [D]efinition")
map("gt", ":lua require('telescope.builtin').lsp_type_definitions()<cr>", "[G]oto [T]ype Definition")
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration<cr>")
map("gO", ":lua require('telescope.builtin').lsp_document_symbols()<cr>", "[O]pen Document Symbols")
map("gW", ":lua require('telescope.builtin').lsp_dynamic_workspace_symbols()<cr>", "Open [W]orkspace Symbols")
map("grn", vim.lsp.buf.rename, "[R]e[n]ame")
map("gra", vim.lsp.buf.code_action, "[G]oto Code [A]ction", { "n", "x" })
map("grr", ":lua require('telescope.builtin').lsp_references<cr>", "[G]oto [R]eferences")
map("gri", ":lua require('telescope.builtin').lsp_implementations<cr>", "[G]oto [I]mplementation")
map("grd", ":lua require('telescope.builtin').lsp_definitions", "[G]oto [D]efinition")
map("grt", ":lua require('telescope.builtin').lsp_type_definitions", "[G]oto [T]ype Definition")
map("grD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
map("gO", ":lua require('telescope.builtin').lsp_document_symbols", "[O]pen Document Symbols")
map("gW", ":lua require('telescope.builtin').lsp_dynamic_workspace_symbols", "Open [W]orkspace Symbols")
end,
group = vim.api.nvim_create_augroup("dot-lsp-attach-keymaps", { clear = true }),
})
@@ -60,8 +58,8 @@ vim.api.nvim_create_autocmd("LspAttach", {
vim.keymap.set("n", "<leader>b", ":lua require('dap').toggle_breakpoint()<cr>", {
desc = "Debugger: Toggle [B]reakpointn",
})
vim.keymap.set("n", "<F5>", ":lua require('dap').continue()<cr>", { desc = "Debugger: Continue debugger" })
vim.keymap.set("n", "<F8>", ":lua require('dap').terminate()<cr>", { desc = "Debugger: Terminate debugger" })
vim.keymap.set("n", "<leader>x", ":lua require('dap').continue()<cr>", { desc = "Debugger: Continue debugger" })
vim.keymap.set("n", "<leader>X", ":lua require('dap').terminate()<cr>", { desc = "Debugger: Terminate debugger" })
vim.keymap.set("n", "<leader>C", ":lua require('dap').clear_breakpoints()<cr>", {
desc = "Debugger: Clear all breakpoints",
})

View File

@@ -162,7 +162,7 @@ lze.load({
"SessionSearch",
"Auutosession",
},
lazy = not (#(vim.fs.root(0, ".git") or {}) > 0),
lazy = not (#(vim.fs.root(0, ".git") or 0) > 0),
},
-- Secrets hiding
@@ -232,7 +232,7 @@ lze.load({
desc = "[Git] Toggle line blame",
},
},
lazy = not (#(vim.fs.root(0, ".git") or {}) > 0),
lazy = not (#vim.fs.root(0, ".git") > 0),
},
-- Todo comments

View File

@@ -4,14 +4,6 @@
neovim ? pkgs.neovim,
mdfmt ? null,
yazi ? pkgs.yazi,
godotdev ? (pkgs.vimUtils.buildVimPlugin {
pname = "godotdev.nvim";
version = "v0.2.3";
src = fetchGit {
url = "https://github.com/Mathijs-Bakker/godotdev.nvim";
rev = "79d9315988b7772c03a1cabb6f31f5287c849e2b";
};
}),
...
}: let
dot-nvim = pkgs.vimUtils.buildVimPlugin {
@@ -94,7 +86,14 @@ in
rev = "be7b03748f59b6602502baf08e7f7736cc7279a5";
};
})
godotdev
(pkgs.vimUtils.buildVimPlugin {
pname = "godotdev.nvim";
version = "v0.2.3";
src = fetchGit {
url = "https://github.com/Mathijs-Bakker/godotdev.nvim";
rev = "79d9315988b7772c03a1cabb6f31f5287c849e2b";
};
})
];
# inherit start opt;
};
@@ -106,7 +105,6 @@ in
vscode-langservers-extracted # cssls, eslint, html, jsonls, typescript
docker-language-server
emmet-language-server
golangci-lint-langserver
gopls
@@ -117,7 +115,6 @@ in
nil
rust-analyzer
tailwindcss-language-server
typescript-language-server
]
++ [
# INFO: Formatters