started neovim-min

This commit is contained in:
John Lancaster
2026-05-06 22:05:02 -05:00
parent d64ce644c3
commit 6b8727b29d
2 changed files with 153 additions and 134 deletions
+151 -133
View File
@@ -6,153 +6,171 @@
}; };
}; };
perSystem = { system, pkgs, config, ... }: { perSystem = { system, pkgs, config, ... }:
packages.my-neovim = ((inputs.nvf.lib.neovimConfiguration { let
inherit pkgs; commonNeovimModule = {
modules = [ config.vim = {
{ options = {
# https://nvf.notashelf.dev/search.html number = true;
config.vim = { relativenumber = true;
options = { expandtab = true;
number = true; shiftwidth = 4;
relativenumber = true; tabstop = 4;
expandtab = true; softtabstop = 4;
shiftwidth = 4;
tabstop = 4;
softtabstop = 4;
wrap = true; wrap = true;
linebreak = true; linebreak = true;
}; };
syntaxHighlighting = true; syntaxHighlighting = true;
# Enable custom theming options theme.enable = true;
theme.enable = true; theme.name = "catppuccin";
theme.name = "catppuccin"; theme.style = "mocha";
theme.style = "mocha";
git.enable = true; git.enable = true;
# git.neogit.enable = true; # git.neogit.enable = true;
# https://github.com/akinsho/toggleterm.nvim # https://github.com/akinsho/toggleterm.nvim
terminal.toggleterm.enable = true; terminal.toggleterm.enable = true;
terminal.toggleterm.lazygit.enable = true; terminal.toggleterm.lazygit.enable = true;
terminal.toggleterm.lazygit.direction = "float"; terminal.toggleterm.lazygit.direction = "float";
terminal.toggleterm.lazygit.mappings.open = "<C-g>"; terminal.toggleterm.lazygit.mappings.open = "<C-g>";
lsp.enable = true;
utility.nix-develop.enable = true; languages = {
enableTreesitter = true;
enableFormat = true;
utility.oil-nvim.enable = true; nix.enable = true;
utility.oil-nvim.gitStatus.enable = true; yaml.enable = true;
toml.enable = true;
};
};
};
in {
packages.my-neovim = ((inputs.nvf.lib.neovimConfiguration {
inherit pkgs;
modules = [
commonNeovimModule
{
# https://nvf.notashelf.dev/search.html
config.vim = {
utility.nix-develop.enable = true;
filetree.neo-tree = { utility.oil-nvim.enable = true;
enable = true; utility.oil-nvim.gitStatus.enable = true;
};
# lazy = { filetree.neo-tree = {
# enable = true;
# };
# globals = {
# SimpylFold_docstring_preview = 1;
# SimpylFold_fold_blank = 0;
# };
# extraPlugins = with pkgs.vimPlugins; {
# SimpylFold.package = SimpylFold;
# };
telescope = {
enable = true;
extensions = [
{
name = "fzf";
packages = [pkgs.vimPlugins.telescope-fzf-native-nvim];
setup = {fzf = {fuzzy = true;};};
}
];
};
# Enable Treesitter
treesitter = {
enable = true;
grammars = with pkgs.vimPlugins.nvim-treesitter-parsers; [ python ];
};
lsp.enable = true;
languages = {
enableTreesitter = true;
enableFormat = true;
markdown = {
enable = true; enable = true;
extensions = { };
# render-markdown-nvim.enable = true;
markview-nvim.enable = true; # lazy = {
# enable = true;
# };
# globals = {
# SimpylFold_docstring_preview = 1;
# SimpylFold_fold_blank = 0;
# };
# extraPlugins = with pkgs.vimPlugins; {
# SimpylFold.package = SimpylFold;
# };
telescope = {
enable = true;
extensions = [
{
name = "fzf";
packages = [ pkgs.vimPlugins.telescope-fzf-native-nvim ];
setup = {
fzf = {
fuzzy = true;
};
};
}
];
};
# Enable Treesitter
treesitter = {
enable = true;
grammars = with pkgs.vimPlugins.nvim-treesitter-parsers; [ python ];
};
languages = {
markdown = {
enable = true;
extensions = {
# render-markdown-nvim.enable = true;
markview-nvim.enable = true;
};
};
bash.enable = true;
css.enable = true;
yaml.enable = true;
toml.enable = true;
python = {
enable = true;
dap.enable = true;
format.type = [ "ruff" ];
}; };
}; };
bash.enable = true; keymaps = [
css.enable = true; {
yaml.enable = true; desc = "Edit key mappings";
toml.enable = true; key = "<leader>ekm";
mode = [ "n" ];
nix = { silent = false;
enable = true; action = "<cmd>:edit +/keymaps /home/john/.config/home-manager/jsl-dendritic/modules/programs/neovim.nix<CR>";
}; }
{
python = { desc = "Home Manager Switch";
enable = true; key = "<leader>nhms";
dap.enable = true; mode = [ "n" ];
format.type = [ "ruff" ]; silent = false;
}; action = "<cmd>:TermExec cmd='clear && nhms && exit' name='Nix Home Manager Switch' direction=float<CR>";
}
{
desc = "Key Maps [Telescope]";
key = "<leader>fkm";
mode = "n";
silent = false;
action = "<cmd>:Telescope keymaps<CR>";
}
{
desc = "Toggle Filesystem Tree [NeoTree]";
key = "<C-b>";
mode = [ "n" "v" "t" ];
silent = false;
action = "<cmd>:Neotree toggle filesystem left action=show<CR>";
}
{
key = "<C-`>";
mode = [ "n" "v" "t" ];
silent = false;
action = "<cmd>:ToggleTerm<CR>";
}
];
}; };
}
];
}).neovim).overrideAttrs (old: {
pname = "my-neovim";
version = "1.0.0";
});
keymaps = [ packages.neovim-min = ((inputs.nvf.lib.neovimConfiguration {
{ inherit pkgs;
desc = "Edit key mappings"; modules = [ commonNeovimModule ];
key = "<leader>ekm"; }).neovim).overrideAttrs (old: {
mode = [ "n" ]; pname = "neovim-min";
silent = false; version = "1.0.0";
action = "<cmd>:edit +/keymaps /home/john/.config/home-manager/jsl-dendritic/modules/programs/neovim.nix<CR>"; });
} };
{
desc = "Home Manager Switch";
key = "<leader>nhms";
mode = [ "n" ];
silent = false;
action = "<cmd>:TermExec cmd='clear && nhms && exit' name='Nix Home Manager Switch' direction=float<CR>";
}
{
desc = "Key Maps [Telescope]";
key = "<leader>fkm";
mode = "n";
silent = false;
action = "<cmd>:Telescope keymaps<CR>";
}
{
desc = "Toggle Filesystem Tree [NeoTree]";
key = "<C-b>";
mode = [ "n" "v" "t" ];
silent = false;
action = "<cmd>:Neotree toggle filesystem left action=show<CR>";
}
{
key = "<C-`>";
mode = ["n" "v" "t"];
silent = false;
action = "<cmd>:ToggleTerm<CR>";
}
];
};
}
];
}).neovim).overrideAttrs (old: {
pname = "my-neovim";
version = "custom";
});
};
} }
+1
View File
@@ -137,6 +137,7 @@ in
extraPackages = with pkgs; [ extraPackages = with pkgs; [
lazydocker lazydocker
self'.packages.shell-tools self'.packages.shell-tools
self'.packages.neovim-min
]; ];
}).wrapper; }).wrapper;
}; };