Modularize nixvim config
This commit is contained in:
@@ -2,6 +2,6 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./git.nix
|
./git.nix
|
||||||
./fish.nix
|
./fish.nix
|
||||||
./nixvim.nix
|
./nixvim
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,128 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
programs.nixvim = {
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
|
|
||||||
colorschemes.tokyonight.enable = true;
|
|
||||||
|
|
||||||
globals.mapleader = " ";
|
|
||||||
|
|
||||||
opts = {
|
|
||||||
number = true;
|
|
||||||
relativenumber = true;
|
|
||||||
showmode = false;
|
|
||||||
|
|
||||||
breakindent = true;
|
|
||||||
|
|
||||||
undofile = true;
|
|
||||||
|
|
||||||
ignorecase = true;
|
|
||||||
smartcase = true;
|
|
||||||
|
|
||||||
signcolumn = "yes";
|
|
||||||
|
|
||||||
updatetime = 250;
|
|
||||||
timeoutlen = 300;
|
|
||||||
|
|
||||||
splitright = true;
|
|
||||||
splitbelow = true;
|
|
||||||
|
|
||||||
list = true;
|
|
||||||
listchars = { tab = "» "; trail = "·"; nbsp = "␣"; };
|
|
||||||
|
|
||||||
inccommand = "split";
|
|
||||||
|
|
||||||
cursorline = true;
|
|
||||||
|
|
||||||
scrolloff = 10;
|
|
||||||
|
|
||||||
confirm = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<Esc>";
|
|
||||||
action = "<cmd>nohlsearch<CR>";
|
|
||||||
options.silent = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<C-h>";
|
|
||||||
action = "<C-w><C-h>";
|
|
||||||
options.desc = "Move focus to the left window";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<C-l>";
|
|
||||||
action = "<C-w><C-l>";
|
|
||||||
options.desc = "Move focus to the right window";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<C-k>";
|
|
||||||
action = "<C-w><C-k>";
|
|
||||||
options.desc = "Move focus to the upper window";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<C-j>";
|
|
||||||
action = "<C-w><C-j>";
|
|
||||||
options.desc = "Move focus to the lower window";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
plugins.lz-n.enable = true;
|
|
||||||
|
|
||||||
plugins.nvim-autopairs = {
|
|
||||||
enable = true;
|
|
||||||
lazyLoad = {
|
|
||||||
enable = true;
|
|
||||||
settings.event = "InsertEnter";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins.indent-blankline.enable = true;
|
|
||||||
|
|
||||||
plugins.lualine = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
options = { section_separators = ""; component_separators = ""; };
|
|
||||||
sections = {
|
|
||||||
lualine_b = [ { __unkeyed-1 = "branch"; icon = ""; } ];
|
|
||||||
lualine_c = [ "filename" ];
|
|
||||||
lualine_x = [ "filetype" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins.treesitter = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
auto_install = true;
|
|
||||||
highlight.enable = true;
|
|
||||||
indent.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins.which-key = {
|
|
||||||
enable = true;
|
|
||||||
lazyLoad = {
|
|
||||||
enable = true;
|
|
||||||
settings.event = "VimEnter";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
gcc
|
|
||||||
];
|
|
||||||
|
|
||||||
extraPlugins = with pkgs.vimPlugins; [
|
|
||||||
vim-sleuth
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./opts.nix
|
||||||
|
./keymaps.nix
|
||||||
|
./plugins
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
vimdiffAlias = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
|
||||||
|
colorschemes.tokyonight.enable = true;
|
||||||
|
|
||||||
|
globals.mapleader = " ";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.keymaps = [
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<Esc>";
|
||||||
|
action = "<cmd>nohlsearch<CR>";
|
||||||
|
options.silent = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-h>";
|
||||||
|
action = "<C-w><C-h>";
|
||||||
|
options.desc = "Move focus to the left window";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-l>";
|
||||||
|
action = "<C-w><C-l>";
|
||||||
|
options.desc = "Move focus to the right window";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-k>";
|
||||||
|
action = "<C-w><C-k>";
|
||||||
|
options.desc = "Move focus to the upper window";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-j>";
|
||||||
|
action = "<C-w><C-j>";
|
||||||
|
options.desc = "Move focus to the lower window";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.opts = {
|
||||||
|
number = true;
|
||||||
|
relativenumber = true;
|
||||||
|
showmode = false;
|
||||||
|
|
||||||
|
breakindent = true;
|
||||||
|
|
||||||
|
undofile = true;
|
||||||
|
|
||||||
|
ignorecase = true;
|
||||||
|
smartcase = true;
|
||||||
|
|
||||||
|
signcolumn = "yes";
|
||||||
|
|
||||||
|
updatetime = 250;
|
||||||
|
timeoutlen = 300;
|
||||||
|
|
||||||
|
splitright = true;
|
||||||
|
splitbelow = true;
|
||||||
|
|
||||||
|
list = true;
|
||||||
|
listchars = {
|
||||||
|
tab = "» ";
|
||||||
|
trail = "·";
|
||||||
|
nbsp = "␣";
|
||||||
|
};
|
||||||
|
|
||||||
|
inccommand = "split";
|
||||||
|
|
||||||
|
cursorline = true;
|
||||||
|
|
||||||
|
scrolloff = 10;
|
||||||
|
|
||||||
|
confirm = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
imports = [
|
||||||
|
./treesitter.nix
|
||||||
|
./lualine.nix
|
||||||
|
./nvim-autopairs.nix
|
||||||
|
./which-key.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins = {
|
||||||
|
lz-n.enable = true;
|
||||||
|
indent-blankline.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
vim-sleuth
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins.lualine = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
options = {
|
||||||
|
section_separators = "";
|
||||||
|
component_separators = "";
|
||||||
|
};
|
||||||
|
sections = {
|
||||||
|
lualine_b = [
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "branch";
|
||||||
|
icon = "";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
lualine_c = ["filename"];
|
||||||
|
lualine_x = ["filetype"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins.nvim-autopairs = {
|
||||||
|
enable = true;
|
||||||
|
lazyLoad = {
|
||||||
|
enable = true;
|
||||||
|
settings.event = "InsertEnter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins.treesitter = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
auto_install = true;
|
||||||
|
highlight.enable = true;
|
||||||
|
indent.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
gcc
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins.which-key = {
|
||||||
|
enable = true;
|
||||||
|
lazyLoad = {
|
||||||
|
enable = true;
|
||||||
|
settings.event = "VimEnter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user