feat: add formatter
This commit is contained in:
parent
bbeb0aa8c2
commit
74c81d7fea
12
flake.nix
12
flake.nix
@ -9,14 +9,22 @@
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, home-manager, flake-utils, agenix, nixvim, ... }@inputs: {
|
||||
outputs = {
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
flake-utils,
|
||||
agenix,
|
||||
nixvim,
|
||||
...
|
||||
} @ inputs: {
|
||||
formatter.aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.alejandra;
|
||||
homeConfigurations = {
|
||||
"yadunut@yadunut-mbp" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {
|
||||
|
@ -1,9 +1,15 @@
|
||||
{ config, pkgs, inputs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
programs.nixvim = {
|
||||
nixpkgs.pkgs = pkgs;
|
||||
performance.combinePlugins.enable = false;
|
||||
|
||||
performance.byteCompileLua.enable = true;
|
||||
@ -20,6 +26,15 @@
|
||||
neogit.enable = true;
|
||||
hardtime.enable = true;
|
||||
lsp = {
|
||||
package = pkgs.vimUtils.buildVimPlugin {
|
||||
name = "lsp";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "nvim-lspconfig";
|
||||
rev = "541f3a2781de481bb84883889e4d9f0904250a56";
|
||||
hash = "sha256-f9CqwKBWZgC2ystm+g7FmsHR0fLcM6Wj+GkSwoUIanw=";
|
||||
};
|
||||
};
|
||||
enable = true;
|
||||
servers = {
|
||||
gleam.enable = true;
|
||||
@ -39,17 +54,44 @@
|
||||
gopls.enable = true;
|
||||
};
|
||||
keymaps.lspBuf = {
|
||||
gd = { action = "definition"; desc = "Goto Definition"; };
|
||||
gr = { action = "references"; desc = "Goto References"; };
|
||||
gD = { action = "declaration"; desc = "Goto Declaration"; };
|
||||
gI = { action = "implementation"; desc = "Goto Implementation"; };
|
||||
gT = { action = "type_definition"; desc = "Type Definition"; };
|
||||
K = { action = "hover"; desc = "Hover"; };
|
||||
"<leader>rn" = { action = "rename"; desc = "Rename"; };
|
||||
gd = {
|
||||
action = "definition";
|
||||
desc = "Goto Definition";
|
||||
};
|
||||
gr = {
|
||||
action = "references";
|
||||
desc = "Goto References";
|
||||
};
|
||||
gD = {
|
||||
action = "declaration";
|
||||
desc = "Goto Declaration";
|
||||
};
|
||||
gI = {
|
||||
action = "implementation";
|
||||
desc = "Goto Implementation";
|
||||
};
|
||||
gT = {
|
||||
action = "type_definition";
|
||||
desc = "Type Definition";
|
||||
};
|
||||
K = {
|
||||
action = "hover";
|
||||
desc = "Hover";
|
||||
};
|
||||
"<leader>rn" = {
|
||||
action = "rename";
|
||||
desc = "Rename";
|
||||
};
|
||||
};
|
||||
keymaps.extra = [
|
||||
{ action.__raw = "vim.lsp.buf.code_action"; key = "<leader>la"; }
|
||||
{ action.__raw = "function() vim.lsp.buf.format { async = true } end"; key = "<leader>lf"; }
|
||||
{
|
||||
action.__raw = "vim.lsp.buf.code_action";
|
||||
key = "<leader>la";
|
||||
}
|
||||
{
|
||||
action.__raw = "function() vim.lsp.buf.format { async = true } end";
|
||||
key = "<leader>lf";
|
||||
}
|
||||
];
|
||||
keymaps.diagnostic = {
|
||||
"<leader>cd" = {
|
||||
@ -76,9 +118,19 @@
|
||||
{name = "nvim_lua";}
|
||||
{name = "emoji";}
|
||||
{name = "emoji";}
|
||||
{ name = "buffer"; option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; keywordLength = 3; }
|
||||
{ name = "path"; keywordLength = 3; }
|
||||
{ name = "luasnip"; keywordLength = 3; }
|
||||
{
|
||||
name = "buffer";
|
||||
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||
keywordLength = 3;
|
||||
}
|
||||
{
|
||||
name = "path";
|
||||
keywordLength = 3;
|
||||
}
|
||||
{
|
||||
name = "luasnip";
|
||||
keywordLength = 3;
|
||||
}
|
||||
];
|
||||
window = {
|
||||
# completion = { border = "solid"; };
|
||||
@ -108,7 +160,21 @@
|
||||
updateFocusedFile.enable = true;
|
||||
};
|
||||
|
||||
luasnip.enable = true;
|
||||
friendly-snippets.enable = true;
|
||||
|
||||
luasnip = {
|
||||
enable = true;
|
||||
settings = {
|
||||
enable_autosnippets = true;
|
||||
store_selection_keys = "<Tab>";
|
||||
};
|
||||
fromVscode = [
|
||||
{
|
||||
lazyLoad = true;
|
||||
paths = "${pkgs.vimPlugins.friendly-snippets}";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
bufferline.enable = true;
|
||||
|
||||
@ -144,10 +210,21 @@
|
||||
enable = true;
|
||||
gotoNextStart = {
|
||||
"]m" = {query = "@function.outer";};
|
||||
"]]" = { query = "@class.outer"; desc = "Next class start"; };
|
||||
"]]" = {
|
||||
query = "@class.outer";
|
||||
desc = "Next class start";
|
||||
};
|
||||
"]o" = {query = "@loop.*";};
|
||||
"]s" = { query = "@scope"; queryGroup = "locals"; desc = "Next scope"; };
|
||||
"]z" = { query = "@fold"; queryGroup = "folds"; desc = "Next fold"; };
|
||||
"]s" = {
|
||||
query = "@scope";
|
||||
queryGroup = "locals";
|
||||
desc = "Next scope";
|
||||
};
|
||||
"]z" = {
|
||||
query = "@fold";
|
||||
queryGroup = "folds";
|
||||
desc = "Next fold";
|
||||
};
|
||||
};
|
||||
gotoNextEnd = {
|
||||
"]M" = {query = "@function.outer";};
|
||||
@ -185,13 +262,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
project-nvim = {
|
||||
enable = true;
|
||||
enableTelescope = true;
|
||||
};
|
||||
web-devicons.enable = true;
|
||||
|
||||
};
|
||||
opts = {
|
||||
number = true;
|
||||
@ -219,25 +294,85 @@
|
||||
maplocalleader = " ";
|
||||
};
|
||||
keymaps = [
|
||||
{ action = ":"; key = ";"; mode = [ "n" ]; }
|
||||
{
|
||||
action = ":";
|
||||
key = ";";
|
||||
mode = ["n"];
|
||||
}
|
||||
# { action = "gj"; key = "j"; mode = [ "n" ]; }
|
||||
# { action = "gk"; key = "k"; mode = [ "n" ]; }
|
||||
{ action = "<Esc>"; key = "jk"; mode = [ "i" ]; }
|
||||
{
|
||||
action = "<Esc>";
|
||||
key = "jk";
|
||||
mode = ["i"];
|
||||
}
|
||||
|
||||
{ action = "<cmd>Telescope find_files<CR>"; key = "<leader><leader>"; options.desc = "Find Files"; }
|
||||
{ action = "<cmd>Telescope live_grep<CR>"; key = "<leader>fg"; options.desc = "Grep";}
|
||||
{ action = "<cmd>Telescope buffers<CR>"; key = "<leader>fb"; options.desc = "Find Buffers";}
|
||||
{ action = "<cmd>Telescope projects<CR>"; key = "<leader>pp"; options.desc = "Switch Projects";}
|
||||
{
|
||||
action = "<cmd>Telescope find_files<CR>";
|
||||
key = "<leader><leader>";
|
||||
options.desc = "Find Files";
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope live_grep<CR>";
|
||||
key = "<leader>fg";
|
||||
options.desc = "Grep";
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope buffers<CR>";
|
||||
key = "<leader>fb";
|
||||
options.desc = "Find Buffers";
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope projects<CR>";
|
||||
key = "<leader>pp";
|
||||
options.desc = "Switch Projects";
|
||||
}
|
||||
|
||||
{ action = "<cmd>Trouble diagnostics toggle<CR>"; key = "<leader>tr"; }
|
||||
{ action = "<cmd>Neogit<CR>"; key = "<leader>gg"; options.desc = "Open Git"; }
|
||||
{ action = "<cmd>NvimTreeToggle<CR>"; key = "<leader>tt"; options.desc = "Tree View";}
|
||||
{
|
||||
action = "<cmd>Trouble diagnostics toggle<CR>";
|
||||
key = "<leader>tr";
|
||||
}
|
||||
{
|
||||
action = "<cmd>Neogit<CR>";
|
||||
key = "<leader>gg";
|
||||
options.desc = "Open Git";
|
||||
}
|
||||
{
|
||||
action = "<cmd>NvimTreeToggle<CR>";
|
||||
key = "<leader>tt";
|
||||
options.desc = "Tree View";
|
||||
}
|
||||
|
||||
{ action.__raw = "function() require('flash').jump() end"; key = "s"; mode = [ "n" "x" "o" ]; options.desc = "Flash"; }
|
||||
{ action.__raw = "function() require('flash').treesitter() end"; key = "S"; mode = [ "n" "x" "o" ]; options.desc = "Flash Treesitter"; }
|
||||
{ action.__raw = "function() require('flash').remote() end"; key = "r"; mode = [ "o" ]; options.desc = "Remote Flash"; }
|
||||
{ action.__raw = "function() require('flash').treesitter_search() end"; key = "R"; mode = [ "o" ]; options.desc = "Treesitter Search"; }
|
||||
{ action.__raw = "function() require('flash').toggle() end"; key = "<c-s>"; mode = [ "c" ]; options.desc = "Toggle Flash"; }
|
||||
{
|
||||
action.__raw = "function() require('flash').jump() end";
|
||||
key = "s";
|
||||
mode = ["n" "x" "o"];
|
||||
options.desc = "Flash";
|
||||
}
|
||||
{
|
||||
action.__raw = "function() require('flash').treesitter() end";
|
||||
key = "S";
|
||||
mode = ["n" "x" "o"];
|
||||
options.desc = "Flash Treesitter";
|
||||
}
|
||||
{
|
||||
action.__raw = "function() require('flash').remote() end";
|
||||
key = "r";
|
||||
mode = ["o"];
|
||||
options.desc = "Remote Flash";
|
||||
}
|
||||
{
|
||||
action.__raw = "function() require('flash').treesitter_search() end";
|
||||
key = "R";
|
||||
mode = ["o"];
|
||||
options.desc = "Treesitter Search";
|
||||
}
|
||||
{
|
||||
action.__raw = "function() require('flash').toggle() end";
|
||||
key = "<c-s>";
|
||||
mode = ["c"];
|
||||
options.desc = "Toggle Flash";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -60,6 +60,16 @@ config.keys = {
|
||||
nav_pane("j", "Down"),
|
||||
nav_pane("k", "Up"),
|
||||
nav_pane("l", "Right"),
|
||||
{
|
||||
key = ">",
|
||||
mods = "LEADER",
|
||||
action = wezterm.action.MoveTabRelative(1)
|
||||
},
|
||||
{
|
||||
key = "<",
|
||||
mods = "LEADER",
|
||||
action = wezterm.action.MoveTabRelative(-1)
|
||||
},
|
||||
}
|
||||
|
||||
local function get_current_working_dir(tab)
|
||||
|
Loading…
Reference in New Issue
Block a user