1
0
Fork 0
forked from lukas/nixos-config
nixos-config/home/tnix/localModules/nixvim.nix
2025-10-19 13:39:32 +02:00

168 lines
3.9 KiB
Nix

{ pkgs, ... }:
let
nixvim = import (builtins.fetchGit {
url = "https://github.com/nix-community/nixvim";
# If you are not running an unstable channel of nixpkgs, select the corresponding branch of nixvim.
rev = "1c5c991fda4519db56c30c9d75ba29ba7097af83";
});
in
{
imports = [
nixvim.homeManagerModules.nixvim
];
programs.nixvim = {
enable = false;
extraConfigLua = ''
vim.cmd("colorscheme zenbones")
'';
globals.mapleader = " ";
opts = {
number = true; # Show absolute line numbers
relativenumber = true; # Show relative line numbers (cursor line = 0)
};
extraPlugins = [pkgs.vimPlugins."lush-nvim" pkgs.vimPlugins."zenbones-nvim" ];
# colorschemes.monokai-pro = {
# enable = true;
# settings = {
# background_clear = [ "telescope" ];
## day_night = {
## enable = true;
## day_filter = "pro";
## }
# };
# luaConfig.post =''
# require("monokai-pro").setup({
# -- ...
# override = function()
# return {
# Normal = { fg = "#119C1F", bg = "#EBF2EF" };
# Comment = { fg = "#dddddd" };
# Constant = { fg = "#D2F229" };
# Functions = { fg = "#11466B" };
# String = { fg = "#AD1818" };
# Identifier = { fg = "#B30909" };
# Operator = { fg = "#000000" };
# Character = { fg = "#2AE896" };
# Number = { fg = "#BF2EC9" };
# Cursor = { fg = "#EBFF69" }
#
# }
# end
# -- ...
# })
# '';
#};
#colorschemes.gruvbox.enable = false;
#colorschemes.catppuccin.enable = false;
#colorschemes.kanagawa-paper.enable = true;
plugins.harpoon = {
enable = true;
enableTelescope = true;
};
plugins.web-devicons.enable = true;
plugins.neo-tree.enable = true;
plugins.telescope.enable = true;
plugins.hardtime.enable = true;
plugins.image.enable = true;
plugins.snacks = {
enable = true;
# settings = {
# image = {
# enabled = true;
# };
# };
};
plugins.neogit.enable = true;
plugins.yazi.enable = true;
plugins.vimtex.enable = true;
plugins.vimtex.texlivePackage = pkgs.texliveFull;
plugins.vimtex.settings = {
view_method = "zathura";
#compilerMethod = "latexrun";
#compilerOpts = [ "-lualatex" ];
#compilerOpts = [ "-pdf" "-pdflatex=lualatex" "-interaction=nonstopmode" ];
};
keymaps = [
#yanking to clipboard
{
mode = "t";
key = "<Esc>";
action = ''<C-\><C-n>'';
options = { noremap = true; silent = true; desc = "Exit terminal mode"; };
}
{
mode = "v";
key = "<leader>y";
action = ''"+y'';
options = { desc = "Yank visual selection to system clipboard"; };
}
{
mode = "n";
key = "<leader>Y";
action = ''"+yy'';
options = { desc = "Yank current line to system clipboard"; };
}
{
mode = [
"i"
"x"
"n"
"s"
];
key = "<C-s>";
action = "<cmd>w<cr><esc>";
options = {
desc = "Save File";
};
}
{
key = "<A-S-t>";
action = "<cmd>:tabnew +term<CR>";
}
{
key = "<C-S-y>";
action = "<cmd>Yazi<CR>";
}
{
action = "<cmd>Neotree toggle<CR>";
key = "<leader>e";
}
# this doesnt do anything i guess
{
mode = "n";
key = "<leader>ut";
action = "<cmd>UndotreeToggle<CR>";
options = {
desc = "Undotree";
};
}
{
key = "<Leader>g";
action = ":Neogit<CR>";
mode = "n";
options.desc = "open neogit";
}
{
action = "<cmd>Telescope find_files<CR>";
key = "<leader>ff";
}
{
key = "<Leader>fr";
action = "<cmd> Telescope oldfiles <CR>";
mode = "n";
options.desc = "Find recents";
}
];
};
}