neovim
This commit is contained in:
parent
007f05a82e
commit
a30711ef62
|
@ -1,46 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
home-manager.users.joy = {
|
|
||||||
imports = [
|
|
||||||
./plugins
|
|
||||||
./set.nix
|
|
||||||
];
|
|
||||||
programs.nixvim = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
vimAlias = true;
|
|
||||||
clipboard.register = "unnamedplus";
|
|
||||||
colorschemes.gruvbox.enable = true;
|
|
||||||
|
|
||||||
plugins = {
|
|
||||||
presence-nvim = {
|
|
||||||
enable = true;
|
|
||||||
mainImage = "file";
|
|
||||||
};
|
|
||||||
bufferline = {
|
|
||||||
enable = true;
|
|
||||||
separatorStyle = "slope";
|
|
||||||
};
|
|
||||||
treesitter = {
|
|
||||||
enable = true;
|
|
||||||
indent = true;
|
|
||||||
nixvimInjections = true;
|
|
||||||
};
|
|
||||||
treesitter-context.enable = true;
|
|
||||||
nvim-tree = {
|
|
||||||
enable = true;
|
|
||||||
renderer.groupEmpty = true;
|
|
||||||
};
|
|
||||||
lualine.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<C-n>";
|
|
||||||
action = "<cmd>NvimTreeToggle<CR>";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,78 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.nixvim.plugins.alpha = {
|
|
||||||
enable = true;
|
|
||||||
layout = [
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 4;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
opts = {
|
|
||||||
hl = "AlphaHeader";
|
|
||||||
position = "center";
|
|
||||||
};
|
|
||||||
type = "text";
|
|
||||||
val = [
|
|
||||||
" ▄▄▄█████▓ ▒█████ ███▄ ▄███▓ "
|
|
||||||
" ▓ ██▒ ▓▒▒██▒ ██▒▓██▒▀█▀ ██▒ "
|
|
||||||
" ▒ ▓██░ ▒░▒██░ ██▒▓██ ▓██░ "
|
|
||||||
" ░ ▓██▓ ░ ▒██ ██░▒██ ▒██ "
|
|
||||||
" ▒██▒ ░ ░ ████▓▒░▒██▒ ░██▒ "
|
|
||||||
" ▒ ░░ ░ ▒░▒░▒░ ░ ▒░ ░ ░ "
|
|
||||||
" ░ ░ ▒ ▒░ ░ ░ ░ "
|
|
||||||
" ░ ░ ░ ░ ▒ ░ ░ "
|
|
||||||
" ░ ░ ░ "
|
|
||||||
" "
|
|
||||||
" git@github.com:TomJuri "
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 2;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "group";
|
|
||||||
val = let
|
|
||||||
mkButton = shortcut: cmd: val: hl: {
|
|
||||||
type = "button";
|
|
||||||
inherit val;
|
|
||||||
opts = {
|
|
||||||
inherit hl shortcut;
|
|
||||||
keymap = [
|
|
||||||
"n"
|
|
||||||
shortcut
|
|
||||||
cmd
|
|
||||||
{}
|
|
||||||
];
|
|
||||||
position = "center";
|
|
||||||
cursor = 0;
|
|
||||||
width = 40;
|
|
||||||
align_shortcut = "right";
|
|
||||||
hl_shortcut = "Keyword";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in [
|
|
||||||
(
|
|
||||||
mkButton
|
|
||||||
"f"
|
|
||||||
"<CMD>lua require('telescope.builtin').find_files({hidden = true})<CR>"
|
|
||||||
"🔍 Find File"
|
|
||||||
"Operator"
|
|
||||||
)
|
|
||||||
(
|
|
||||||
mkButton
|
|
||||||
"q"
|
|
||||||
"<CMD>qa<CR>"
|
|
||||||
"💣 Quit"
|
|
||||||
"String"
|
|
||||||
)
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 2;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,81 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.nixvim = {
|
|
||||||
plugins = {
|
|
||||||
cmp-nvim-lsp.enable = true;
|
|
||||||
cmp_luasnip.enable = true;
|
|
||||||
cmp = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
autoEnableSources = true;
|
|
||||||
experimental = { ghost_text = true; };
|
|
||||||
performance = {
|
|
||||||
debounce = 57;
|
|
||||||
fetchingTimeout = 197;
|
|
||||||
maxViewEntries = 27;
|
|
||||||
};
|
|
||||||
|
|
||||||
snippet.expand = ''
|
|
||||||
function(args)
|
|
||||||
require('luasnip').lsp_expand(args.body)
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
|
|
||||||
formatting.fields = ["kind" "abbr" "menu"];
|
|
||||||
|
|
||||||
sources = [
|
|
||||||
{
|
|
||||||
name = "nvim_lsp";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "luasnip";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
mapping = {
|
|
||||||
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
|
||||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
|
||||||
"<C-Space>" = "cmp.mapping.complete()";
|
|
||||||
"<C-j>" = "cmp.mapping.select_next_item()";
|
|
||||||
"<C-k>" = "cmp.mapping.select_prev_item()";
|
|
||||||
};
|
|
||||||
|
|
||||||
window = {
|
|
||||||
completion.border = "solid";
|
|
||||||
documentation.border = "solid";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraConfigLua = ''
|
|
||||||
luasnip = require("luasnip")
|
|
||||||
kind_icons = {
|
|
||||||
Text = "",
|
|
||||||
Method = "",
|
|
||||||
Function = "",
|
|
||||||
Constructor = "",
|
|
||||||
Field = "",
|
|
||||||
Variable = "",
|
|
||||||
Class = "",
|
|
||||||
Interface = "",
|
|
||||||
Module = "",
|
|
||||||
Property = "",
|
|
||||||
Unit = "",
|
|
||||||
Value = "",
|
|
||||||
Enum = "",
|
|
||||||
Keyword = "",
|
|
||||||
Snippet = "",
|
|
||||||
Color = "",
|
|
||||||
File = "",
|
|
||||||
Reference = "",
|
|
||||||
Folder = "",
|
|
||||||
EnumMember = "",
|
|
||||||
Constant = "",
|
|
||||||
Struct = "",
|
|
||||||
Event = "",
|
|
||||||
Operator = "",
|
|
||||||
TypeParameter = "",
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./alpha.nix
|
|
||||||
./cmp.nix
|
|
||||||
./lsp.nix
|
|
||||||
./luasnip.nix
|
|
||||||
./telescope.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.nixvim.plugins.lsp = {
|
|
||||||
enable = true;
|
|
||||||
servers = {
|
|
||||||
nil-ls = { enable = true; };
|
|
||||||
kotlin-language-server = { enable = true; };
|
|
||||||
rust-analyzer = { enable = true; installCargo = true; installRustc = true; };
|
|
||||||
pyright = { enable = true; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.nixvim.plugins.luasnip = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = {
|
|
||||||
enable_autosnippets = true;
|
|
||||||
store_selection_keys = "<Tab>";
|
|
||||||
};
|
|
||||||
fromVscode = [
|
|
||||||
{
|
|
||||||
lazyLoad = true;
|
|
||||||
paths = "${pkgs.vimPlugins.friendly-snippets}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,48 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = [
|
|
||||||
pkgs.ripgrep
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nixvim.plugins.telescope = {
|
|
||||||
enable = true;
|
|
||||||
extensions = {
|
|
||||||
file-browser = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
fzf-native = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
defaults = {
|
|
||||||
layout_config = {
|
|
||||||
horizontal = {
|
|
||||||
prompt_position = "top";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
sorting_strategy = "ascending";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
keymaps = {
|
|
||||||
"<leader><space>" = {
|
|
||||||
action = "find_files, {}";
|
|
||||||
options = {
|
|
||||||
desc = "Find project files";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"<leader>/" = {
|
|
||||||
action = "live_grep";
|
|
||||||
options = {
|
|
||||||
desc = "Grep (root dir)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"<C-p>" = {
|
|
||||||
action = "git_files, {}";
|
|
||||||
options = {
|
|
||||||
desc = "Search git files";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.nixvim = {
|
|
||||||
globals.mapleader = " ";
|
|
||||||
|
|
||||||
opts = {
|
|
||||||
number = true;
|
|
||||||
relativenumber = true;
|
|
||||||
|
|
||||||
tabstop = 2;
|
|
||||||
softtabstop = 2;
|
|
||||||
showtabline = 2;
|
|
||||||
expandtab = true;
|
|
||||||
|
|
||||||
shiftwidth = 2;
|
|
||||||
smartindent = true;
|
|
||||||
|
|
||||||
breakindent = true;
|
|
||||||
cursorline = true;
|
|
||||||
scrolloff = 8;
|
|
||||||
cmdheight = 0;
|
|
||||||
wrap = true;
|
|
||||||
termguicolors = true;
|
|
||||||
colorcolumn = "150";
|
|
||||||
showmode = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue