175 lines
4.5 KiB
Nix
175 lines
4.5 KiB
Nix
{ pkgs, ... }: {
|
|
home.packages = with pkgs; [ tree-sitter fd ripgrep ];
|
|
programs.nvf = {
|
|
enable = true;
|
|
enableManpages = true;
|
|
settings = {
|
|
vim = {
|
|
luaConfigPost = ''
|
|
vim.o.tabstop = 2
|
|
vim.o.shiftwidth = 2
|
|
vim.o.expandtab = true
|
|
vim.o.cursorline = true
|
|
vim.o.scrolloff = 10
|
|
vim.o.sidescrolloff = 8
|
|
'';
|
|
autocomplete.blink-cmp.enable = true;
|
|
binds = { cheatsheet.enable = true; };
|
|
dashboard.alpha = {
|
|
enable = true;
|
|
theme = "dashboard";
|
|
};
|
|
filetree.neo-tree = { enable = true; };
|
|
comments.comment-nvim.enable = true;
|
|
autopairs.nvim-autopairs.enable = true;
|
|
snippets.luasnip.enable = true;
|
|
visuals = {
|
|
fidget-nvim.enable = true;
|
|
highlight-undo.enable = true;
|
|
indent-blankline.enable = true;
|
|
};
|
|
terminal = {
|
|
toggleterm = {
|
|
enable = true;
|
|
lazygit = { enable = true; };
|
|
};
|
|
};
|
|
treesitter = {
|
|
enable = true;
|
|
context.enable = true;
|
|
fold = true;
|
|
autotagHtml.enable = true;
|
|
};
|
|
syntaxHighlighting = true;
|
|
keymaps = [
|
|
{
|
|
key = "<Tab>";
|
|
action = ":bnext<CR>";
|
|
mode = [ "n" ];
|
|
}
|
|
{
|
|
key = "<leader>t";
|
|
action = ":Telescope buffers<CR>";
|
|
mode = [ "n" ];
|
|
}
|
|
{
|
|
key = "<leader>T";
|
|
action = ":terminal<CR>";
|
|
mode = [ "n" ];
|
|
}
|
|
{
|
|
key = "<leader>e";
|
|
action = ":Neotree toggle<CR>";
|
|
mode = [ "n" ];
|
|
}
|
|
{
|
|
key = "<leader>ow";
|
|
action = ":ObsidianWorkspace<CR>";
|
|
mode = [ "n" ];
|
|
}
|
|
{
|
|
key = "<leader>od";
|
|
action = ":ObsidianDailies<CR>";
|
|
mode = [ "n" ];
|
|
}
|
|
{
|
|
key = "<leader>on";
|
|
action = ":ObsidianNew<CR>";
|
|
mode = [ "n" ];
|
|
}
|
|
{
|
|
key = "<leader>oN";
|
|
action = ":ObsidianNewFromTemplate<CR>";
|
|
mode = [ "n" ];
|
|
}
|
|
];
|
|
git = {
|
|
enable = true;
|
|
gitsigns.enable = true;
|
|
gitsigns.codeActions.enable = false;
|
|
neogit.enable = true;
|
|
};
|
|
languages = {
|
|
enableTreesitter = true;
|
|
enableFormat = true;
|
|
enableExtraDiagnostics = true;
|
|
bash.enable = true;
|
|
lua.enable = true;
|
|
go.enable = true;
|
|
python.enable = true;
|
|
markdown = {
|
|
enable = true;
|
|
extensions.render-markdown-nvim.enable = true;
|
|
};
|
|
nix.enable = true;
|
|
html.enable = true;
|
|
};
|
|
lsp = {
|
|
enable = true;
|
|
formatOnSave = true;
|
|
lspkind.enable = false;
|
|
lightbulb.enable = true;
|
|
lspsaga.enable = false;
|
|
trouble.enable = true;
|
|
};
|
|
minimap = {
|
|
minimap-vim.enable = false;
|
|
codewindow.enable = true;
|
|
};
|
|
|
|
notify = { nvim-notify.enable = true; };
|
|
|
|
options = { conceallevel = 1; };
|
|
|
|
statusline.lualine = {
|
|
enable = true;
|
|
theme = "catppuccin";
|
|
};
|
|
telescope.enable = true;
|
|
theme = {
|
|
enable = true;
|
|
name = "catppuccin";
|
|
style = "mocha";
|
|
transparent = false;
|
|
};
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
notes = {
|
|
obsidian = {
|
|
enable = true;
|
|
setupOpts = {
|
|
legacy_commands = true;
|
|
ui.enable = false;
|
|
completion.nvim-cmp = true;
|
|
templates = { subdir = "Templates"; };
|
|
daily_notes = {
|
|
date_format = "%Y-%m-%d";
|
|
folder = "Daily";
|
|
};
|
|
workspaces = [
|
|
{
|
|
name = "main";
|
|
path = "~/.obsidian/main";
|
|
}
|
|
{
|
|
name = "journal";
|
|
path = "~/.obsidian/journal";
|
|
}
|
|
{
|
|
name = "food";
|
|
path = "~/.obsidian/Food";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
ui = {
|
|
breadcrumbs = {
|
|
enable = true;
|
|
navbuddy.enable = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|