mirror of
https://codeberg.org/muon/home.git
synced 2026-03-09 03:53:11 +00:00
Refactor terminal development
This commit is contained in:
parent
76d16b1348
commit
85c51ff9d0
7 changed files with 484 additions and 2133 deletions
144
modules/home/terminal/nvim/default.nix
Normal file
144
modules/home/terminal/nvim/default.nix
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
options.mods.nvim.enable =
|
||||
lib.mkEnableOption "enables nvim";
|
||||
|
||||
imports = [
|
||||
inputs.nvf.homeManagerModules.default
|
||||
./obsidian.nix
|
||||
];
|
||||
|
||||
config = lib.mkIf config.mods.nvim.enable {
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
vim = {
|
||||
viAlias = false;
|
||||
vimAlias = true;
|
||||
lsp = {
|
||||
enable = true;
|
||||
formatOnSave = true;
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
key = "<leader>w";
|
||||
mode = ["n"];
|
||||
action = ":w<CR>";
|
||||
silent = true;
|
||||
desc = "Save file";
|
||||
}
|
||||
{
|
||||
key = "<leader>q";
|
||||
mode = ["n"];
|
||||
action = ":q<CR>";
|
||||
silent = false;
|
||||
desc = "Quit";
|
||||
}
|
||||
{
|
||||
key = "gd";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "<cmd>lua vim.lsp.buf.definition()<CR>";
|
||||
desc = "Go to Definition";
|
||||
}
|
||||
];
|
||||
|
||||
languages = {
|
||||
enableFormat = true;
|
||||
enableTreesitter = true;
|
||||
enableExtraDiagnostics = true;
|
||||
|
||||
nix.enable = true;
|
||||
nix.lsp.servers = ["nixd"];
|
||||
|
||||
markdown.enable = true;
|
||||
bash.enable = true;
|
||||
rust.enable = true;
|
||||
rust.extensions.crates-nvim.enable = true;
|
||||
|
||||
python = {
|
||||
enable = true;
|
||||
lsp.servers = ["pyright"];
|
||||
format.type = ["ruff" "black"];
|
||||
};
|
||||
|
||||
clang = {
|
||||
enable = true;
|
||||
cHeader = true;
|
||||
};
|
||||
};
|
||||
|
||||
statusline.lualine.enable = true;
|
||||
telescope.enable = true;
|
||||
autocomplete.nvim-cmp.enable = true;
|
||||
autopairs.nvim-autopairs.enable = true;
|
||||
tabline.nvimBufferline.enable = true;
|
||||
treesitter.context.enable = true;
|
||||
dashboard.alpha.enable = true;
|
||||
comments.comment-nvim.enable = true;
|
||||
notes.todo-comments.enable = true;
|
||||
|
||||
clipboard = {
|
||||
enable = true;
|
||||
providers.xclip.enable = true;
|
||||
};
|
||||
|
||||
options = {
|
||||
tabstop = 2;
|
||||
shiftwidth = 0;
|
||||
conceallevel = 2;
|
||||
};
|
||||
|
||||
spellcheck = {enable = true;};
|
||||
|
||||
binds = {
|
||||
whichKey.enable = true;
|
||||
cheatsheet.enable = true;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
gitsigns.enable = true;
|
||||
gitsigns.codeActions.enable =
|
||||
false; # throws an annoying debug message
|
||||
};
|
||||
|
||||
utility = {
|
||||
diffview-nvim.enable = true;
|
||||
surround.enable = true;
|
||||
undotree.enable = true;
|
||||
|
||||
motion = {
|
||||
hop.enable = true;
|
||||
leap.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
visuals = {
|
||||
nvim-web-devicons.enable = true;
|
||||
nvim-cursorline.enable = true;
|
||||
cinnamon-nvim.enable = true;
|
||||
fidget-nvim.enable = true;
|
||||
|
||||
highlight-undo.enable = true;
|
||||
indent-blankline.enable = true;
|
||||
};
|
||||
|
||||
ui = {
|
||||
borders.enable = true;
|
||||
noice.enable = true;
|
||||
colorizer.enable = true;
|
||||
illuminate.enable = true;
|
||||
smartcolumn.enable = true;
|
||||
fastaction.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue