aboutsummaryrefslogtreecommitdiff
path: root/modules/nvf.nix
diff options
context:
space:
mode:
authorschererleander <leander@schererleander.de>2025-05-11 02:07:58 +0200
committerschererleander <leander@schererleander.de>2025-05-11 02:07:58 +0200
commite1ccc891650e3494355e5bcc70254a8e2f5fbd0b (patch)
treece92d5acccb30d92ae443dedbf026e4e2b214ecd /modules/nvf.nix
parentaba1e0c7102c23d217f7a682b98df5fb1aac202e (diff)
use nvf
Diffstat (limited to 'modules/nvf.nix')
-rw-r--r--modules/nvf.nix90
1 files changed, 90 insertions, 0 deletions
diff --git a/modules/nvf.nix b/modules/nvf.nix
new file mode 100644
index 0000000..791b211
--- /dev/null
+++ b/modules/nvf.nix
@@ -0,0 +1,90 @@
+{ config, lib, pkgs, ... }:
+
+let
+ cfg = config.nvf;
+in {
+ options.nvf.enable = lib.mkEnableOption "Setup nvf";
+
+ config = lib.mkIf cfg.enable {
+ programs.nvf = {
+ enable = true;
+ settings = {
+ vim = {
+ theme.enable = true;
+ theme.name = "gruvbox";
+ theme.transparent = true;
+ theme.style = "dark";
+
+ options = {
+ tabstop = 2;
+ shiftwidth = 2;
+ expandtab = true;
+ autoindent = true;
+ mouse = "a";
+ };
+
+ telescope.enable = true;
+ autocomplete.nvim-cmp.enable = true;
+
+ mini = {
+ starter = {
+ enable = true;
+ setupOpts = {
+ header = " /l、 \n" +
+ "(゚、 。 7 \n" +
+ " l ~ ヽ \n" +
+ " じしf_,)ノ \n";
+ footer = " ";
+ };
+ };
+ };
+
+ autopairs.nvim-autopairs = {
+ enable = true;
+ };
+
+ git.enable = true;
+
+ lsp = {
+ enable = true;
+
+ formatOnSave = true;
+ lspkind.enable = true;
+ };
+
+ languages = {
+ enableTreesitter = true;
+
+ nix.enable = true;
+ };
+
+ visuals = {
+ nvim-web-devicons.enable = true;
+ };
+
+ snippets.luasnip.enable = true;
+
+ binds = {
+ whichKey.enable = true;
+ cheatsheet.enable = true;
+ };
+
+ ui = {
+ borders.enable = false;
+ };
+
+ autocmds = [
+ {
+ enable = true;
+ event = ["VimEnter"];
+ command = "highlight Statusline guibg=none | highlight StatuslineNC guibg=none";
+ desc = "Transparent statusline";
+ }
+ ];
+
+ statusline.lualine.enable = true;
+ };
+ };
+ };
+ };
+}