diff --git a/modules/features/nvf.nix b/modules/features/nvf.nix index 62de893..231e07a 100644 --- a/modules/features/nvf.nix +++ b/modules/features/nvf.nix @@ -1,141 +1,150 @@ +{ inputs, ... }: { + flake.nixosModules.nvf = {pkgs, ...}: { + environment.systemPackages = [ + ]; + imports = [ + inputs.nvf.nixosModules.default + ]; -{ pkgs, inputs, ... }: { - flake.nixosModules.nvf = {pkgs, ...}: { - environment.systemPackages = [ - ]; - imports = [ - inputs.nvf.nixosModules.default - ]; + programs.nvf = { + enable = true; + settings.vim = { + statusline.lualine.enable = true; + telescope.enable = true; + autocomplete.nvim-cmp.enable = true; + lsp.enable = true; + git.vim-fugitive.enable = true; + autopairs.nvim-autopairs.enable = true; + spellcheck.enable = true; + navigation.harpoon.enable = true; + visuals.nvim-web-devicons.enable = true; + notes.todo-comments.enable = true; - programs.nvf = { - enable = true; - settings.vim = { - theme.enable = true; - theme.name = "tokyonight"; - theme.style = "night"; - #netrw.enable = true; + utility = { + undotree.enable = true; + oil-nvim.enable = true; + snacks-nvim.enable = true; + }; - statusline.lualine.enable = true; - telescope.enable = true; - autocomplete.nvim-cmp.enable = true; - lsp.enable = true; - git.vim-fugitive.enable = true; - autopairs.nvim-autopairs.enable = true; - spellcheck.enable = true; - navigation.harpoon.enable = true; - visuals.nvim-web-devicons.enable = true; - notes.todo-comments.enable = true; + languages = { + enableTreesitter = true; - utility = { - undotree.enable = true; - oil-nvim.enable = true; - snacks-nvim.enable = true; + nix.enable = true; + go.enable = true; + lua.enable = true; + typst.enable = true; + }; + + lazy.plugins = { + "kanagawa.nvim" = { + package = pkgs.vimPlugins.kanagawa-nvim; + setupModule = "kanagawa"; + setupOpts = { + transparent = true; + dimInactive = false; + }; + + after = "vim.cmd(\"colorscheme kanagawa\")"; + }; + }; + + opts = { + tabstop = 4; + softtabstop = 4; + shiftwidth = 4; + expandtab = true; + smartindent = true; + smartcase = true; + ignorecase = true; + wrap = false; + updatetime = 50; + termguicolors = true; + mouse = "a"; + cursorline = true; + pumheight = 16; + winborder = "single"; + swapfile = false; + backup = false; + hlsearch = false; + incsearch = true; + scrolloff = 8; + scroll = 6; + signcolumn = "yes"; + colorcolumn = "80"; + }; + + keymaps = [ + { + key = "pv"; + mode = "n"; + silent = true; + lua = true; + action = "vim.cmd.Ex"; + } + { + key = "u"; + mode = "n"; + silent = true; + lua = true; + action = "vim.cmd.UndotreeToggle"; + } + { + key = "y"; + mode = "n"; + silent = true; + action = "\"+y"; + } + { + key = "y"; + mode = "v"; + silent = true; + action = "\"+y"; + } + { + key = "Y"; + mode = "n"; + silent = true; + action = "\"+Y"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "zz"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "zz"; + } + { + key = "n"; + mode = "n"; + silent = true; + action = "nzzzv"; + } + { + key = "N"; + mode = "n"; + silent = true; + action = "Nzzzv"; + } + { + key = "J"; + mode = "n"; + silent = true; + action = "mzJ`z"; + } + { + key = "gs"; + mode = "n"; + silent = true; + lua = true; + action = "vim.cmd.Git"; + } + ]; }; - - languages = { - enableTreesitter = true; - - nix.enable = true; - go.enable = true; - lua.enable = true; - }; - opts = { - tabstop = 4; - softtabstop = 4; - shiftwidth = 4; - expandtab = true; - smartindent = true; - smartcase = true; - ignorecase = true; - wrap = false; - updatetime = 50; - termguicolors = true; - mouse = "a"; - cursorline = true; - pumheight = 16; - winborder = "single"; - swapfile = false; - backup = false; - hlsearch = false; - incsearch = true; - scrolloff = 8; - scroll = 6; - signcolumn = "yes"; - colorcolumn = "80"; - }; - keymaps = [ - { - key = "pv"; - mode = "n"; - silent = true; - lua = true; - action = "vim.cmd.Ex"; - } - { - key = "u"; - mode = "n"; - silent = true; - lua = true; - action = "vim.cmd.UndotreeToggle"; - } - { - key = "y"; - mode = "n"; - silent = true; - action = "\"+y"; - } - { - key = "y"; - mode = "v"; - silent = true; - action = "\"+y"; - } - { - key = "Y"; - mode = "n"; - silent = true; - action = "\"+Y"; - } - { - key = ""; - mode = "n"; - silent = true; - action = "zz"; - } - { - key = ""; - mode = "n"; - silent = true; - action = "zz"; - } - { - key = "n"; - mode = "n"; - silent = true; - action = "nzzzv"; - } - { - key = "N"; - mode = "n"; - silent = true; - action = "Nzzzv"; - } - { - key = "J"; - mode = "n"; - silent = true; - action = "mzJ`z"; - } - { - key = "gs"; - mode = "n"; - silent = true; - lua = true; - action = "vim.cmd.Git"; - } - ]; }; - }; - }; }