152 lines
3.8 KiB
Nix
152 lines
3.8 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
nixvim,
|
|
...
|
|
}: {
|
|
home.packages = with pkgs; [tree-sitter fd ripgrep];
|
|
programs.nvf = {
|
|
enable = true;
|
|
settings = {
|
|
vim = {
|
|
autocomplete.nvim-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;
|
|
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;
|
|
};
|
|
options = {conceallevel = 1;};
|
|
statusline.lualine.enable = true;
|
|
telescope.enable = true;
|
|
theme = {
|
|
enable = true;
|
|
name = "catppuccin";
|
|
style = "mocha";
|
|
};
|
|
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";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|