Initial commit

This commit is contained in:
2025-08-20 18:24:02 +03:00
commit 2dec42d487
116 changed files with 6591 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
{ pkgs, config, ...}: {
hm = {
imports = [
./lsp.nix
./oil.nix
];
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
extraLuaConfig = ''
require "nvim.icons"
require "nvim.keybinds"
require "nvim.bufferline"
require "nvim.cyrillic"
-------------------
local bind = vim.keymap.set
local opt = vim.opt
local g = vim.g
local o = vim.o
local cmd = vim.cmd
-------------------
-- cmd [[colorscheme gruvbox]]
o.expandtab = true
o.smarttab = true
o.cindent = true
o.autoindent = true
o.ignorecase = true
o.smartcase = true
o.backup = false
o.writebackup = false
o.undofile = true
o.swapfile = false
opt.relativenumber = true
opt.number = true
opt.tabstop = 2
opt.shiftwidth = 2
opt.spelllang = { "en_us", "ru", "by" }
opt.mouse = "a"
opt.termguicolors = true
opt.clipboard = "unnamedplus"
'';
plugins = with pkgs.vimPlugins; [
nvim-tree-lua
gruvbox-nvim
which-key-nvim
nvim-autopairs
{ plugin = nvim-highlight-colors; type = "lua";
config = "require('nvim-highlight-colors').setup({})"; }
{ plugin = comment-nvim; type = "lua";
config = "require('Comment').setup()"; }
{ plugin = nvim-autopairs; type = "lua";
config = ''require("nvim-autopairs").setup{}''; }
{ plugin = lualine-nvim; type = "lua";
config = ''require "nvim.lualine"''; }
nvim-web-devicons
vim-startuptime
{ plugin = nvim-tree-lua; type = "lua";
config = ''require "nvim.filemanager"''; }
{ plugin = telescope-nvim; type = "lua";
config = ''
require('telescope').load_extension('fzf')
local telescope = require('telescope.builtin')
-- Old keybinds
bind('n', 'gfc', telescope.find_files, {})
bind('n', 'gfs', telescope.live_grep, {})
bind('n', 'gfb', telescope.buffers, {})
-- New keybinds
bind('n', '<space>/', telescope.live_grep, {})
bind('n', '<space>h', telescope.help_tags, {})
bind('n', '<space>b', telescope.buffers, {})
bind('n', '<space>e', telescope.buffers, {})
bind('n', '<space>f', telescope.find_files, {})
''; }
{ plugin = editorconfig-nvim; type = "lua";
config = ''require "editorconfig"''; }
telescope-fzf-native-nvim
bufferline-nvim # ./lua/nvim/bufferline.lua
];
};
home = {
file.".config/nvim/lua" = {
enable = true;
source = ./lua;
target = ".config/nvim/lua";
recursive = true;
};
};
editorconfig = {
enable = true;
settings = {
"*" = {
charset = "utf-8";
end_of_line = "lf";
trim_trailing_whitespace = true;
insert_final_newline = true;
max_line_width = 78;
indent_style = "space";
indent_size = 2;
};
};
};
home.sessionVariables = {
# EDITOR = lib.mkForce lib.getExe pkgs.neovim;
MANPAGER = "${config.hm.home.sessionVariables.EDITOR} +Man!";
};
};
}