added nord colorscheme (#23)

* added nord colorscheme

* nord theme: only add the italics global if set

* Set colorscheme after globals
This commit is contained in:
Alexander Nortung 2022-07-14 10:28:07 +00:00 committed by GitHub
parent 11a68d154c
commit a4aefb2239
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 57 additions and 4 deletions

View file

@ -204,13 +204,16 @@ in
});
configure = {
customRC = cfg.extraConfigVim + (optionalString (cfg.colorscheme != "" && cfg.colorscheme != null) ''
colorscheme ${cfg.colorscheme}
'') + ''
customRC = cfg.extraConfigVim + ''
lua <<EOF
${cfg.extraConfigLua}
EOF
'';
'' +
# Set colorscheme after setting globals.
# Some colorschemes depends on variables being set before setting the colorscheme.
(optionalString (cfg.colorscheme != "" && cfg.colorscheme != null) ''
colorscheme ${cfg.colorscheme}
'') ;
packages.nixvim = {
start = filter (f: f != null) (map

View file

@ -0,0 +1,49 @@
{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.programs.nixvim.colorschemes.nord;
in
{
options = {
programs.nixvim.colorschemes.nord = {
enable = mkEnableOption "Enable nord";
contrast = mkEnableOption
"Make sidebars and popup menus like nvim-tree and telescope have a different background";
borders = mkEnableOption
"Enable the border between verticaly split windows visable";
disable_background = mkEnableOption
"Disable the setting of background color so that NeoVim can use your terminal background";
cursorline_transparent = mkEnableOption
"Set the cursorline transparent/visible";
enable_sidebar_background = mkEnableOption
"Re-enables the background of the sidebar if you disabled the background of everything";
italic = mkOption {
description = "enables/disables italics";
type = types.nullOr types.bool;
default = null;
};
};
};
config = mkIf cfg.enable {
programs.nixvim = {
colorscheme = "nord";
extraPlugins = [ pkgs.vimPlugins.nord-nvim ];
globals = {
nord_contrast = mkIf cfg.contrast 1;
nord_borders = mkIf cfg.borders 1;
nord_disable_background = mkIf cfg.disable_background 1;
nord_cursoline_transparent = mkIf cfg.cursorline_transparent 1;
nord_enable_sidebar_background = mkIf cfg.enable_sidebar_background 1;
nord_italic = mkIf (cfg.italic != null) cfg.italic;
};
};
};
}

View file

@ -5,6 +5,7 @@
./colorschemes/base16.nix
./colorschemes/gruvbox.nix
./colorschemes/nord.nix
./colorschemes/one.nix
./colorschemes/onedark.nix
./colorschemes/tokyonight.nix