refactor neovim colors

using base16 color plugin instead of homemade
This commit is contained in:
Noah Masur 2023-04-15 18:38:03 -04:00
parent 8d389013ad
commit 8f8012e435
10 changed files with 86 additions and 41 deletions

View File

@ -5,8 +5,7 @@
program = "${ program = "${
(import ../modules/common/neovim/package { (import ../modules/common/neovim/package {
inherit pkgs; inherit pkgs;
colors = colors = (import ../colorscheme/gruvbox).dark;
import ../colorscheme/gruvbox/neovim-gruvbox.nix { inherit pkgs; };
}) })
}/bin/nvim"; }/bin/nvim";

View File

@ -0,0 +1,45 @@
# Gruvbox with a darker background for greater contrast
{
name = "gruvbox-dark"; # Dark, Medium
author =
"Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox), ElRastaOk (https://www.reddit.com/user/ElRastaOk)";
dark = {
base00 = "#1D2122"; # ---- This is the change from normal gruvbox
base01 = "#3c3836"; # ---
base02 = "#504945"; # --
base03 = "#665c54"; # -
base04 = "#bdae93"; # +
base05 = "#d5c4a1"; # ++
base06 = "#ebdbb2"; # +++
base07 = "#fbf1c7"; # ++++
base08 = "#fb4934"; # red
base09 = "#fe8019"; # orange
base0A = "#fabd2f"; # yellow
base0B = "#b8bb26"; # green
base0C = "#8ec07c"; # aqua/cyan
base0D = "#83a598"; # blue
base0E = "#d3869b"; # purple
base0F = "#d65d0e"; # brown
batTheme = "gruvbox-dark";
};
light = {
base00 = "#fbf1c7"; # ----
base01 = "#ebdbb2"; # ---
base02 = "#d5c4a1"; # --
base03 = "#bdae93"; # -
base04 = "#665c54"; # +
base05 = "#504945"; # ++
base06 = "#3c3836"; # +++
base07 = "#1D2122"; # ++++ Adjusted darker here
base08 = "#9d0006"; # red
base09 = "#af3a03"; # orange
base0A = "#b57614"; # yellow
base0B = "#79740e"; # green
base0C = "#427b58"; # aqua/cyan
base0D = "#076678"; # blue
base0E = "#8f3f71"; # purple
base0F = "#d65d0e"; # brown
batTheme = "gruvbox-light";
};
}

View File

@ -19,7 +19,6 @@
base0D = "#83a598"; # blue base0D = "#83a598"; # blue
base0E = "#d3869b"; # purple base0E = "#d3869b"; # purple
base0F = "#d65d0e"; # brown base0F = "#d65d0e"; # brown
neovimConfig = ./neovim-gruvbox.nix;
batTheme = "gruvbox-dark"; batTheme = "gruvbox-dark";
}; };
light = { light = {
@ -39,7 +38,6 @@
base0D = "#076678"; # blue base0D = "#076678"; # blue
base0E = "#8f3f71"; # purple base0E = "#8f3f71"; # purple
base0F = "#d65d0e"; # brown base0F = "#d65d0e"; # brown
neovimConfig = ./neovim-gruvbox.nix;
batTheme = "gruvbox-light"; batTheme = "gruvbox-light";
}; };
} }

View File

@ -1,12 +0,0 @@
{ pkgs, ... }: {
plugins = [ pkgs.vimPlugins.vim-gruvbox8 ];
vim.g.gruvbox_italicize_strings = 0;
vim.o.background = "dark";
vimscript = ''
let g:gruvbox_italicize_strings = 0
colorscheme gruvbox8
'';
}

View File

@ -1,21 +1,23 @@
{ {
name = "nord"; dark = {
author = "arcticicestudio"; name = "nord";
base00 = "#2E3440"; author = "arcticicestudio";
base01 = "#3B4252"; base00 = "#2E3440";
base02 = "#434C5E"; base01 = "#3B4252";
base03 = "#4C566A"; base02 = "#434C5E";
base04 = "#D8DEE9"; base03 = "#4C566A";
base05 = "#E5E9F0"; base04 = "#D8DEE9";
base06 = "#ECEFF4"; base05 = "#E5E9F0";
base07 = "#8FBCBB"; base06 = "#ECEFF4";
base08 = "#88C0D0"; base07 = "#8FBCBB";
base09 = "#81A1C1"; base08 = "#88C0D0";
base0A = "#5E81AC"; base09 = "#81A1C1";
base0B = "#BF616A"; base0A = "#5E81AC";
base0C = "#D08770"; base0B = "#BF616A";
base0D = "#EBCB8B"; base0C = "#D08770";
base0E = "#A3BE8C"; base0D = "#EBCB8B";
base0F = "#B48EAD"; base0E = "#A3BE8C";
neovimConfig = ./neovim.lua; base0F = "#B48EAD";
batTheme = "nord";
};
} }

View File

@ -180,8 +180,7 @@
neovim = let pkgs = import nixpkgs { inherit system overlays; }; neovim = let pkgs = import nixpkgs { inherit system overlays; };
in import ./modules/common/neovim/package { in import ./modules/common/neovim/package {
inherit pkgs; inherit pkgs;
colors = colors = (import ./colorscheme/gruvbox-dark).dark;
import ./colorscheme/gruvbox/neovim-gruvbox.nix { inherit pkgs; };
}; };
}); });

View File

@ -26,7 +26,7 @@ nixpkgs.lib.nixosSystem {
# Theming # Theming
theme = { theme = {
colors = (import ../../colorscheme/gruvbox).dark; colors = (import ../../colorscheme/gruvbox-dark).dark;
dark = true; dark = true;
}; };
wallpaper = "${wallpapers}/gruvbox/road.jpg"; wallpaper = "${wallpapers}/gruvbox/road.jpg";

View File

@ -0,0 +1,13 @@
{ pkgs, lib, config, ... }: {
options.colors = lib.mkOption {
type = lib.types.attrsOf lib.types.str;
description = "Attrset of base16 colorscheme key value pairs.";
};
config = {
plugins = [ pkgs.vimPlugins.nvim-base16 ];
setup.base16-colorscheme = config.colors;
};
}

View File

@ -4,7 +4,7 @@ let
neovim = import ./package { neovim = import ./package {
inherit pkgs; inherit pkgs;
colors = import config.theme.colors.neovimConfig { inherit pkgs; }; colors = config.theme.colors;
}; };
in { in {

View File

@ -26,13 +26,15 @@
# ] ++ extraConfig; # ] ++ extraConfig;
# } # }
{ pkgs, colors ? { }, ... }: { pkgs, colors, ... }:
pkgs.neovimBuilder { pkgs.neovimBuilder {
package = pkgs.neovim-unwrapped; package = pkgs.neovim-unwrapped;
inherit colors;
imports = [ imports = [
../config/align.nix ../config/align.nix
../config/bufferline.nix ../config/bufferline.nix
../config/colors.nix
../config/completion.nix ../config/completion.nix
../config/gitsigns.nix ../config/gitsigns.nix
../config/lsp.nix ../config/lsp.nix
@ -42,6 +44,5 @@ pkgs.neovimBuilder {
../config/telescope.nix ../config/telescope.nix
../config/toggleterm.nix ../config/toggleterm.nix
../config/tree.nix ../config/tree.nix
colors
]; ];
} }