nixbook: nixvim
nixbook: add more nixvim plugins
This commit is contained in:
parent
ce02fb7bee
commit
88ce520e29
9 changed files with 470 additions and 193 deletions
|
|
@ -4,8 +4,11 @@
|
|||
user,
|
||||
userFullname,
|
||||
...
|
||||
}: modules: home-modules: let
|
||||
inherit (inputs) home-manager nixpkgs sops-nix;
|
||||
}: {
|
||||
nixos-modules ? [],
|
||||
home-modules ? [],
|
||||
}: let
|
||||
inherit (inputs) home-manager nixpkgs sops-nix nixvim;
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
|
|
@ -13,9 +16,8 @@ in
|
|||
inherit system;
|
||||
|
||||
modules =
|
||||
modules
|
||||
nixos-modules
|
||||
++ [
|
||||
../nixos/modules/podman.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
sops-nix.nixosModules.sops
|
||||
{
|
||||
|
|
@ -25,6 +27,7 @@ in
|
|||
users.${user}.imports =
|
||||
home-modules
|
||||
++ [
|
||||
nixvim.homeManagerModules.nixvim
|
||||
../home/.
|
||||
{
|
||||
options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;};
|
||||
|
|
|
|||
106
lib/nixvim.nix
Normal file
106
lib/nixvim.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
};
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
tabstop = 2;
|
||||
shiftwidth = 2;
|
||||
expandtab = true;
|
||||
smartindent = true;
|
||||
scrolloff = 4;
|
||||
|
||||
undofile = true;
|
||||
};
|
||||
extraConfigLua = ''
|
||||
vim.o.undodir = vim.fn.expand("$HOME/.local/share/nvim/undo")
|
||||
'';
|
||||
keymaps = [
|
||||
{
|
||||
key = "<C-c>";
|
||||
action = ''"+y'';
|
||||
}
|
||||
{
|
||||
key = "gl";
|
||||
action = "g$";
|
||||
}
|
||||
{
|
||||
key = "gh";
|
||||
action = "g0";
|
||||
}
|
||||
{
|
||||
key = "<leader>ggs";
|
||||
action = ":Gitsigns stage_hunk<CR>";
|
||||
}
|
||||
{
|
||||
key = "<leader>ggb";
|
||||
action = ":Gitsigns blame<CR>";
|
||||
}
|
||||
{
|
||||
key = "<leader>ggg";
|
||||
action = ":LazyGit<CR>";
|
||||
}
|
||||
];
|
||||
|
||||
plugins = {
|
||||
bufferline.enable = true;
|
||||
surround.enable = true;
|
||||
comment.enable = true;
|
||||
|
||||
markdown-preview.enable = true;
|
||||
treesitter.enable = true;
|
||||
|
||||
telescope = {
|
||||
enable = true;
|
||||
keymaps = {
|
||||
"<leader>fg" = "live_grep";
|
||||
"<leader>/" = "live_grep";
|
||||
"<leader>ff" = "find_files";
|
||||
"<leader>fb" = "buffers";
|
||||
"<leader>fh" = "help_tags";
|
||||
"<leader>:" = "commands";
|
||||
};
|
||||
};
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
tsserver.enable = true;
|
||||
nixd.enable = true;
|
||||
};
|
||||
keymaps = {
|
||||
lspBuf = {
|
||||
"K" = "hover";
|
||||
"<leader>a" = "code_action";
|
||||
"gd" = "definition";
|
||||
};
|
||||
diagnostic = {
|
||||
"<leader>e" = "open_float";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
};
|
||||
|
||||
cmp-nvim-lsp.enable = true;
|
||||
cmp-path.enable = true;
|
||||
|
||||
ts-autotag.enable = true;
|
||||
|
||||
gitsigns.enable = true;
|
||||
git-worktree = {
|
||||
enable = true;
|
||||
enableTelescope = true;
|
||||
};
|
||||
lazygit.enable = true;
|
||||
which-key.enable = true;
|
||||
toggleterm = {
|
||||
enable = true;
|
||||
settings = {open_mapping = "[[<c-`>]]";};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue