This commit is contained in:
muon 2025-08-03 10:24:30 +00:00
parent 7d6d9cfb7a
commit 8bf58d6f8f
3 changed files with 212 additions and 11 deletions

View file

@ -1,7 +1,15 @@
{ pkgs, lib, config, ... }: {
{
pkgs,
lib,
config,
inputs,
...
}: {
options.mods.terminal.development.enable =
lib.mkEnableOption "enables cli editor";
imports = [inputs.nvf.homeManagerModules.default];
config = lib.mkIf config.mods.terminal.development.enable {
home.packages = with pkgs; [
# Nix
@ -34,18 +42,18 @@
settings = {
keys.normal = {
"esc" = [ "collapse_selection" "keep_primary_selection" ];
"esc" = ["collapse_selection" "keep_primary_selection"];
"Z" = {
"Q" = ":quit!";
"Z" = ":write-quit!";
};
"V" = [ "select_mode" "extend_to_line_bounds" ];
"V" = ["select_mode" "extend_to_line_bounds"];
};
editor = {
line-number = "relative";
completion-replace = true;
bufferline = "always";
rulers = [ 80 ];
rulers = [80];
soft-wrap.enable = true;
indent-guides.render = true;
cursor-shape = {
@ -74,21 +82,117 @@
}
{
name = "glsl";
language-servers = [ "glsl" ];
language-servers = ["glsl"];
}
{
name = "wgsl";
language-servers = [ "wgsl" ];
language-servers = ["wgsl"];
}
{
name = "python";
auto-format = true;
formatter = {
command = "${pkgs.black}/bin/black";
args = [ "-" "--quiet" "--line-length=79" ];
args = ["-" "--quiet" "--line-length=79"];
};
}
];
};
programs.nvf = {
enable = true;
settings = {
vim = {
viAlias = false;
vimAlias = true;
lsp = {
enable = true;
formatOnSave = true;
};
languages = {
enableFormat = true;
enableTreesitter = true;
enableExtraDiagnostics = true;
nix.enable = true;
nix.lsp.server = "nixd";
markdown.enable = true;
bash.enable = true;
rust.enable = true;
rust.crates.enable = true;
python.enable = true;
clang.enable = 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 = {
# orgmode.enable = true;
todo-comments.enable = true;
};
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
};
terminal = {
toggleterm = {
enable = true;
lazygit.enable = true;
};
};
utility = {
diffview-nvim.enable = true;
surround.enable = true;
# multicursors.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;
};
};
};
};
};
}