more things

This commit is contained in:
2025-12-03 11:40:01 -05:00
parent 3089d6fdd1
commit 0ed577e815
10 changed files with 213 additions and 96 deletions

View File

@@ -1 +0,0 @@
require("avante").setup()

View File

@@ -0,0 +1,27 @@
require("plugins.codecompanion.fidget-spinner"):init()
require("codecompanion").setup({
opts = { log_level = "DEBUG" },
adapters = {
http = {
["llama-swap"] = function()
return require("codecompanion.adapters").extend("openai_compatible", {
name = "llama-swap",
formatted_name = "LlamaSwap",
schema = {
model = {
default = "qwen3-coder-30b-instruct",
},
},
env = {
url = "http://10.0.20.100:8080",
api_key = "none",
},
})
end,
},
},
strategies = {
chat = { adapter = "llama-swap" },
inline = { adapter = "llama-swap" },
},
})

View File

@@ -1,8 +1,8 @@
require("base")
require("aerial-config")
require("autopairs-config")
require("avante-config")
require("cmp-config")
require("code-companion-config")
require("comment-config")
require("dap-config")
require("diffview-config")

View File

@@ -8,6 +8,11 @@ vim.api.nvim_create_autocmd("FileType", {
end,
})
require('render-markdown').setup({
completions = { lsp = { enabled = true } },
file_types = { 'markdown', 'codecompanion' },
})
------------------------------------------------------
-------------------- Built-in LSP --------------------
------------------------------------------------------

View File

@@ -32,7 +32,7 @@ execute_command()
vim.fn.timer_start(300000, execute_command)
-- Return status from cache
function pr_status()
local function pr_status()
--   
--    
--
@@ -49,10 +49,6 @@ function pr_status()
end
require("lualine").setup({
options = {
theme = "catppuccin",
-- theme = "nord"
-- theme = "OceanicNext",
},
options = { theme = "catppuccin" },
sections = { lualine_c = { { pr_status } } },
})

View File

@@ -0,0 +1,71 @@
local progress = require("fidget.progress")
local M = {}
function M:init()
local group = vim.api.nvim_create_augroup("CodeCompanionFidgetHooks", {})
vim.api.nvim_create_autocmd({ "User" }, {
pattern = "CodeCompanionRequestStarted",
group = group,
callback = function(request)
local handle = M:create_progress_handle(request)
M:store_progress_handle(request.data.id, handle)
end,
})
vim.api.nvim_create_autocmd({ "User" }, {
pattern = "CodeCompanionRequestFinished",
group = group,
callback = function(request)
local handle = M:pop_progress_handle(request.data.id)
if handle then
M:report_exit_status(handle, request)
handle:finish()
end
end,
})
end
M.handles = {}
function M:store_progress_handle(id, handle)
M.handles[id] = handle
end
function M:pop_progress_handle(id)
local handle = M.handles[id]
M.handles[id] = nil
return handle
end
function M:create_progress_handle(request)
return progress.handle.create({
title = " Requesting assistance (" .. request.data.strategy .. ")",
message = "In progress...",
lsp_client = {
name = M:llm_role_title(request.data.adapter),
},
})
end
function M:llm_role_title(adapter)
local parts = {}
table.insert(parts, adapter.formatted_name)
if adapter.model and adapter.model ~= "" then
table.insert(parts, "(" .. adapter.model .. ")")
end
return table.concat(parts, " ")
end
function M:report_exit_status(handle, request)
if request.data.status == "success" then
handle.message = "Completed"
elseif request.data.status == "error" then
handle.message = " Error"
else
handle.message = "󰜺 Cancelled"
end
end
return M

View File

@@ -4,45 +4,48 @@ wk.setup({})
wk.add({
{ "<C-k>", desc = "Signature Help" },
{ "K", desc = "Definition Hover" },
{ "<leader>a", desc = "Aerial" },
{ "<leader>d", group = "Debug" },
{ "<leader>c", desc = "CodeCompanion" },
{ "<leader>cc", "<cmd>CodeCompanionChat Toggle<cr>", desc = "Toggle Chat" },
{ "<leader>ci", "<cmd>CodeCompanion<cr>", desc = "Inline Prompt", mode = "v" },
{ "<leader>db", desc = "Toggle Breakpoint" },
{ "<leader>dc", desc = "Continue" },
{ "<leader>d", group = "Debug" },
{ "<leader>dt", desc = "Run Test" },
{ "<leader>du", desc = "Toggle UI" },
{ "<leader>f", group = "Find - Telescope" },
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Find Buffer" },
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find File" },
{ "<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
{ "<leader>f", group = "Find - Telescope" },
{ "<leader>fh", "<cmd>Telescope help_tags<cr>", desc = "Help Tags" },
{ "<leader>fj", "<cmd>Telescope jumplist<cr>", desc = "Jump List" },
{ "<leader>fp", "<cmd>Octo pr list<cr>", desc = "PR List" },
{ "<leader>g", group = "DiffView" },
{ "<leader>gB", desc = "Git Blame Full" },
{ "<leader>gH", "<cmd>DiffviewFileHistory --range=origin..HEAD<cr>", desc = "Diff History - Main" },
{ "<leader>gO", "<cmd>DiffviewOpen origin/main...HEAD<cr>", desc = "Open Diff - Main" },
{ "<leader>gb", desc = "Git Blame Line" },
{ "<leader>gc", "<cmd>DiffviewClose<cr>", desc = "Close Diff" },
{ "<leader>g", group = "DiffView" },
{ "<leader>gh", "<cmd>DiffviewFileHistory<cr>", desc = "Diff History" },
{ "<leader>gH", "<cmd>DiffviewFileHistory --range=origin..HEAD<cr>", desc = "Diff History - Main" },
{ "<leader>go", "<cmd>DiffviewOpen<cr>", desc = "Open Diff - Current" },
{ "<leader>l", group = "LSP" },
{ "<leader>gO", "<cmd>DiffviewOpen origin/main...HEAD<cr>", desc = "Open Diff - Main" },
{ "<leader>lD", desc = "Declaration" },
{ "<leader>ld", desc = "Definition" },
{ "<leader>lf", desc = "Format" },
{ "<leader>l", group = "LSP" },
{ "<leader>li", desc = "Implementation" },
{ "<leader>ln", desc = "Rename" },
{ "<leader>lr", desc = "References" },
{ "<leader>lt", desc = "Type Definition" },
{ "<leader>q", group = "Diagnostics" },
{ "<leader>qN", desc = "Previous Diagnostic" },
{ "<leader>qe", desc = "Open Diagnostic Float" },
{ "<leader>q", group = "Diagnostics" },
{ "<leader>qn", desc = "Next Diagnostic" },
{ "<leader>qN", desc = "Previous Diagnostic" },
{ "<leader>qq", desc = "Toggle Diagnostic List" },
{ "<leader>qt", desc = "Toggle Inline Diagnostics" },
{ "<leader>sb", desc = "Buffer Screenshot", mode = { "n", "v" } },
{ "<leader>s", group = "Screenshot", mode = { "n", "v" } },
{ "<leader>ss", desc = "Selected Screenshot", mode = "v" },
{ "<leader>sv", desc = "Visual Screenshot" },
{ "<leader>t", desc = "NeoTree" },
{ "K", desc = "Definition Hover" },
{ "<leader>ss", desc = "Selected Screenshot", mode = "v" },
{ "<leader>s", group = "Screenshot", mode = { "n", "v" } },
{ "<leader>sb", desc = "Buffer Screenshot", mode = { "n", "v" } },
})

View File

@@ -1,4 +1,9 @@
{ pkgs, lib, config, namespace, ... }:
{ pkgs
, lib
, config
, namespace
, ...
}:
let
inherit (lib) mkIf;
cfg = config.${namespace}.programs.terminal.nvim;
@@ -22,9 +27,9 @@ in
# ------------------
cmp-buffer # Buffer Word Completion
cmp-cmdline # Command Line Completion
cmp_luasnip # Snippets Completion
cmp-nvim-lsp # Main LSP
cmp-path # Path Completion
cmp_luasnip # Snippets Completion
friendly-snippets # Snippets
lsp_lines-nvim # Inline Diagnostics
luasnip # Snippets
@@ -34,10 +39,11 @@ in
# -------------------
# ----- Helpers -----
# -------------------
avante-nvim # Avante
aerial-nvim # Code Outline
codecompanion-nvim # CodeCompanion
comment-nvim # Code Comments
diffview-nvim # Diff View
fidget-nvim # Notification Helper
gitsigns-nvim # Git Blame
leap-nvim # Quick Movement
markdown-preview-nvim # Markdown Preview
@@ -45,6 +51,8 @@ in
none-ls-nvim # Formatters
numb-nvim # Peek / Jump to Lines
nvim-autopairs # Automatically Close Pairs (),[],{}
octo-nvim # Git Octo
render-markdown-nvim # Markdown Renderer
telescope-fzf-native-nvim # Faster Telescope
telescope-nvim # Fuzzy Finder
telescope-ui-select-nvim # UI
@@ -52,16 +60,13 @@ in
toggleterm-nvim # Terminal Helper
vim-nix # Nix Helpers
which-key-nvim # Shortcut Helper
octo-nvim # Git Octo
# ------------------
# --- Theme / UI ---
# ------------------
catppuccin-nvim # Theme
lualine-nvim # Bottom Line
noice-nvim # UI Tweaks
# nord-nvim # Theme
# melange-nvim # Theme
catppuccin-nvim # Theme
nvim-notify # Noice Dependency
nvim-web-devicons # Dev Icons
@@ -81,8 +86,7 @@ in
# --------------------
# -- NONE-LS EXTRAS --
# --------------------
(
pkgs.vimUtils.buildVimPlugin {
(pkgs.vimUtils.buildVimPlugin {
pname = "none-ls-extras.nvim";
version = "2025-10-28";
src = pkgs.fetchFromGitHub {
@@ -93,14 +97,12 @@ in
};
doCheck = false;
meta.homepage = "https://github.com/nvimtools/none-ls-extras.nvim/";
}
)
})
# -------------------
# ----- Silicon -----
# -------------------
(
pkgs.vimUtils.buildVimPlugin {
(pkgs.vimUtils.buildVimPlugin {
pname = "silicon.lua";
version = "2025-10-28";
src = pkgs.fetchFromGitHub {
@@ -111,14 +113,12 @@ in
};
doCheck = false;
meta.homepage = "https://github.com/0oAstro/silicon.lua";
}
)
})
# -------------------
# ---- LLAMA.VIM ----
# -------------------
(
pkgs.vimUtils.buildVimPlugin {
(pkgs.vimUtils.buildVimPlugin {
pname = "llama.vim";
version = "2025-10-28";
src = pkgs.fetchFromGitHub {
@@ -128,8 +128,7 @@ in
sha256 = "sha256-uPqOZLWKVMimhc9eG7yM5OmhJy3mTRgKsiqKhstWs4Y=";
};
meta.homepage = "https://github.com/ggml-org/llama.vim/";
}
)
})
];
extraPackages = with pkgs; [

View File

@@ -1,8 +1,9 @@
{ config
, pkgs
, lib
, namespace
, ...
{
config,
pkgs,
lib,
namespace,
...
}:
let
inherit (lib) types mkIf mkEnableOption;

View File

@@ -99,10 +99,10 @@ in
services = {
openssh = enabled;
mosh = enabled;
};
virtualisation = {
# podman run --device nvidia.com/gpu=all -e INVOKEAI_ROOT=/invokeai -v /mnt/ssd/InvokeAI:/invokeai --publish 8081:9090 ghcr.io/invoke-ai/invokeai
podman = enabled;
};
@@ -113,18 +113,34 @@ in
openFirewall = true;
settings = {
models = {
# https://huggingface.co/ggml-org/gpt-oss-20b-GGUF/tree/main
# https://huggingface.co/unsloth/SmolLM3-3B-128K-GGUF/tree/main
"smollm3-3b-instruct" = {
name = "SmolLM3(3B) - Instruct";
cmd = "${pkgs.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/SmolLM3-3B-128K-UD-Q4_K_XL.gguf --ctx-size 98304 --temp 0.6 --top-p 0.95 --reasoning-budget 0 -sm none";
};
# https://huggingface.co/unsloth/Qwen3-Next-80B-A3B-Instruct-GGUF/tree/main
"qwen3-next-80b-instruct" = {
name = "Qwen3 Next (80B) - Instruct";
cmd = "${pkgs.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/Qwen3-Next-80B-A3B-Instruct-UD-Q4_K_XL.gguf --ctx-size 32768 --temp 0.7 --min-p 0.0 --top-p 0.8 --top-k 20 -sm none -ncmoe 39";
};
# https://huggingface.co/mradermacher/gpt-oss-20b-heretic-GGUF/tree/main
# reasoning_effort = low, medium, high
"gpt-oss-20b-thinking" = {
name = "GPT OSS (20B) - Thinking";
cmd = "${pkgs.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/gpt-oss-20b-heretic-MXFP4.gguf --ctx-size 128000 --chat-template-kwargs '{\"reasoning_effort\":\"low\"}'";
};
# https://huggingface.co/ggml-org/Qwen2.5-Coder-7B-Q8_0-GGUF/tree/main
# https://huggingface.co/unsloth/ERNIE-4.5-21B-A3B-PT-GGUF/tree/main
"ernie4.5-21b-instruct" = {
name = "ERNIE4.5 (21B) - Instruct";
cmd = "${pkgs.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/ERNIE-4.5-21B-A3B-PT-UD-Q4_K_XL.gguf --ctx-size 98304 --temp 0.7 --min-p 0.0 --top-p 0.8 --top-k 20";
};
# https://huggingface.co/unsloth/Qwen2.5-Coder-7B-Instruct-128K-GGUF/tree/main
"qwen2.5-coder-7b-instruct" = {
name = "Qwen2.5 Coder (7B) - Instruct";
cmd = "${pkgs.llama-cpp}/bin/llama-server -m /mnt/ssd/Models/qwen2.5-coder-7b-q8_0.gguf --fim-qwen-7b-default --port \${PORT}";
cmd = "${pkgs.llama-cpp}/bin/llama-server -m /mnt/ssd/Models/Qwen2.5-Coder-7B-Instruct-Q8_0.gguf --fim-qwen-7b-default --ctx-size 131072 --port \${PORT}";
};
# https://huggingface.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF/tree/main