mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2026-02-16 05:22:43 +00:00
Compare commits
4 Commits
8c83619275
...
df0600601b
| Author | SHA1 | Date | |
|---|---|---|---|
|
df0600601b
|
|||
|
6eb4b228ff
|
|||
|
c020c969d0
|
|||
|
cf25eb2ad6
|
30
flake.lock
generated
30
flake.lock
generated
@@ -8,11 +8,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738453229,
|
"lastModified": 1741352980,
|
||||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -46,11 +46,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741955947,
|
"lastModified": 1743360001,
|
||||||
"narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=",
|
"narHash": "sha256-HtpS/ZdgWXw0y+aFdORcX5RuBGTyz3WskThspNR70SM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4",
|
"rev": "b6fd653ef8fbeccfd4958650757e91767a65506d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -127,11 +127,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742069588,
|
"lastModified": 1743315132,
|
||||||
"narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=",
|
"narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5",
|
"rev": "52faf482a3889b7619003c0daec593a1912fddc1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -150,11 +150,11 @@
|
|||||||
"nuschtosSearch": "nuschtosSearch"
|
"nuschtosSearch": "nuschtosSearch"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741814789,
|
"lastModified": 1743362786,
|
||||||
"narHash": "sha256-NbHsnnNwiYUcUaS4z8XK2tYpo3G8NXEKxaKkzMgMiLk=",
|
"narHash": "sha256-XbXIRDbb8/vLBX1M096l7lM5wfzBTp1ZXfUl9bUhVGU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "33097dcf776d1fad0ff3842096c4e3546312f251",
|
"rev": "d81f37256d0a8691b837b74979d27bf89be8ecdd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -173,11 +173,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738508923,
|
"lastModified": 1742659553,
|
||||||
"narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=",
|
"narHash": "sha256-i/JCrr/jApVorI9GkSV5to+USrRCa0rWuQDH8JSlK2A=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "86e2038290859006e05ca7201425ea5b5de4aecb",
|
"rev": "508752835128a3977985a4d5225ff241f7756181",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixVersions.git;
|
package = pkgs.nixVersions.latest;
|
||||||
settings.experimental-features = [
|
settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
@@ -61,8 +61,9 @@
|
|||||||
|
|
||||||
services = {
|
services = {
|
||||||
ollama = {
|
ollama = {
|
||||||
enable = false;
|
enable = true;
|
||||||
acceleration = "rocm";
|
acceleration = "rocm";
|
||||||
|
rocmOverrideGfx = "10.3.0";
|
||||||
};
|
};
|
||||||
|
|
||||||
printing = {
|
printing = {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -38,9 +38,14 @@
|
|||||||
mergetool.enable = true;
|
mergetool.enable = true;
|
||||||
trouble.enable = true;
|
trouble.enable = true;
|
||||||
undotree.enable = true;
|
undotree.enable = true;
|
||||||
|
aerial.enable = true;
|
||||||
base = {
|
base = {
|
||||||
completion.enable = true;
|
completion = {
|
||||||
|
enable = true;
|
||||||
|
copilot = true;
|
||||||
|
};
|
||||||
diagnostics.enable = true;
|
diagnostics.enable = true;
|
||||||
|
coverage.enable = true;
|
||||||
find.enable = true;
|
find.enable = true;
|
||||||
formatting = {
|
formatting = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -82,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;
|
||||||
@@ -129,7 +100,6 @@
|
|||||||
line_numbers = false;
|
line_numbers = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
none-ls.settings.debug = true;
|
|
||||||
|
|
||||||
lsp.servers = {
|
lsp.servers = {
|
||||||
html.enable = true;
|
html.enable = true;
|
||||||
@@ -141,10 +111,5 @@
|
|||||||
jsonls.enable = true;
|
jsonls.enable = true;
|
||||||
taplo.enable = true;
|
taplo.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
copilot-lua = {
|
|
||||||
enable = true;
|
|
||||||
settings.suggestion.auto_trigger = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
64
modules/home-manager/programs/nixvim/presets/aerial.nix
Normal file
64
modules/home-manager/programs/nixvim/presets/aerial.nix
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.presets.aerial;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.presets.aerial = {
|
||||||
|
enable = lib.mkEnableOption "aerial";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "<C-Up>";
|
||||||
|
action = # vim
|
||||||
|
":AerialPrev<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<C-Down>";
|
||||||
|
action = # vim
|
||||||
|
":AerialNext<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "fs";
|
||||||
|
mode = "n";
|
||||||
|
action = # vim
|
||||||
|
":Telescope aerial<CR>";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
plugins = {
|
||||||
|
aerial = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
autojump = true;
|
||||||
|
highlight_on_jump = false;
|
||||||
|
filter_kind = false;
|
||||||
|
open_automatic = false;
|
||||||
|
show_guides = true;
|
||||||
|
backends = [
|
||||||
|
"lsp"
|
||||||
|
"treesitter"
|
||||||
|
"markdown"
|
||||||
|
"asciidoc"
|
||||||
|
"man"
|
||||||
|
];
|
||||||
|
layout = {
|
||||||
|
placement = "edge";
|
||||||
|
direction = "right";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
which-key.settings.spec = [
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "fs";
|
||||||
|
group = "Symbols";
|
||||||
|
icon = "";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,99 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.presets.base.coverage;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.presets.base.coverage = {
|
||||||
|
enable = lib.mkEnableOption "coverage";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "<leader>cs";
|
||||||
|
action = # vim
|
||||||
|
":CoverageSummary<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>cr";
|
||||||
|
action = # vim
|
||||||
|
":CoverageClear<CR>:CoverageLoad<CR>:CoverageShow<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>ch";
|
||||||
|
action = # vim
|
||||||
|
":CoverageHide<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>cc";
|
||||||
|
action = # vim
|
||||||
|
":CoverageShow<CR>";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
autoCmd = [
|
||||||
|
{
|
||||||
|
event = [ "BufEnter" ];
|
||||||
|
callback.__raw = # lua
|
||||||
|
''
|
||||||
|
function()
|
||||||
|
local ftype = vim.bo.filetype
|
||||||
|
local ok, lang = pcall(require, "coverage.languages." .. ftype)
|
||||||
|
if not ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local config = require("coverage.config")
|
||||||
|
local util = require("coverage.util")
|
||||||
|
local Path = require("plenary.path")
|
||||||
|
local ft_config = config.opts.lang[ftype]
|
||||||
|
if ft_config == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local p = Path:new(util.get_coverage_file(ft_config.coverage_file))
|
||||||
|
if not p:exists() then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
require("coverage").load(true)
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
plugins = {
|
||||||
|
coverage = {
|
||||||
|
enable = true;
|
||||||
|
autoReload = true;
|
||||||
|
};
|
||||||
|
which-key.settings.spec = [
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "<leader>c";
|
||||||
|
desc = "Coverage";
|
||||||
|
icon = "";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "<leader>cs";
|
||||||
|
desc = "Summary";
|
||||||
|
icon = "";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "<leader>cr";
|
||||||
|
desc = "Reload";
|
||||||
|
icon = "";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "<leader>ch";
|
||||||
|
desc = "Hide";
|
||||||
|
icon = "";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "<leader>cc";
|
||||||
|
desc = "Show";
|
||||||
|
icon = "";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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 ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,36 +13,48 @@ in
|
|||||||
telescope = {
|
telescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keymaps = {
|
keymaps = {
|
||||||
"<leader>ff" = "git_files";
|
"ff" = {
|
||||||
"<leader>fa" = "find_files";
|
action = "git_files";
|
||||||
"<leader>fg" = "live_grep";
|
mode = "n";
|
||||||
"<leader>fb" = "buffers";
|
};
|
||||||
|
"fa" = {
|
||||||
|
action = "find_files";
|
||||||
|
mode = "n";
|
||||||
|
};
|
||||||
|
"fg" = {
|
||||||
|
action = "live_grep";
|
||||||
|
mode = "n";
|
||||||
|
};
|
||||||
|
"fc" = {
|
||||||
|
action = "buffers";
|
||||||
|
mode = "n";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
which-key.settings.spec = [
|
which-key.settings.spec = [
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "<leader>f";
|
__unkeyed-1 = "f";
|
||||||
group = "Find";
|
group = "Find";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "<leader>ff";
|
__unkeyed-1 = "ff";
|
||||||
desc = "File";
|
desc = "File";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "<leader>fa";
|
__unkeyed-1 = "fa";
|
||||||
desc = "Untracked Files";
|
desc = "All Files";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "<leader>fg";
|
__unkeyed-1 = "fg";
|
||||||
desc = "Grep";
|
desc = "Grep";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "<leader>fb";
|
__unkeyed-1 = "fc";
|
||||||
desc = "Buffer";
|
desc = "Current";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -10,12 +10,10 @@ in
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
keymaps = [
|
keymaps = [
|
||||||
{
|
{
|
||||||
key = "<leader>ft";
|
key = "ft";
|
||||||
action = "<cmd>:Neotree toggle<CR>";
|
mode = "n";
|
||||||
}
|
action = # vim
|
||||||
{
|
"<cmd>:Neotree toggle<CR>";
|
||||||
key = "<leader>ss";
|
|
||||||
action = "<cmd>:Neotree document_symbols right toggle<CR>";
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
plugins = {
|
plugins = {
|
||||||
@@ -27,8 +25,9 @@ in
|
|||||||
followCurrentFile.enabled = true;
|
followCurrentFile.enabled = true;
|
||||||
filteredItems.visible = true;
|
filteredItems.visible = true;
|
||||||
};
|
};
|
||||||
extraSources = [ "document_symbols" ];
|
popupBorderStyle = "rounded";
|
||||||
popupBorderStyle = "solid";
|
filesystem.window.mappings.f = "noop";
|
||||||
|
window.mappings.f = "noop";
|
||||||
eventHandlers.neo_tree_buffer_leave = # lua
|
eventHandlers.neo_tree_buffer_leave = # lua
|
||||||
''
|
''
|
||||||
function()
|
function()
|
||||||
@@ -38,15 +37,10 @@ in
|
|||||||
};
|
};
|
||||||
which-key.settings.spec = [
|
which-key.settings.spec = [
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "<leader>ft";
|
__unkeyed-1 = "ft";
|
||||||
desc = "Tree";
|
desc = "Tree";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
__unkeyed-1 = "<leader>ss";
|
|
||||||
desc = "Document Symbols";
|
|
||||||
icon = "";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
|
./aerial.nix
|
||||||
./auto-save.nix
|
./auto-save.nix
|
||||||
./auto-format.nix
|
./auto-format.nix
|
||||||
./harpoon.nix
|
./harpoon.nix
|
||||||
@@ -15,6 +16,7 @@
|
|||||||
./undotree.nix
|
./undotree.nix
|
||||||
|
|
||||||
./base/completion.nix
|
./base/completion.nix
|
||||||
|
./base/coverage.nix
|
||||||
./base/diagnostics.nix
|
./base/diagnostics.nix
|
||||||
./base/find.nix
|
./base/find.nix
|
||||||
./base/formatting.nix
|
./base/formatting.nix
|
||||||
|
|||||||
@@ -82,6 +82,10 @@ hi! ErrorMsg guibg={{colors.danger_container.default.hex}} guifg={{colors.on_dan
|
|||||||
hi! WarningMsg guibg={{colors.warning_container.default.hex}} guifg={{colors.on_warning_container.default.hex}}
|
hi! WarningMsg guibg={{colors.warning_container.default.hex}} guifg={{colors.on_warning_container.default.hex}}
|
||||||
hi! NvimInternalError guibg={{colors.danger.default.hex}} guifg={{colors.on_danger.default.hex}}
|
hi! NvimInternalError guibg={{colors.danger.default.hex}} guifg={{colors.on_danger.default.hex}}
|
||||||
|
|
||||||
|
hi! CoverageCovered guifg={{colors.success.default.hex}}
|
||||||
|
hi! CoverageUncovered guifg={{colors.danger.default.hex}}
|
||||||
|
hi! CoveragePartial guifg={{colors.warning.default.hex}}
|
||||||
|
|
||||||
hi! DiagnosticError guifg={{colors.danger.default.hex}}
|
hi! DiagnosticError guifg={{colors.danger.default.hex}}
|
||||||
hi! DiagnosticWarn guifg={{colors.warning.default.hex}}
|
hi! DiagnosticWarn guifg={{colors.warning.default.hex}}
|
||||||
hi! DiagnosticInfo guifg={{colors.info.default.hex}}
|
hi! DiagnosticInfo guifg={{colors.info.default.hex}}
|
||||||
@@ -204,12 +208,13 @@ hi! link @keyword.import.cpp PreProc
|
|||||||
hi! Type gui=none guifg={{colors.types.default.hex}}
|
hi! Type gui=none guifg={{colors.types.default.hex}}
|
||||||
hi! link @lsp.type.interface Type
|
hi! link @lsp.type.interface Type
|
||||||
|
|
||||||
|
hi! link AerialLine CursorLine
|
||||||
hi! IlluminatedWordText gui=none guibg={{colors.surface_container_highest.default.hex}}
|
hi! IlluminatedWordText gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||||
hi! IlluminatedWordRead gui=none guibg={{colors.surface_container_highest.default.hex}}
|
hi! IlluminatedWordRead gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||||
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": {
|
||||||
|
|||||||
Reference in New Issue
Block a user