add stuff

This commit is contained in:
2025-04-23 09:58:34 +02:00
parent 6eb4b228ff
commit df0600601b
7 changed files with 82 additions and 79 deletions

View File

@@ -61,8 +61,9 @@
services = { services = {
ollama = { ollama = {
enable = false; enable = true;
acceleration = "rocm"; acceleration = "rocm";
rocmOverrideGfx = "10.3.0";
}; };
printing = { printing = {

View File

@@ -1,6 +1,12 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
xdg.configFile."ranger/rc.conf".source = ./ranger.conf; xdg.configFile."ranger/rc.conf".source = ./ranger.conf;
services.flatpak.packages = [
{
flatpakref = "https://releases.threema.ch/flatpak/threema-desktop/ch.threema.threema-desktop.flatpakref";
sha256 = "0lghiiiphbkqgiprqirxifldvix0j4k04jh1z9f911shrzjgqq4s";
}
];
home.packages = with pkgs; [ home.packages = with pkgs; [
# nix # nix
cachix cachix
@@ -27,6 +33,7 @@
discord discord
element-desktop element-desktop
thunderbird thunderbird
signal-desktop
# cinny-desktop # cinny-desktop
# office # office

View File

@@ -40,7 +40,10 @@
undotree.enable = true; undotree.enable = true;
aerial.enable = true; aerial.enable = true;
base = { base = {
completion.enable = true; completion = {
enable = true;
copilot = true;
};
diagnostics.enable = true; diagnostics.enable = true;
coverage.enable = true; coverage.enable = true;
find.enable = true; find.enable = true;
@@ -84,41 +87,7 @@
}; };
}; };
extraPlugins = [ pkgs.vimPlugins.tiny-inline-diagnostic-nvim ];
extraConfigLua = ''
require("tiny-inline-diagnostic").setup({
preset = "modern",
hi = {
arrow = "LineNr",
background = "LineNr",
},
options = {
show_source = true,
use_icons_from_diagnostic = true,
add_messages = true,
throttle = 0,
softwrap = 30,
multiple_diag_under_cursor = true,
multilines = {
enabled = true,
always_show = true,
},
show_all_diags_on_cursorline = false,
enable_on_insert = false,
enable_on_select = false,
severity = {
vim.diagnostic.severity.ERROR,
vim.diagnostic.severity.WARN,
vim.diagnostic.severity.INFO,
vim.diagnostic.severity.HINT,
},
},
})
'';
diagnostics.virtual_text = false;
plugins = { plugins = {
leap.enable = true;
vim-surround.enable = true; vim-surround.enable = true;
which-key.enable = true; which-key.enable = true;
schemastore.enable = true; schemastore.enable = true;
@@ -131,7 +100,6 @@
line_numbers = false; line_numbers = false;
}; };
}; };
none-ls.settings.debug = true;
lsp.servers = { lsp.servers = {
html.enable = true; html.enable = true;
@@ -143,10 +111,5 @@
jsonls.enable = true; jsonls.enable = true;
taplo.enable = true; taplo.enable = true;
}; };
copilot-lua = {
enable = true;
settings.suggestion.auto_trigger = true;
};
}; };
} }

View File

@@ -37,7 +37,7 @@ in
autojump = true; autojump = true;
highlight_on_jump = false; highlight_on_jump = false;
filter_kind = false; filter_kind = false;
open_automatic = true; open_automatic = false;
show_guides = true; show_guides = true;
backends = [ backends = [
"lsp" "lsp"

View File

@@ -1,19 +1,67 @@
{ lib, config, ... }: {
lib,
pkgs,
config,
...
}:
let let
cfg = config.presets.base.completion; cfg = config.presets.base.completion;
in in
{ {
options.presets.base.completion = { options.presets.base.completion = {
enable = lib.mkEnableOption "completion"; enable = lib.mkEnableOption "completion";
copilot = lib.mkEnableOption "Copilot";
ollama = lib.mkEnableOption "Ollama";
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
extraConfigLua =
lib.mkIf cfg.ollama
#lua
''
require('minuet').setup({
provider = 'openai_fim_compatible',
n_completions = 1,
context_window = 1024,
provider_options = {
openai_fim_compatible = {
api_key = 'TERM',
name = 'Ollama',
end_point = 'http://localhost:11434/v1/completions',
model = 'deepseek-coder-v2:16b',
optional = {
max_tokens = 56,
stop = { '\n' },
top_p = 0.9,
},
},
},
virtualtext = {
show_on_completion_menu = true,
auto_trigger_ft = { "*" },
keymap = {
accept = '<A-l>',
},
},
throttle = 0,
debounce = 0,
})
'';
plugins = { plugins = {
luasnip.enable = true; luasnip.enable = true;
lspkind = { lspkind = {
enable = true; enable = true;
mode = "symbol_text"; mode = "symbol_text";
}; };
lualine.settings.sections.lualine_x = lib.mkIf cfg.ollama (
lib.mkBefore [
{ __unkeyed-1.__raw = "require('minuet.lualine')"; }
]
);
copilot-lua = lib.mkIf cfg.copilot {
enable = true;
settings.suggestion.auto_trigger = true;
};
cmp = { cmp = {
enable = true; enable = true;
settings = { settings = {
@@ -53,5 +101,6 @@ in
}; };
}; };
}; };
extraPlugins = lib.mkIf cfg.ollama [ pkgs.vimPlugins.minuet-ai-nvim ];
}; };
} }

View File

@@ -16,27 +16,17 @@ in
extraConfigLuaPre = # lua extraConfigLuaPre = # lua
'' ''
vim.lsp.set_log_level("off") vim.lsp.set_log_level("off")
require("actions-preview").setup({})
local signs = {
{ name = "DiagnosticSignError", text = "" },
{ name = "DiagnosticSignWarn", text = "" },
{ name = "DiagnosticSignHint", text = "󰌵" },
{ name = "DiagnosticSignInfo", text = "" },
}
for _, sign in ipairs(signs) do
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
end
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "solid" }) vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "solid" })
''; '';
diagnostics = { diagnostics = {
signs.text = { virtual_text.prefix = "";
"__rawKey__vim.diagnostic.severity.ERROR" = ""; signs = false;
"__rawKey__vim.diagnostic.severity.WARN" = ""; float = {
"__rawKey__vim.diagnostic.severity.INFO" = ""; focusable = false;
"__rawKey__vim.diagnostic.severity.HINT" = "󰌵"; header = "";
border = "solid";
scope = "cursor";
prefix = "";
}; };
underline = true; underline = true;
update_in_insert = true; update_in_insert = true;
@@ -44,11 +34,11 @@ in
}; };
keymaps = [ keymaps = [
{ {
key = "<leader>sa"; key = "<leader>sn";
mode = "n"; mode = "n";
options.silent = true; options.silent = true;
action.__raw = # lua action.__raw = # lua
"require('actions-preview').code_actions"; "function() vim.diagnostic.open_float(nil) end";
} }
{ {
key = "<leader>sx"; key = "<leader>sx";
@@ -68,13 +58,6 @@ in
mode = "n"; mode = "n";
action = ":IncRename "; action = ":IncRename ";
} }
{
key = "<leader>sn";
mode = "n";
options.silent = true;
action.__raw = # lua
"vim.lsp.buf.hover";
}
{ {
key = "<leader>sh"; key = "<leader>sh";
mode = "n"; mode = "n";
@@ -86,7 +69,7 @@ in
plugins = { plugins = {
lsp = { lsp = {
enable = true; enable = true;
inlayHints = false; inlayHints = true;
}; };
telescope = { telescope = {
enable = true; enable = true;
@@ -96,6 +79,7 @@ in
"<leader>si" = "lsp_implementations"; "<leader>si" = "lsp_implementations";
"<leader>sw" = "lsp_workspace_symbols"; "<leader>sw" = "lsp_workspace_symbols";
"<leader>st" = "lsp_type_definitions"; "<leader>st" = "lsp_type_definitions";
"<leader>sa" = "quickfix";
}; };
}; };
inc-rename.enable = true; inc-rename.enable = true;
@@ -105,11 +89,6 @@ in
group = "LSP"; group = "LSP";
icon = "󱐋"; icon = "󱐋";
} }
{
__unkeyed-1 = "<leader>sn";
desc = "Hover";
icon = "";
}
{ {
__unkeyed-1 = "<leader>sr"; __unkeyed-1 = "<leader>sr";
desc = "References"; desc = "References";
@@ -155,6 +134,11 @@ in
desc = "Code Actions"; desc = "Code Actions";
icon = ""; icon = "";
} }
{
__unkeyed-1 = "<leader>sn";
desc = "Diagnostics";
icon = "";
}
{ {
__unkeyed-1 = "<leader>sx"; __unkeyed-1 = "<leader>sx";
desc = "LSP Format"; desc = "LSP Format";
@@ -162,6 +146,5 @@ in
} }
]; ];
}; };
extraPlugins = [ pkgs.vimPlugins.actions-preview-nvim ];
}; };
} }

View File

@@ -214,7 +214,7 @@ hi! IlluminatedWordRead gui=none guibg={{colors.surface_container_highest.defaul
hi! IlluminatedWordWrite gui=none guibg={{colors.surface_container_highest.default.hex}} hi! IlluminatedWordWrite gui=none guibg={{colors.surface_container_highest.default.hex}}
hi! MatchParen gui=none guibg={{colors.surface_container_highest.default.hex}} hi! MatchParen gui=none guibg={{colors.surface_container_highest.default.hex}}
hi! LspInlayHint guifg={{colors.on_surface_variant.default.hex}} guibg={{colors.surface_variant.default.hex}} hi! LspInlayHint gui=italic guifg={{colors.outline.default.hex}} guibg={{colors.surface_container_highest.default.hex}}
let g:lualine_theme = { let g:lualine_theme = {
\ "insert": { \ "insert": {