191 lines
4.4 KiB
Nix
191 lines
4.4 KiB
Nix
![]() |
{
|
||
|
lib,
|
||
|
config,
|
||
|
pkgs,
|
||
|
...
|
||
|
}:
|
||
|
|
||
|
with lib;
|
||
|
let
|
||
|
cfg = config.modules.neovim;
|
||
|
# theme = config.desktop.theming;
|
||
|
# colors = theme.colors;
|
||
|
in
|
||
|
{
|
||
|
options.modules.neovim = {
|
||
|
enable = mkEnableOption "neovim";
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
# programs.nixvim = {
|
||
|
# enable = true;
|
||
|
# defaultEditor = true;
|
||
|
# viAlias = true;
|
||
|
# vimAlias = true;
|
||
|
|
||
|
# # extraPackages = with pkgs; [ ];
|
||
|
|
||
|
# opts = {
|
||
|
# number = true;
|
||
|
# relativenumber = true;
|
||
|
|
||
|
# signcolumn = "yes";
|
||
|
|
||
|
# ignorecase = true;
|
||
|
# smartcase = true;
|
||
|
|
||
|
# tabstop = 4;
|
||
|
# shiftwidth = 4;
|
||
|
# softtabstop = 0;
|
||
|
# expandtab = true;
|
||
|
# smarttab = true;
|
||
|
|
||
|
# list = true;
|
||
|
# listchars = "tab:»┈«,trail:·,extends:→,precedes:←,nbsp:␣";
|
||
|
# };
|
||
|
|
||
|
# diagnostic.settings = {
|
||
|
# enable = true;
|
||
|
# signs = true;
|
||
|
# underline = true;
|
||
|
# update_in_insert = true;
|
||
|
# };
|
||
|
|
||
|
# extraConfigLua = ''
|
||
|
# vim.fn.sign_define("DiagnosticSignError",
|
||
|
# {text = "", texthl = "DiagnosticSignError"})
|
||
|
# vim.fn.sign_define("DiagnosticSignWarn",
|
||
|
# {text = "", texthl = "DiagnosticSignWarn"})
|
||
|
# vim.fn.sign_define("DiagnosticSignInfo",
|
||
|
# {text = "", texthl = "DiagnosticSignInfo"})
|
||
|
# vim.fn.sign_define("DiagnosticSignHint",
|
||
|
# {text = "💡", texthl = "DiagnosticSignHint"})
|
||
|
# '';
|
||
|
|
||
|
# keymaps = [
|
||
|
# # Save shortcut
|
||
|
# {
|
||
|
# action = ":update<CR>";
|
||
|
# key = "<C-s>";
|
||
|
# mode = "n";
|
||
|
# }
|
||
|
# {
|
||
|
# action = "<C-o>:update<CR>";
|
||
|
# key = "<C-s>";
|
||
|
# mode = "i";
|
||
|
# }
|
||
|
|
||
|
# # Neo tree
|
||
|
# {
|
||
|
# action = ":Neotree action=focus reveal toggle<CR>";
|
||
|
# key = "<leader>n";
|
||
|
# mode = "n";
|
||
|
# options.silent = true;
|
||
|
# }
|
||
|
# ];
|
||
|
|
||
|
# autoCmd = [
|
||
|
# {
|
||
|
# desc = "Automatic formatting";
|
||
|
# event = "BufWritePre";
|
||
|
# callback = {
|
||
|
# __raw = ''
|
||
|
# function()
|
||
|
# vim.lsp.buf.format {
|
||
|
# async = false,
|
||
|
# }
|
||
|
# end
|
||
|
# '';
|
||
|
# };
|
||
|
# }
|
||
|
# ];
|
||
|
|
||
|
# # highlight = {
|
||
|
# # Comment = {
|
||
|
# # italic = true;
|
||
|
# # fg = theme.schemeColors.withHashtag.base03; # TODO: Come up with a good name colors.muted maybe?
|
||
|
# # };
|
||
|
# # };
|
||
|
|
||
|
# plugins.lsp = {
|
||
|
# enable = true;
|
||
|
# };
|
||
|
|
||
|
# #plugins.treesitter = {
|
||
|
# # enable = true;
|
||
|
# #};
|
||
|
|
||
|
# plugins.cmp = {
|
||
|
# enable = true;
|
||
|
|
||
|
# settings = {
|
||
|
# mapping = {
|
||
|
# "<C-Space>" = "cmp.mapping.complete()";
|
||
|
# "<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
||
|
# "<C-e>" = "cmp.mapping.close()";
|
||
|
# "<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||
|
# "<CR>" = "cmp.mapping.confirm({ select = true })";
|
||
|
# "<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||
|
# "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||
|
# };
|
||
|
# sources = [
|
||
|
# { name = "path"; }
|
||
|
# { name = "nvim_lsp"; }
|
||
|
# ];
|
||
|
# };
|
||
|
# };
|
||
|
|
||
|
# plugins.web-devicons = {
|
||
|
# enable = true;
|
||
|
# };
|
||
|
|
||
|
# plugins.neo-tree = {
|
||
|
# enable = true;
|
||
|
|
||
|
# closeIfLastWindow = true;
|
||
|
# window = {
|
||
|
# width = 30;
|
||
|
# autoExpandWidth = true;
|
||
|
# };
|
||
|
|
||
|
# extraOptions = {
|
||
|
# default_component_configs.git_status.symbols = {
|
||
|
# # Change type
|
||
|
# added = "+";
|
||
|
# deleted = "✕";
|
||
|
# modified = "✦";
|
||
|
# renamed = "→";
|
||
|
|
||
|
# # Status type
|
||
|
# untracked = "?";
|
||
|
# ignored = "▫";
|
||
|
# unstaged = "□";
|
||
|
# staged = "■";
|
||
|
# conflict = "‼";
|
||
|
# };
|
||
|
# };
|
||
|
# };
|
||
|
|
||
|
# #plugins.cmp-nvim-lsp.enable = true;
|
||
|
|
||
|
# plugins.gitsigns = {
|
||
|
# enable = true;
|
||
|
# settings.current_line_blame = true;
|
||
|
# };
|
||
|
|
||
|
# #plugins.copilot-vim = {
|
||
|
# # enable = true;
|
||
|
# #};
|
||
|
|
||
|
# # plugins.vimtex = {
|
||
|
# # enable = true;
|
||
|
# # texlivePackage = null;
|
||
|
# # settings = {
|
||
|
# # view_method = "zathura";
|
||
|
# # };
|
||
|
# # };
|
||
|
# };
|
||
|
# programs.neovim.defaultEditor = true;
|
||
|
};
|
||
|
}
|