neovim: move from module to user config

This commit is contained in:
Jordan Holt 2025-03-16 14:10:17 +00:00
parent c1f28192a0
commit 7879fda102
Signed by: jordan
GPG Key ID: B8CFFF61F1CCF520
9 changed files with 133 additions and 152 deletions

View File

@ -29,7 +29,6 @@
vector.enable = true; vector.enable = true;
}; };
libreoffice.enable = true; libreoffice.enable = true;
neovim.enable = true;
pass.enable = true; pass.enable = true;
qbittorrent.enable = true; qbittorrent.enable = true;
thunderbird.enable = true; thunderbird.enable = true;

View File

@ -27,7 +27,6 @@
modules = { modules = {
programs = { programs = {
firefox.enable = true; firefox.enable = true;
neovim.enable = true;
pass.enable = true; pass.enable = true;
qbittorrent.enable = true; qbittorrent.enable = true;
}; };

View File

@ -28,7 +28,6 @@
modules = { modules = {
programs = { programs = {
firefox.enable = true; firefox.enable = true;
neovim.enable = true;
pass.enable = true; pass.enable = true;
qbittorrent.enable = true; qbittorrent.enable = true;
}; };

View File

@ -51,7 +51,6 @@
modules = { modules = {
programs = { programs = {
firefox.enable = true; firefox.enable = true;
neovim.enable = true;
pass.enable = true; pass.enable = true;
recording = { recording = {
audio.enable = true; audio.enable = true;

View File

@ -71,7 +71,6 @@
libreoffice.enable = true; libreoffice.enable = true;
lutris.enable = true; lutris.enable = true;
pass.enable = true; pass.enable = true;
neovim.enable = true;
qbittorrent.enable = true; qbittorrent.enable = true;
recording = { recording = {
audio.enable = true; audio.enable = true;

View File

@ -8,7 +8,6 @@
./programs/graphics.nix ./programs/graphics.nix
./programs/libreoffice.nix ./programs/libreoffice.nix
./programs/lutris.nix ./programs/lutris.nix
./programs/neovim.nix
./programs/pass.nix ./programs/pass.nix
./programs/qbittorrent.nix ./programs/qbittorrent.nix
./programs/recording.nix ./programs/recording.nix

View File

@ -1,146 +0,0 @@
{
config,
lib,
...
}:
let
cfg = config.modules.programs.neovim;
in
{
options.modules.programs.neovim = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
home.programs.nixvim.config = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
options = {
number = true;
tabstop = 2;
shiftwidth = 2;
expandtab = true;
foldlevel = 99;
splitbelow = true;
splitright = true;
undofile = true;
updatetime = 100;
list = true;
};
globals = {
mapleader = ",";
maplocalleader = ",";
};
clipboard = {
register = "unnamedplus";
providers.wl-copy.enable = true;
};
plugins.comment.enable = true;
plugins.hmts.enable = true;
plugins.lightline.enable = true;
plugins.luasnip.enable = true;
plugins.lsp = {
enable = true;
servers = {
bashls.enable = true;
ccls.enable = true;
cssls.enable = true;
eslint.enable = true;
gopls.enable = true;
html.enable = true;
lua_ls.enable = true;
pylsp.enable = true;
nixd.enable = true;
rust_analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
ts_ls.enable = true;
};
};
plugins.nvim-autopairs.enable = true;
plugins.cmp = {
enable = true;
autoEnableSources = true;
settings = {
sources = [
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
];
mapping = {
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
"<CR>" = "cmp.mapping.confirm({ select = true })";
};
};
};
plugins.telescope = {
enable = true;
keymaps = {
"<leader>ff" = "find_files";
"<leader>fg" = "live_grep";
"<leader>b" = "buffers";
"<leader>fh" = "help_tags";
"<C-p>" = "git_files";
"<C-f>" = "live_grep";
};
};
plugins.treesitter = {
enable = true;
nixvimInjections = true;
folding = true;
settings.indent.enable = true;
};
plugins.treesitter-refactor = {
enable = true;
highlightDefinitions = {
enable = true;
clearOnCursorMove = false;
};
};
plugins.undotree.enable = true;
plugins.web-devicons.enable = true;
# plugins.gitsigns.enable = true;
# plugins.gitgutter.enable = true;
# plugins.goyo.enable = true;
# plugins.fugitive.enable = true;
# plugins.fzf-lua.enable = true;
# plugins.neo-tree.enable = true;
# plugins.none-ls.enable = true;
# plugins.nvim-tree.enable = true;
# plugins.oil.enable = true;
# plugins.project-nvim.enable = true;
# plugins.surround.enable = true;
};
env.EDITOR = "nvim";
};
}

View File

@ -33,6 +33,7 @@ in
imports = [ imports = [
./git.nix ./git.nix
./gpg.nix ./gpg.nix
./neovim.nix
./shell.nix ./shell.nix
]; ];

132
users/jordan/neovim.nix Normal file
View File

@ -0,0 +1,132 @@
{
...
}:
{
home.programs.nixvim.config = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
options = {
number = true;
tabstop = 2;
shiftwidth = 2;
expandtab = true;
foldlevel = 99;
splitbelow = true;
splitright = true;
undofile = true;
updatetime = 100;
list = true;
};
globals = {
mapleader = ",";
maplocalleader = ",";
};
clipboard = {
register = "unnamedplus";
providers.wl-copy.enable = true;
};
plugins.comment.enable = true;
plugins.hmts.enable = true;
plugins.lightline.enable = true;
plugins.luasnip.enable = true;
plugins.lsp = {
enable = true;
servers = {
bashls.enable = true;
ccls.enable = true;
cssls.enable = true;
eslint.enable = true;
gopls.enable = true;
html.enable = true;
lua_ls.enable = true;
pylsp.enable = true;
nixd.enable = true;
rust_analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
ts_ls.enable = true;
};
};
plugins.nvim-autopairs.enable = true;
plugins.cmp = {
enable = true;
autoEnableSources = true;
settings = {
sources = [
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
];
mapping = {
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
"<CR>" = "cmp.mapping.confirm({ select = true })";
};
};
};
plugins.telescope = {
enable = true;
keymaps = {
"<leader>ff" = "find_files";
"<leader>fg" = "live_grep";
"<leader>b" = "buffers";
"<leader>fh" = "help_tags";
"<C-p>" = "git_files";
"<C-f>" = "live_grep";
};
};
plugins.treesitter = {
enable = true;
nixvimInjections = true;
folding = true;
settings.indent.enable = true;
};
plugins.treesitter-refactor = {
enable = true;
highlightDefinitions = {
enable = true;
clearOnCursorMove = false;
};
};
plugins.undotree.enable = true;
plugins.web-devicons.enable = true;
# plugins.gitsigns.enable = true;
# plugins.gitgutter.enable = true;
# plugins.goyo.enable = true;
# plugins.fugitive.enable = true;
# plugins.fzf-lua.enable = true;
# plugins.neo-tree.enable = true;
# plugins.none-ls.enable = true;
# plugins.nvim-tree.enable = true;
# plugins.oil.enable = true;
# plugins.project-nvim.enable = true;
# plugins.surround.enable = true;
};
home.sessionVariables.EDITOR = "nvim";
}