feat: add formatter
This commit is contained in:
parent
bbeb0aa8c2
commit
74c81d7fea
22
flake.nix
22
flake.nix
@ -9,14 +9,22 @@
|
|||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "github:nix-community/nixvim";
|
url = "github:nix-community/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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 = {
|
homeConfigurations = {
|
||||||
"yadunut@yadunut-mbp" = home-manager.lib.homeManagerConfiguration {
|
"yadunut@yadunut-mbp" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
@ -28,7 +36,7 @@
|
|||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
modules = [ ./yadunut-mbp/home.nix ];
|
modules = [./yadunut-mbp/home.nix];
|
||||||
};
|
};
|
||||||
"yadunut@yadunut-mba" = home-manager.lib.homeManagerConfiguration {
|
"yadunut@yadunut-mba" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
@ -44,13 +52,13 @@
|
|||||||
./yadunut-mba/home.nix
|
./yadunut-mba/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./falcon-nixos/configuration.nix
|
./falcon-nixos/configuration.nix
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
{ _module.args = { inherit inputs; };}
|
{_module.args = {inherit inputs;};}
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
|
@ -1,9 +1,15 @@
|
|||||||
{ config, pkgs, inputs, lib, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
];
|
];
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
|
nixpkgs.pkgs = pkgs;
|
||||||
performance.combinePlugins.enable = false;
|
performance.combinePlugins.enable = false;
|
||||||
|
|
||||||
performance.byteCompileLua.enable = true;
|
performance.byteCompileLua.enable = true;
|
||||||
@ -13,13 +19,22 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
colorschemes.gruvbox.enable = true;
|
colorschemes.gruvbox.enable = true;
|
||||||
extraPlugins = [ pkgs.vimPlugins.todo-txt-vim ];
|
extraPlugins = [pkgs.vimPlugins.todo-txt-vim];
|
||||||
plugins = {
|
plugins = {
|
||||||
flash.enable = true;
|
flash.enable = true;
|
||||||
oil.enable = true;
|
oil.enable = true;
|
||||||
neogit.enable = true;
|
neogit.enable = true;
|
||||||
hardtime.enable = true;
|
hardtime.enable = true;
|
||||||
lsp = {
|
lsp = {
|
||||||
|
package = pkgs.vimUtils.buildVimPlugin {
|
||||||
|
name = "lsp";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "neovim";
|
||||||
|
repo = "nvim-lspconfig";
|
||||||
|
rev = "541f3a2781de481bb84883889e4d9f0904250a56";
|
||||||
|
hash = "sha256-f9CqwKBWZgC2ystm+g7FmsHR0fLcM6Wj+GkSwoUIanw=";
|
||||||
|
};
|
||||||
|
};
|
||||||
enable = true;
|
enable = true;
|
||||||
servers = {
|
servers = {
|
||||||
gleam.enable = true;
|
gleam.enable = true;
|
||||||
@ -39,17 +54,44 @@
|
|||||||
gopls.enable = true;
|
gopls.enable = true;
|
||||||
};
|
};
|
||||||
keymaps.lspBuf = {
|
keymaps.lspBuf = {
|
||||||
gd = { action = "definition"; desc = "Goto Definition"; };
|
gd = {
|
||||||
gr = { action = "references"; desc = "Goto References"; };
|
action = "definition";
|
||||||
gD = { action = "declaration"; desc = "Goto Declaration"; };
|
desc = "Goto Definition";
|
||||||
gI = { action = "implementation"; desc = "Goto Implementation"; };
|
};
|
||||||
gT = { action = "type_definition"; desc = "Type Definition"; };
|
gr = {
|
||||||
K = { action = "hover"; desc = "Hover"; };
|
action = "references";
|
||||||
"<leader>rn" = { action = "rename"; desc = "Rename"; };
|
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 = [
|
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 = {
|
keymaps.diagnostic = {
|
||||||
"<leader>cd" = {
|
"<leader>cd" = {
|
||||||
@ -72,13 +114,23 @@
|
|||||||
autoEnableSources = true;
|
autoEnableSources = true;
|
||||||
settings = {
|
settings = {
|
||||||
sources = [
|
sources = [
|
||||||
{ name = "nvim_lsp"; }
|
{name = "nvim_lsp";}
|
||||||
{ name = "nvim_lua"; }
|
{name = "nvim_lua";}
|
||||||
{ name = "emoji"; }
|
{name = "emoji";}
|
||||||
{ name = "emoji"; }
|
{name = "emoji";}
|
||||||
{ name = "buffer"; option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; keywordLength = 3; }
|
{
|
||||||
{ name = "path"; keywordLength = 3; }
|
name = "buffer";
|
||||||
{ name = "luasnip"; keywordLength = 3; }
|
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||||
|
keywordLength = 3;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "path";
|
||||||
|
keywordLength = 3;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "luasnip";
|
||||||
|
keywordLength = 3;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
window = {
|
window = {
|
||||||
# completion = { border = "solid"; };
|
# completion = { border = "solid"; };
|
||||||
@ -108,7 +160,21 @@
|
|||||||
updateFocusedFile.enable = true;
|
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;
|
bufferline.enable = true;
|
||||||
|
|
||||||
@ -143,29 +209,40 @@
|
|||||||
move = {
|
move = {
|
||||||
enable = true;
|
enable = true;
|
||||||
gotoNextStart = {
|
gotoNextStart = {
|
||||||
"]m" = { query = "@function.outer"; };
|
"]m" = {query = "@function.outer";};
|
||||||
"]]" = { query = "@class.outer"; desc = "Next class start"; };
|
"]]" = {
|
||||||
"]o" = { query = "@loop.*"; };
|
query = "@class.outer";
|
||||||
"]s" = { query = "@scope"; queryGroup = "locals"; desc = "Next scope"; };
|
desc = "Next class start";
|
||||||
"]z" = { query = "@fold"; queryGroup = "folds"; desc = "Next fold"; };
|
};
|
||||||
|
"]o" = {query = "@loop.*";};
|
||||||
|
"]s" = {
|
||||||
|
query = "@scope";
|
||||||
|
queryGroup = "locals";
|
||||||
|
desc = "Next scope";
|
||||||
|
};
|
||||||
|
"]z" = {
|
||||||
|
query = "@fold";
|
||||||
|
queryGroup = "folds";
|
||||||
|
desc = "Next fold";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
gotoNextEnd = {
|
gotoNextEnd = {
|
||||||
"]M" = { query = "@function.outer"; };
|
"]M" = {query = "@function.outer";};
|
||||||
"][" = { query = "@class.outer"; };
|
"][" = {query = "@class.outer";};
|
||||||
};
|
};
|
||||||
gotoPreviousStart = {
|
gotoPreviousStart = {
|
||||||
"[m" = { query = "@function.outer"; };
|
"[m" = {query = "@function.outer";};
|
||||||
"[[" = { query = "@class.outer"; };
|
"[[" = {query = "@class.outer";};
|
||||||
};
|
};
|
||||||
gotoPreviousEnd = {
|
gotoPreviousEnd = {
|
||||||
"[M" = { query = "@function.outer"; };
|
"[M" = {query = "@function.outer";};
|
||||||
"[]" = { query = "@class.outer"; };
|
"[]" = {query = "@class.outer";};
|
||||||
};
|
};
|
||||||
gotoNext = {
|
gotoNext = {
|
||||||
"]d" = { query = "@conditional.outer"; };
|
"]d" = {query = "@conditional.outer";};
|
||||||
};
|
};
|
||||||
gotoPrevious = {
|
gotoPrevious = {
|
||||||
"[d" = { query = "@conditional.outer"; };
|
"[d" = {query = "@conditional.outer";};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -178,20 +255,18 @@
|
|||||||
settings = {
|
settings = {
|
||||||
defaults = {
|
defaults = {
|
||||||
mappings = {
|
mappings = {
|
||||||
i = { "<C-t>".__raw = "require('trouble.sources.telescope').open"; };
|
i = {"<C-t>".__raw = "require('trouble.sources.telescope').open";};
|
||||||
n = { "<C-t>".__raw = "require('trouble.sources.telescope').open"; };
|
n = {"<C-t>".__raw = "require('trouble.sources.telescope').open";};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
project-nvim = {
|
project-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableTelescope = true;
|
enableTelescope = true;
|
||||||
};
|
};
|
||||||
web-devicons.enable = true;
|
web-devicons.enable = true;
|
||||||
|
|
||||||
};
|
};
|
||||||
opts = {
|
opts = {
|
||||||
number = true;
|
number = true;
|
||||||
@ -219,25 +294,85 @@
|
|||||||
maplocalleader = " ";
|
maplocalleader = " ";
|
||||||
};
|
};
|
||||||
keymaps = [
|
keymaps = [
|
||||||
{ action = ":"; key = ";"; mode = [ "n" ]; }
|
{
|
||||||
|
action = ":";
|
||||||
|
key = ";";
|
||||||
|
mode = ["n"];
|
||||||
|
}
|
||||||
# { action = "gj"; key = "j"; mode = [ "n" ]; }
|
# { action = "gj"; key = "j"; mode = [ "n" ]; }
|
||||||
# { action = "gk"; key = "k"; 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 find_files<CR>";
|
||||||
{ action = "<cmd>Telescope buffers<CR>"; key = "<leader>fb"; options.desc = "Find Buffers";}
|
key = "<leader><leader>";
|
||||||
{ action = "<cmd>Telescope projects<CR>"; key = "<leader>pp"; options.desc = "Switch Projects";}
|
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>Trouble diagnostics toggle<CR>";
|
||||||
{ action = "<cmd>NvimTreeToggle<CR>"; key = "<leader>tt"; options.desc = "Tree View";}
|
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').jump() end";
|
||||||
{ action.__raw = "function() require('flash').remote() end"; key = "r"; mode = [ "o" ]; options.desc = "Remote Flash"; }
|
key = "s";
|
||||||
{ action.__raw = "function() require('flash').treesitter_search() end"; key = "R"; mode = [ "o" ]; options.desc = "Treesitter Search"; }
|
mode = ["n" "x" "o"];
|
||||||
{ action.__raw = "function() require('flash').toggle() end"; key = "<c-s>"; mode = [ "c" ]; options.desc = "Toggle Flash"; }
|
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("j", "Down"),
|
||||||
nav_pane("k", "Up"),
|
nav_pane("k", "Up"),
|
||||||
nav_pane("l", "Right"),
|
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)
|
local function get_current_working_dir(tab)
|
||||||
|
Loading…
Reference in New Issue
Block a user