mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-04-02 11:12:09 +02:00
Nixvim config update: +Snacks, -telescope
This commit is contained in:
13
home/programs/nvim/plugins/git.nix
Normal file
13
home/programs/nvim/plugins/git.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
gitsigns.enable = true;
|
||||
snacks.settings = { lazygit.enable = true; };
|
||||
};
|
||||
keymaps = [{
|
||||
key = "<leader>gl";
|
||||
action = "<cmd>lua Snacks.lazygit()<cr>";
|
||||
options.desc = "LazyGit";
|
||||
}];
|
||||
};
|
||||
}
|
||||
@@ -12,13 +12,6 @@
|
||||
html.enable = true;
|
||||
svelte.enable = true;
|
||||
};
|
||||
keymaps.lspBuf = {
|
||||
"gd" = "definition";
|
||||
"gD" = "references";
|
||||
"gt" = "type_definition";
|
||||
"gi" = "implementation";
|
||||
"K" = "hover";
|
||||
};
|
||||
};
|
||||
none-ls = {
|
||||
enable = true;
|
||||
|
||||
@@ -21,9 +21,12 @@ in {
|
||||
mkdnflow = {
|
||||
enable = true;
|
||||
mappings = {
|
||||
|
||||
MkdnNextLink = {
|
||||
key = "<S-Tab>";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnPrevLink = false;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,190 +0,0 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
muted = "#${config.lib.stylix.colors.base03}";
|
||||
in {
|
||||
programs.nixvim = {
|
||||
# Markdown settings
|
||||
extraFiles."after/ftplugin/markdown.lua".text = ''
|
||||
vim.bo.tabstop = 2
|
||||
vim.bo.shiftwidth = 2
|
||||
vim.bo.expandtab = true
|
||||
'';
|
||||
|
||||
# Highlight colors
|
||||
highlight = {
|
||||
Headline1 = {
|
||||
bg = "#4B4266";
|
||||
fg = accent;
|
||||
};
|
||||
Headline2 = {
|
||||
bg = "#3B575E";
|
||||
fg = "#9FFEFE";
|
||||
};
|
||||
Headline3 = {
|
||||
bg = "#3B5742";
|
||||
fg = "#9FFE9F";
|
||||
};
|
||||
Headline4 = {
|
||||
bg = "#574842";
|
||||
fg = "#FECB9F";
|
||||
};
|
||||
|
||||
RenderMarkdownTodo.fg = "#f78c6c";
|
||||
RenderMarkdownWarning.fg = "#ff5370";
|
||||
RenderMarkdownDone.fg = muted;
|
||||
};
|
||||
|
||||
# Plugins
|
||||
plugins = {
|
||||
# This one takes care of the markdown titles
|
||||
headlines = {
|
||||
enable = true;
|
||||
settings = {
|
||||
markdown = {
|
||||
headline_highlights =
|
||||
[ "Headline1" "Headline2" "Headline3" "Headline4" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# MkdnFlow is a plugin that helps you navigate markdown files
|
||||
mkdnflow = {
|
||||
enable = true;
|
||||
modules = { conceal = false; };
|
||||
toDo.symbols = [ " " "-" "x" "!" "/" ];
|
||||
mappings = {
|
||||
MkdnCreateLink = false;
|
||||
MkdnCreateLinkFromClipboard = {
|
||||
key = "<leader>ml";
|
||||
modes = [ "n" "v" ];
|
||||
};
|
||||
MkdnDecreaseHeading = {
|
||||
key = "<leader>m-";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnDestroyLink = false;
|
||||
MkdnEnter = {
|
||||
key = "<CR>";
|
||||
modes = [ "v" ];
|
||||
};
|
||||
MkdnExtendList = false;
|
||||
|
||||
MkdnFoldSection = {
|
||||
key = "<leader>mf";
|
||||
modes = "n";
|
||||
};
|
||||
|
||||
MkdnUnfoldSection = {
|
||||
key = "<leader>mF";
|
||||
modes = "n";
|
||||
};
|
||||
|
||||
MkdnFollowLink = {
|
||||
key = "gd";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnGoBack = false;
|
||||
MkdnGoForward = false;
|
||||
MkdnIncreaseHeading = {
|
||||
key = "<leader>m+";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnMoveSource = false;
|
||||
MkdnNewListItem = false;
|
||||
MkdnNewListItemAboveInsert = {
|
||||
key = "O";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnNewListItemBelowInsert = {
|
||||
key = "o";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnNextHeading = {
|
||||
key = "<leader>m#";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnNextLink = false;
|
||||
MkdnPrevLink = false;
|
||||
MkdnPrevHeading = {
|
||||
key = "<leader>m*";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnSTab = false;
|
||||
MkdnTab = false;
|
||||
MkdnTableNewColAfter = {
|
||||
key = "<leader>mc";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnTableNewColBefore = {
|
||||
key = "<leader>mC";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnTableNewRowAbove = {
|
||||
key = "<leader>mR";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnTableNewRowBelow = {
|
||||
key = "<leader>mr";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnTableNextCell = {
|
||||
key = "<S-Tab>";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnTableNextRow = false;
|
||||
MkdnTablePrevCell = {
|
||||
key = "<S-Tab>";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnTablePrevRow = false;
|
||||
MkdnToggleToDo = {
|
||||
key = "<C-Space>";
|
||||
modes = [ "n" "v" ];
|
||||
};
|
||||
MkdnUpdateNumbering = {
|
||||
key = "<leader>mn";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnYankAnchorLink = {
|
||||
key = "ya";
|
||||
modes = "n";
|
||||
};
|
||||
MkdnYankFileAnchorLink = {
|
||||
key = "yfa";
|
||||
modes = "n";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Render UI elements
|
||||
render-markdown = {
|
||||
enable = true;
|
||||
settings = {
|
||||
heading = { enabled = false; };
|
||||
checkbox = {
|
||||
unchecked = { highlight = "RenderMarkdownTodo"; };
|
||||
checked = { highlight = "RenderMarkdownDone"; };
|
||||
custom = {
|
||||
pending = {
|
||||
raw = "[-]";
|
||||
rendered = " ";
|
||||
highlight = "RenderMarkdownTodo";
|
||||
};
|
||||
important = {
|
||||
raw = "[!]";
|
||||
rendered = " ";
|
||||
highlight = "RenderMarkdownWarning";
|
||||
};
|
||||
cancel = {
|
||||
raw = "[/]";
|
||||
rendered = " ";
|
||||
highlight = "RenderMarkdownWarning";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -15,14 +15,7 @@
|
||||
indentscope = { };
|
||||
git = { };
|
||||
cursorword = { };
|
||||
comment = {
|
||||
mappings = {
|
||||
comment = "<leader>/";
|
||||
comment_line = "<leader>/";
|
||||
comment_visual = "<leader>/";
|
||||
textobject = "<leader>/";
|
||||
};
|
||||
};
|
||||
comment = { };
|
||||
starter = { };
|
||||
};
|
||||
};
|
||||
|
||||
191
home/programs/nvim/plugins/picker.nix
Normal file
191
home/programs/nvim/plugins/picker.nix
Normal file
@@ -0,0 +1,191 @@
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
snacks.settings = {
|
||||
picker.enable = true;
|
||||
explorer.enable = true;
|
||||
};
|
||||
oil.enable = true;
|
||||
which-key.settings.spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>f";
|
||||
mode = "n";
|
||||
group = "+find";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>g";
|
||||
mode = "n";
|
||||
group = "+git";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>s";
|
||||
mode = "n";
|
||||
group = "+search";
|
||||
}
|
||||
];
|
||||
};
|
||||
keymaps = [
|
||||
# Top Pickers & Explorer
|
||||
{
|
||||
key = "<leader> ";
|
||||
action = "<cmd>lua Snacks.picker.smart()<cr>";
|
||||
options.desc = "Smart Find Files";
|
||||
}
|
||||
{
|
||||
key = "<leader>,";
|
||||
action = "<cmd>lua Snacks.picker.buffers()<cr>";
|
||||
options.desc = "Buffers";
|
||||
}
|
||||
{
|
||||
key = "<leader>/";
|
||||
action = "<cmd>lua Snacks.picker.grep()<cr>";
|
||||
options.desc = "Grep";
|
||||
}
|
||||
{
|
||||
key = "<leader>:";
|
||||
action = "<cmd>lua Snacks.picker.command_history()<cr>";
|
||||
options.desc = "Command History";
|
||||
}
|
||||
{
|
||||
key = "<leader>e";
|
||||
action = "<cmd>lua Snacks.explorer()<cr>";
|
||||
options.desc = "File Explorer";
|
||||
}
|
||||
{
|
||||
key = "-";
|
||||
action = "<cmd>Oil<cr>";
|
||||
options.desc = "Oil";
|
||||
}
|
||||
|
||||
# Find
|
||||
{
|
||||
key = "<leader>fb";
|
||||
action = "<cmd>lua Snacks.picker.buffers()<cr>";
|
||||
options.desc = "Buffers";
|
||||
}
|
||||
{
|
||||
key = "<leader>fc";
|
||||
action = ''
|
||||
<cmd>lua Snacks.picker.files({ cwd = vim.fn.stdpath("config") })<cr>'';
|
||||
options.desc = "Find Config File";
|
||||
}
|
||||
{
|
||||
key = "<leader>ff";
|
||||
action = "<cmd>lua Snacks.picker.files()<cr>";
|
||||
options.desc = "Find Files";
|
||||
}
|
||||
{
|
||||
key = "<leader>fg";
|
||||
action = "<cmd>lua Snacks.picker.git_files()<cr>";
|
||||
options.desc = "Find Git Files";
|
||||
}
|
||||
{
|
||||
key = "<leader>fp";
|
||||
action = "<cmd>lua Snacks.picker.projects()<cr>";
|
||||
options.desc = "Projects";
|
||||
}
|
||||
{
|
||||
key = "<leader>fr";
|
||||
action = "<cmd>lua Snacks.picker.recent()<cr>";
|
||||
options.desc = "Recent";
|
||||
}
|
||||
{
|
||||
key = "<leader>fn";
|
||||
action = "<cmd>lua Snacks.picker.notifications()<cr>";
|
||||
options.desc = "Notification History";
|
||||
}
|
||||
|
||||
# Git
|
||||
{
|
||||
key = "<leader>gb";
|
||||
action = "<cmd>lua Snacks.picker.git_branches()<cr>";
|
||||
options.desc = "Git Branches";
|
||||
}
|
||||
{
|
||||
key = "<leader>gL";
|
||||
action = "<cmd>lua Snacks.picker.git_log()<cr>";
|
||||
options.desc = "Git Log Line";
|
||||
}
|
||||
{
|
||||
key = "<leader>gs";
|
||||
action = "<cmd>lua Snacks.picker.git_status()<cr>";
|
||||
options.desc = "Git Status";
|
||||
}
|
||||
{
|
||||
key = "<leader>gS";
|
||||
action = "<cmd>lua Snacks.picker.git_stash()<cr>";
|
||||
options.desc = "Git Stash";
|
||||
}
|
||||
{
|
||||
key = "<leader>gd";
|
||||
action = "<cmd>lua Snacks.picker.git_diff()<cr>";
|
||||
options.desc = "Git Diff (Hunks)";
|
||||
}
|
||||
{
|
||||
key = "<leader>gf";
|
||||
action = "<cmd>lua Snacks.picker.git_log_file()<cr>";
|
||||
options.desc = "Git Log File";
|
||||
}
|
||||
|
||||
# Grep
|
||||
{
|
||||
key = "<leader>sb";
|
||||
action = "<cmd>lua Snacks.picker.lines()<cr>";
|
||||
options.desc = "Buffer Lines";
|
||||
}
|
||||
{
|
||||
key = "<leader>sB";
|
||||
action = "<cmd>lua Snacks.picker.grep_buffers()<cr>";
|
||||
options.desc = "Grep Open Buffers";
|
||||
}
|
||||
{
|
||||
key = "<leader>sg";
|
||||
action = "<cmd>lua Snacks.picker.grep()<cr>";
|
||||
options.desc = "Grep";
|
||||
}
|
||||
{
|
||||
key = "<leader>sw";
|
||||
action = "<cmd>lua Snacks.picker.grep_word()<cr>";
|
||||
options.desc = "Visual selection or word";
|
||||
}
|
||||
|
||||
# LSP
|
||||
{
|
||||
key = "gd";
|
||||
action = "<cmd>lua Snacks.picker.lsp_definitions()<cr>";
|
||||
options.desc = "Goto Definition";
|
||||
}
|
||||
{
|
||||
key = "gD";
|
||||
action = "<cmd>lua Snacks.picker.lsp_declarations()<cr>";
|
||||
options.desc = "Goto Declaration";
|
||||
}
|
||||
{
|
||||
key = "gr";
|
||||
action = "<cmd>lua Snacks.picker.lsp_references()<cr>";
|
||||
options.desc = "References";
|
||||
options.nowait = true;
|
||||
}
|
||||
{
|
||||
key = "gI";
|
||||
action = "<cmd>lua Snacks.picker.lsp_implementations()<cr>";
|
||||
options.desc = "Goto Implementation";
|
||||
}
|
||||
{
|
||||
key = "gy";
|
||||
action = "<cmd>lua Snacks.picker.lsp_type_definitions()<cr>";
|
||||
options.desc = "Goto Type Definition";
|
||||
}
|
||||
{
|
||||
key = "<leader>ss";
|
||||
action = "<cmd>lua Snacks.picker.lsp_symbols()<cr>";
|
||||
options.desc = "LSP Symbols";
|
||||
}
|
||||
{
|
||||
key = "<leader>sS";
|
||||
action = "<cmd>lua Snacks.picker.lsp_workspace_symbols()<cr>";
|
||||
options.desc = "LSP Workspace Symbols";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
34
home/programs/nvim/plugins/snacks.nix
Normal file
34
home/programs/nvim/plugins/snacks.nix
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins.snacks = {
|
||||
enable = true;
|
||||
settings = {
|
||||
image = {
|
||||
enable = true;
|
||||
doc = { inline = false; };
|
||||
};
|
||||
quickfile.enable = true;
|
||||
statuscolumn.enable = true;
|
||||
zen.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
key = "<leader>uz";
|
||||
action = "<cmd>lua Snacks.zen()<cr>";
|
||||
options.desc = "Zen";
|
||||
}
|
||||
{
|
||||
key = "<leader>ud";
|
||||
action = "<cmd>lua Snacks.dim.enable()<cr>";
|
||||
options.desc = "Dim";
|
||||
}
|
||||
{
|
||||
key = "<leader>uD";
|
||||
action = "<cmd>lua Snacks.dim.disable()<cr>";
|
||||
options.desc = "Undim";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
background = "#${config.lib.stylix.colors.base00}";
|
||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||
in {
|
||||
programs.nixvim = {
|
||||
highlight = {
|
||||
TelescopePromptPrefix.fg = accent;
|
||||
TelescopeSelectionCaret = {
|
||||
fg = accent;
|
||||
bg = background-alt;
|
||||
};
|
||||
TelescopeSelection.bg = background-alt;
|
||||
TelescopePromptTitle = {
|
||||
bg = background;
|
||||
fg = accent;
|
||||
};
|
||||
TelescopePromptNormal.bg = background;
|
||||
TelescopePromptBorder = {
|
||||
bg = background;
|
||||
fg = accent;
|
||||
};
|
||||
};
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
extensions.fzf-native = { enable = true; };
|
||||
settings.defaults = { selection_caret = "❚ "; };
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
neo-tree.enable = true;
|
||||
oil = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_file_explorer = false;
|
||||
skip_confirm_for_simple_edits = true;
|
||||
view_options.is_hidden_file = ''
|
||||
function(name, bufnr)
|
||||
return vim.startswith(name, ".") or name == "img"
|
||||
end
|
||||
'';
|
||||
win_options = {
|
||||
concealcursor = "ncv";
|
||||
conceallevel = 3;
|
||||
cursorcolumn = false;
|
||||
foldcolumn = "0";
|
||||
list = false;
|
||||
signcolumn = "no";
|
||||
spell = false;
|
||||
wrap = false;
|
||||
};
|
||||
float = { padding = 5; };
|
||||
keymaps = {
|
||||
"-" = "actions.parent";
|
||||
"b" = "actions.parent";
|
||||
"<C-c>" = "actions.close";
|
||||
"<C-h>" = "actions.select_split";
|
||||
"<C-l>" = "actions.refresh";
|
||||
"<C-p>" = "actions.preview";
|
||||
"<C-s>" = "actions.select_vsplit";
|
||||
"<C-t>" = "actions.select_tab";
|
||||
"<CR>" = "actions.select";
|
||||
_ = "actions.open_cwd";
|
||||
"`" = "actions.cd";
|
||||
"g." = "actions.toggle_hidden";
|
||||
"g?" = "actions.show_help";
|
||||
"g\\" = "actions.toggle_trash";
|
||||
gs = "actions.change_sort";
|
||||
gx = "actions.open_external";
|
||||
"~" = "actions.tcd";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
46
home/programs/nvim/plugins/trouble.nix
Normal file
46
home/programs/nvim/plugins/trouble.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [ ctags ];
|
||||
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
trouble.enable = true;
|
||||
which-key.settings.spec = [{
|
||||
__unkeyed-1 = "<leader>t";
|
||||
mode = "n";
|
||||
group = "+trouble";
|
||||
}];
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
key = "<leader>tx";
|
||||
action = "<cmd>Trouble diagnostics toggle<cr>";
|
||||
options.desc = "Diagnostics (Trouble)";
|
||||
}
|
||||
{
|
||||
key = "<leader>tX";
|
||||
action = "<cmd>Trouble diagnostics toggle filter.buf=0<cr>";
|
||||
options.desc = "Buffer Diagnostics (Trouble)";
|
||||
}
|
||||
{
|
||||
key = "<leader>ts";
|
||||
action = "<cmd>Trouble symbols toggle focus=false<cr>";
|
||||
options.desc = "Symbols (Trouble)";
|
||||
}
|
||||
{
|
||||
key = "<leader>tl";
|
||||
action = "<cmd>Trouble lsp toggle focus=false win.position=right<cr>";
|
||||
options.desc = "LSP Definitions / references / ... (Trouble)";
|
||||
}
|
||||
{
|
||||
key = "<leader>tL";
|
||||
action = "<cmd>Trouble loclist toggle<cr>";
|
||||
options.desc = "Location List (Trouble)";
|
||||
}
|
||||
{
|
||||
key = "<leader>tQ";
|
||||
action = "<cmd>Trouble qflist toggle<cr>";
|
||||
options.desc = "Quickfix List (Trouble)";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [ ctags ];
|
||||
|
||||
programs.nixvim.plugins = {
|
||||
trouble.enable = true;
|
||||
lazygit.enable = true;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user