started neovim-min
This commit is contained in:
+151
-133
@@ -6,153 +6,171 @@
|
||||
};
|
||||
};
|
||||
|
||||
perSystem = { system, pkgs, config, ... }: {
|
||||
packages.my-neovim = ((inputs.nvf.lib.neovimConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [
|
||||
{
|
||||
# https://nvf.notashelf.dev/search.html
|
||||
config.vim = {
|
||||
options = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
expandtab = true;
|
||||
shiftwidth = 4;
|
||||
tabstop = 4;
|
||||
softtabstop = 4;
|
||||
perSystem = { system, pkgs, config, ... }:
|
||||
let
|
||||
commonNeovimModule = {
|
||||
config.vim = {
|
||||
options = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
expandtab = true;
|
||||
shiftwidth = 4;
|
||||
tabstop = 4;
|
||||
softtabstop = 4;
|
||||
|
||||
wrap = true;
|
||||
linebreak = true;
|
||||
};
|
||||
wrap = true;
|
||||
linebreak = true;
|
||||
};
|
||||
|
||||
syntaxHighlighting = true;
|
||||
syntaxHighlighting = true;
|
||||
|
||||
# Enable custom theming options
|
||||
theme.enable = true;
|
||||
theme.name = "catppuccin";
|
||||
theme.style = "mocha";
|
||||
theme.enable = true;
|
||||
theme.name = "catppuccin";
|
||||
theme.style = "mocha";
|
||||
|
||||
git.enable = true;
|
||||
# git.neogit.enable = true;
|
||||
git.enable = true;
|
||||
# git.neogit.enable = true;
|
||||
|
||||
# https://github.com/akinsho/toggleterm.nvim
|
||||
terminal.toggleterm.enable = true;
|
||||
terminal.toggleterm.lazygit.enable = true;
|
||||
terminal.toggleterm.lazygit.direction = "float";
|
||||
terminal.toggleterm.lazygit.mappings.open = "<C-g>";
|
||||
# https://github.com/akinsho/toggleterm.nvim
|
||||
terminal.toggleterm.enable = true;
|
||||
terminal.toggleterm.lazygit.enable = true;
|
||||
terminal.toggleterm.lazygit.direction = "float";
|
||||
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;
|
||||
utility.oil-nvim.gitStatus.enable = true;
|
||||
nix.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 = {
|
||||
enable = true;
|
||||
};
|
||||
utility.oil-nvim.enable = true;
|
||||
utility.oil-nvim.gitStatus.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 ];
|
||||
};
|
||||
|
||||
lsp.enable = true;
|
||||
|
||||
languages = {
|
||||
enableTreesitter = true;
|
||||
enableFormat = true;
|
||||
|
||||
markdown = {
|
||||
filetree.neo-tree = {
|
||||
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;
|
||||
css.enable = true;
|
||||
yaml.enable = true;
|
||||
toml.enable = true;
|
||||
|
||||
nix = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
python = {
|
||||
enable = true;
|
||||
dap.enable = true;
|
||||
format.type = [ "ruff" ];
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
desc = "Edit key mappings";
|
||||
key = "<leader>ekm";
|
||||
mode = [ "n" ];
|
||||
silent = false;
|
||||
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 = "1.0.0";
|
||||
});
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
desc = "Edit key mappings";
|
||||
key = "<leader>ekm";
|
||||
mode = [ "n" ];
|
||||
silent = false;
|
||||
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";
|
||||
});
|
||||
};
|
||||
packages.neovim-min = ((inputs.nvf.lib.neovimConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ commonNeovimModule ];
|
||||
}).neovim).overrideAttrs (old: {
|
||||
pname = "neovim-min";
|
||||
version = "1.0.0";
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user