Add nixvim module to config basic option for neovim

This commit is contained in:
ulic-youthlic 2025-06-03 17:29:02 +08:00
parent 07dcd7e606
commit 317a2b4a28
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
7 changed files with 259 additions and 25 deletions

View file

@ -46,6 +46,7 @@
};
programs = {
bash.enable = true;
nixvim.enable = true;
guix.enable = true;
dae.enable = true;
openssh.enable = true;

View file

@ -28,5 +28,6 @@
./obs.nix
./sudo-rs.nix
./garage.nix
./nixvim
];
}

View file

@ -0,0 +1,25 @@
{
lib,
config,
...
}: let
cfg = config.youthlic.programs.nixvim;
in {
imports = [./option.nix];
options = {
youthlic.programs.nixvim = {
enable = lib.mkEnableOption "nixvim";
};
};
config = lib.mkIf cfg.enable {
programs.nixvim = {
enable = true;
enableMan = true;
colorschemes.gruvbox-material = {
enable = true;
autoLoad = true;
};
plugins.lualine.enable = true;
};
};
}

View file

@ -0,0 +1,42 @@
{
lib,
config,
...
}: let
cfg = config.youthlic.programs.nixvim;
in {
config = lib.mkIf cfg.enable {
programs.nixvim = {
opts = {
backspace = ["indent" "eol" "start"];
tabstop = 4;
shiftwidth = 4;
expandtab = true;
shiftround = true;
autoindent = true;
nu = true;
rnu = true;
wildmenu = true;
hlsearch = false;
ignorecase = true;
smartcase = true;
completeopt = ["menu" "noselect"];
cursorline = true;
termguicolors = true;
signcolumn = "yes";
autoread = true;
title = true;
swapfile = false;
backup = false;
updatetime = 50;
mouse = "a";
undofile = true;
exrc = true;
scrolloff = 5;
wrap = true;
splitright = true;
splitbelow = true;
};
};
};
}

View file

@ -12,6 +12,7 @@
disko.nixosModules.disko
lix-module.nixosModules.default
chaotic.nixosModules.default
nixvim.nixosModules.nixvim
./..
];