nixvimConfigs/trovebelt/setups/ui: init

This commit is contained in:
Gabriel Arazas 2024-02-04 21:08:28 +08:00
parent e4ddf9aeff
commit ab8b139eb9
No known key found for this signature in database
GPG Key ID: ADE0C41DAB221FCC
3 changed files with 63 additions and 0 deletions

View File

@ -6,6 +6,7 @@
config = { config = {
nixvimConfigs.trovebelt.setups = { nixvimConfigs.trovebelt.setups = {
lsp.enable = true; lsp.enable = true;
ui.enable = true;
}; };
# Some general settings. # Some general settings.

View File

@ -1,5 +1,6 @@
{ {
imports = [ imports = [
./setups/lsp.nix ./setups/lsp.nix
./setups/ui.nix
]; ];
} }

View File

@ -0,0 +1,61 @@
{ config, lib, ... }:
let
nixvimCfg = config.nixvimConfigs.trovebelt;
cfg = nixvimCfg.setups.ui;
in
{
options.nixvimConfigs.trovebelt.setups.ui.enable =
lib.mkEnableOption "configuration for UI-related settings and plugins";
config = lib.mkIf cfg.enable {
# Set the colorscheme. Take note, we'll set in the default since this NixVim configuration
colorschemes = lib.mkDefault { gruvbox.enable = true; };
# Make it so that terminal GUI colors are au natural.
options.termguicolors = true;
# Show locations you're supposed to be copying from the internet (or your
# own code).
options.number = true;
# Make it easy to count.
options.relativenumber = true;
# Make it easy to identify your cursor.
options.cursorline = true;
# Conceal all of the hidden weapons (or distractions).
options.conceallevel = 1;
# Show them hidden suckers.
options.list = true;
options.listchars = {
tab = " *";
trail = "·";
nbsp = "%";
};
# Taste the rainbow delimiters.
plugins.rainbow-delimiters.enable = nixvimCfg.setups.treesitter.enable;
# Enable them status bars.
plugins.lualine = {
enable = true;
iconsEnabled = true;
globalstatus = true;
alwaysDivideMiddle = true;
# Disable the section separators.
sectionSeparators = {
left = "";
right = "";
};
sections = {
lualine_a = [ "mode" ];
lualine_z = [ "location" ];
};
};
};
}