fix: reduce size of config
Some checks failed
/ check (nvimDev) (push) Successful in 10s
/ check (nvimHeadless) (push) Failing after 6s
/ check (nvimNoBundledBins) (push) Successful in 8s
/ check (nvimNoLsp) (push) Successful in 8s
/ check (nvimNoTSGrammars) (push) Successful in 9s
/ check (treefmt) (push) Successful in 3s
/ build (audiomenu) (push) Has been skipped
/ build (docs) (push) Has been skipped
/ build (jpassmenu) (push) Has been skipped
/ build (nixosConfigurations.vm.config.system.build.toplevel) (push) Has been skipped
/ build (nvim) (push) Has been skipped
/ report-size (push) Has been skipped
Some checks failed
/ check (nvimDev) (push) Successful in 10s
/ check (nvimHeadless) (push) Failing after 6s
/ check (nvimNoBundledBins) (push) Successful in 8s
/ check (nvimNoLsp) (push) Successful in 8s
/ check (nvimNoTSGrammars) (push) Successful in 9s
/ check (treefmt) (push) Successful in 3s
/ build (audiomenu) (push) Has been skipped
/ build (docs) (push) Has been skipped
/ build (jpassmenu) (push) Has been skipped
/ build (nixosConfigurations.vm.config.system.build.toplevel) (push) Has been skipped
/ build (nvim) (push) Has been skipped
/ report-size (push) Has been skipped
And add more knobs to further reduce the config size.
This commit is contained in:
parent
b6ca45f7fc
commit
5a7f12d997
5 changed files with 99 additions and 88 deletions
|
@ -17,7 +17,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
moduleDev = nvimModule { };
|
moduleDev = nvimModule { };
|
||||||
moduleHeadless = nvimModule { jhome.nvim.dev.enable = false; };
|
moduleHeadless = nvimModule {
|
||||||
|
jhome.nvim.dev.enable = false;
|
||||||
|
jhome.nvim.reduceSize = true;
|
||||||
|
};
|
||||||
moduleNoLsp = nvimModule { jhome.nvim.dev.bundleLSPs = false; };
|
moduleNoLsp = nvimModule { jhome.nvim.dev.bundleLSPs = false; };
|
||||||
moduleNoTSGrammars = nvimModule { jhome.nvim.dev.bundleGrammars = false; };
|
moduleNoTSGrammars = nvimModule { jhome.nvim.dev.bundleGrammars = false; };
|
||||||
moduleNoBundledBins = nvimModule {
|
moduleNoBundledBins = nvimModule {
|
||||||
|
|
|
@ -69,12 +69,10 @@ in
|
||||||
homedir = "${config.xdg.dataHome}/gnupg";
|
homedir = "${config.xdg.dataHome}/gnupg";
|
||||||
};
|
};
|
||||||
# Mail client
|
# Mail client
|
||||||
himalaya.enable = true;
|
himalaya.enable = lib.mkDefault true;
|
||||||
# Another shell
|
|
||||||
nushell.enable = true;
|
|
||||||
# Password manager
|
# Password manager
|
||||||
password-store = {
|
password-store = {
|
||||||
enable = true;
|
enable = lib.mkDefault true;
|
||||||
package = pkgs.pass-nodmenu;
|
package = pkgs.pass-nodmenu;
|
||||||
settings.PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass";
|
settings.PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass";
|
||||||
};
|
};
|
||||||
|
|
|
@ -71,6 +71,8 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
scripts = builtins.attrValues { inherit (pkgs.mpvScripts) uosc thumbfast; };
|
scripts = builtins.attrValues { inherit (pkgs.mpvScripts) uosc thumbfast; };
|
||||||
};
|
};
|
||||||
|
# Text editor
|
||||||
|
nvim.clipboard.providers.wl-copy.enable = lib.mkDefault true;
|
||||||
# Status bar
|
# Status bar
|
||||||
waybar = {
|
waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -12,6 +12,7 @@ in
|
||||||
{
|
{
|
||||||
options.jhome.nvim = {
|
options.jhome.nvim = {
|
||||||
enable = mkDisableOption "jalil's Neovim configuration";
|
enable = mkDisableOption "jalil's Neovim configuration";
|
||||||
|
reduceSize = mkEnableOption "reduce size by disabling big modules";
|
||||||
dev = mkOption {
|
dev = mkOption {
|
||||||
type = types.submodule {
|
type = types.submodule {
|
||||||
options = {
|
options = {
|
||||||
|
|
|
@ -1,4 +1,14 @@
|
||||||
{ pkgs, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.jhome.nvim;
|
||||||
|
plugins = pkgs.vimPlugins;
|
||||||
|
extraPlugins = import ./extraPlugins { inherit pkgs; };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./options.nix
|
./options.nix
|
||||||
|
@ -8,91 +18,88 @@
|
||||||
./augroups.nix
|
./augroups.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = lib.mkMerge [
|
||||||
withRuby = false;
|
{
|
||||||
globals.mapleader = " ";
|
withRuby = false;
|
||||||
# Appearance
|
globals.mapleader = " ";
|
||||||
colorschemes.gruvbox = {
|
# Appearance
|
||||||
enable = true;
|
colorschemes.gruvbox = {
|
||||||
settings = {
|
enable = true;
|
||||||
bold = true;
|
settings = {
|
||||||
transparent_mode = true;
|
bold = true;
|
||||||
terminal_colors = true;
|
transparent_mode = true;
|
||||||
|
terminal_colors = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
opts = {
|
||||||
clipboard.providers.wl-copy.enable = true;
|
number = true;
|
||||||
opts = {
|
relativenumber = true;
|
||||||
number = true;
|
colorcolumn = "+1";
|
||||||
relativenumber = true;
|
cursorline = true;
|
||||||
colorcolumn = "+1";
|
wrap = false;
|
||||||
cursorline = true;
|
splitright = true;
|
||||||
wrap = false;
|
# Tabs & indentation
|
||||||
splitright = true;
|
smarttab = true;
|
||||||
# Tabs & indentation
|
autoindent = true;
|
||||||
smarttab = true;
|
smartindent = true;
|
||||||
autoindent = true;
|
# Search path
|
||||||
smartindent = true;
|
path = ".,/usr/include,**";
|
||||||
# Search path
|
wildmenu = true;
|
||||||
path = ".,/usr/include,**";
|
hlsearch = true;
|
||||||
wildmenu = true;
|
incsearch = true;
|
||||||
hlsearch = true;
|
ignorecase = true; # Search ignores cases
|
||||||
incsearch = true;
|
smartcase = true; # Unless it has a capital letter
|
||||||
ignorecase = true; # Search ignores cases
|
# Enable local configuration :h 'exrc'
|
||||||
smartcase = true; # Unless it has a capital letter
|
exrc = true; # safe since nvim 0.9
|
||||||
# Enable local configuration :h 'exrc'
|
};
|
||||||
exrc = true; # safe since nvim 0.9
|
extraPlugins = [
|
||||||
};
|
|
||||||
extraPlugins =
|
|
||||||
let
|
|
||||||
plugins = pkgs.vimPlugins;
|
|
||||||
extraPlugins = import ./extraPlugins { inherit pkgs; };
|
|
||||||
in
|
|
||||||
[
|
|
||||||
plugins.nui-nvim
|
plugins.nui-nvim
|
||||||
plugins.nvim-web-devicons
|
plugins.nvim-web-devicons
|
||||||
plugins.vim-jjdescription
|
plugins.vim-jjdescription # FIXME: included since neovim nightly
|
||||||
extraPlugins.nvim-silicon
|
|
||||||
];
|
];
|
||||||
# Formatting & linters
|
extraPackages = [ pkgs.luajitPackages.jsregexp ];
|
||||||
extraPackages = [
|
extraConfigLuaPre =
|
||||||
pkgs.luajitPackages.jsregexp
|
# lua
|
||||||
pkgs.silicon
|
''
|
||||||
];
|
-- Lua Pre Config
|
||||||
extraConfigLuaPre =
|
if vim.fn.has 'termguicolors' then
|
||||||
# lua
|
-- Enable RGB colors
|
||||||
''
|
vim.g.termguicolors = true
|
||||||
-- Lua Pre Config
|
end
|
||||||
if vim.fn.has 'termguicolors' then
|
|
||||||
-- Enable RGB colors
|
|
||||||
vim.g.termguicolors = true
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Useful function
|
-- Useful function
|
||||||
local has_words_before = function()
|
local has_words_before = function()
|
||||||
-- unpack = unpack or table.unpack
|
-- unpack = unpack or table.unpack
|
||||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||||
return col ~= 0
|
return col ~= 0
|
||||||
and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil
|
and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil
|
||||||
end
|
end
|
||||||
-- END: Lua Pre Config
|
-- END: Lua Pre Config
|
||||||
'';
|
'';
|
||||||
extraConfigLua =
|
}
|
||||||
# lua
|
# Big packages that are kinda unnecessary
|
||||||
''
|
(lib.mkIf (!cfg.reduceSize) {
|
||||||
-- Lua Config
|
extraPlugins = [ extraPlugins.nvim-silicon ];
|
||||||
require("nvim-silicon").setup {
|
extraPackages = [ pkgs.silicon ];
|
||||||
theme = "gruvbox-dark",
|
|
||||||
pad_horiz = 16,
|
extraConfigLua =
|
||||||
pad_vert = 16,
|
# lua
|
||||||
-- Current buffer name
|
''
|
||||||
window_title = function()
|
-- Lua Config
|
||||||
return vim.fn.fnamemodify(
|
require("nvim-silicon").setup {
|
||||||
vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()),
|
theme = "gruvbox-dark",
|
||||||
":t"
|
pad_horiz = 16,
|
||||||
)
|
pad_vert = 16,
|
||||||
end,
|
-- Current buffer name
|
||||||
}
|
window_title = function()
|
||||||
-- END: Lua Config
|
return vim.fn.fnamemodify(
|
||||||
'';
|
vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()),
|
||||||
};
|
":t"
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
-- END: Lua Config
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue