mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
base16: init plugin
This commit is contained in:
parent
657e5e6efb
commit
f97e2f6ffc
4 changed files with 159 additions and 6 deletions
|
@ -35,9 +35,9 @@
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.neovim-nightly;
|
package = pkgs.neovim-nightly;
|
||||||
colorschemes.gruvbox = {
|
colorschemes.base16 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
italics = true;
|
colorscheme = "ocean";
|
||||||
};
|
};
|
||||||
|
|
||||||
options.number = true;
|
options.number = true;
|
||||||
|
|
131
plugins/colorschemes/base16-list.nix
Normal file
131
plugins/colorschemes/base16-list.nix
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
# This is a list of all base16 themes
|
||||||
|
[
|
||||||
|
"3024"
|
||||||
|
"apathy"
|
||||||
|
"ashes"
|
||||||
|
"atelier-cave-light"
|
||||||
|
"atelier-cave"
|
||||||
|
"atelier-dune-light"
|
||||||
|
"atelier-dune"
|
||||||
|
"atelier-estuary-light"
|
||||||
|
"atelier-estuary"
|
||||||
|
"atelier-forest-light"
|
||||||
|
"atelier-forest"
|
||||||
|
"atelier-heath-light"
|
||||||
|
"atelier-heath"
|
||||||
|
"atelier-lakeside-light"
|
||||||
|
"atelier-lakeside"
|
||||||
|
"atelier-plateau-light"
|
||||||
|
"atelier-plateau"
|
||||||
|
"atelier-savanna-light"
|
||||||
|
"atelier-savanna"
|
||||||
|
"atelier-seaside-light"
|
||||||
|
"atelier-seaside"
|
||||||
|
"atelier-sulphurpool-light"
|
||||||
|
"atelier-sulphurpool"
|
||||||
|
"atlas"
|
||||||
|
"bespin"
|
||||||
|
"black-metal-bathory"
|
||||||
|
"black-metal-burzum"
|
||||||
|
"black-metal-dark-funeral"
|
||||||
|
"black-metal-gorgoroth"
|
||||||
|
"black-metal-immortal"
|
||||||
|
"black-metal-khold"
|
||||||
|
"black-metal-marduk"
|
||||||
|
"black-metal-mayhem"
|
||||||
|
"black-metal-nile"
|
||||||
|
"black-metal-venom"
|
||||||
|
"black-metal"
|
||||||
|
"brewer"
|
||||||
|
"bright"
|
||||||
|
"brogrammer"
|
||||||
|
"brushtrees-dark"
|
||||||
|
"brushtrees"
|
||||||
|
"chalk"
|
||||||
|
"circus"
|
||||||
|
"classic-dark"
|
||||||
|
"classic-light"
|
||||||
|
"codeschool"
|
||||||
|
"cupcake"
|
||||||
|
"cupertino"
|
||||||
|
"darktooth"
|
||||||
|
"default-dark"
|
||||||
|
"default-light"
|
||||||
|
"dracula"
|
||||||
|
"eighties"
|
||||||
|
"embers"
|
||||||
|
"flat"
|
||||||
|
"fruit-soda"
|
||||||
|
"github"
|
||||||
|
"google-dark"
|
||||||
|
"google-light"
|
||||||
|
"grayscale-dark"
|
||||||
|
"grayscale-light"
|
||||||
|
"greenscreen"
|
||||||
|
"gruvbox-dark-hard"
|
||||||
|
"gruvbox-dark-medium"
|
||||||
|
"gruvbox-dark-pale"
|
||||||
|
"gruvbox-dark-soft"
|
||||||
|
"gruvbox-light-hard"
|
||||||
|
"gruvbox-light-medium"
|
||||||
|
"gruvbox-light-soft"
|
||||||
|
"harmonic-dark"
|
||||||
|
"harmonic-light"
|
||||||
|
"heetch-light"
|
||||||
|
"heetch"
|
||||||
|
"helios"
|
||||||
|
"hopscotch"
|
||||||
|
"horizon-dark"
|
||||||
|
"ia-dark"
|
||||||
|
"ia-light"
|
||||||
|
"icy"
|
||||||
|
"irblack"
|
||||||
|
"isotope"
|
||||||
|
"macintosh"
|
||||||
|
"marrakesh"
|
||||||
|
"material-darker"
|
||||||
|
"material-lighter"
|
||||||
|
"material-palenight"
|
||||||
|
"material"
|
||||||
|
"material-vivid"
|
||||||
|
"materia"
|
||||||
|
"mellow-purple"
|
||||||
|
"mexico-light"
|
||||||
|
"mocha"
|
||||||
|
"monokai"
|
||||||
|
"nord"
|
||||||
|
"oceanicnext"
|
||||||
|
"ocean"
|
||||||
|
"onedark"
|
||||||
|
"one-light"
|
||||||
|
"outrun-dark"
|
||||||
|
"papercolor-dark"
|
||||||
|
"papercolor-light"
|
||||||
|
"paraiso"
|
||||||
|
"phd"
|
||||||
|
"pico"
|
||||||
|
"pop"
|
||||||
|
"porple"
|
||||||
|
"railscasts"
|
||||||
|
"rebecca"
|
||||||
|
"seti"
|
||||||
|
"shapeshifter"
|
||||||
|
"snazzy"
|
||||||
|
"solarflare"
|
||||||
|
"solarized-dark"
|
||||||
|
"solarized-light"
|
||||||
|
"spacemacs"
|
||||||
|
"summerfruit-dark"
|
||||||
|
"summerfruit-light"
|
||||||
|
"synth-midnight-dark"
|
||||||
|
"tomorrow-night-eighties"
|
||||||
|
"tomorrow-night"
|
||||||
|
"tomorrow"
|
||||||
|
"tube"
|
||||||
|
"twilight"
|
||||||
|
"unikitty-dark"
|
||||||
|
"unikitty-light"
|
||||||
|
"woodland"
|
||||||
|
"xcode-dusk"
|
||||||
|
"zenburn"
|
||||||
|
]
|
|
@ -2,18 +2,40 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.programs.nixvim.colorschemes.base16;
|
cfg = config.programs.nixvim.colorschemes.base16;
|
||||||
colors = types.enum [ "bg" "red" "green" "yellow" "blue" "purple" "aqua" "gray" "fg" "bg0_h" "bg0" "bg1" "bg2" "bg3" "bg4" "gray" "orange" "bg0_s" "fg0" "fg1" "fg2" "fg3" "fg4" ];
|
themes = import ./base16-list.nix;
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
programs.nixvim.colorschemes.base16 = {
|
programs.nixvim.colorschemes.base16 = {
|
||||||
enable = mkEnableOption "Enable base16";
|
enable = mkEnableOption "Enable base16";
|
||||||
|
|
||||||
|
useTruecolor = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Whether to use truecolor for the colorschemes. If set to false, you'll need to set up base16 in your shell.";
|
||||||
|
};
|
||||||
|
|
||||||
|
colorscheme = mkOption {
|
||||||
|
type = types.enum themes;
|
||||||
|
description = "The base16 colorscheme to use";
|
||||||
|
};
|
||||||
|
|
||||||
|
setUpBar = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Whether to install the matching plugin for your statusbar. This does nothing as of yet, waiting for upstream support.";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
colorscheme = "base16-default-dark";
|
colorscheme = "base16-${cfg.colorscheme}";
|
||||||
extraPlugins = [ pkgs.vimPlugins.base16-vim ];
|
extraPlugins = [ pkgs.vimPlugins.base16-vim ];
|
||||||
|
|
||||||
|
plugins.airline.theme = mkIf (cfg.setUpBar) "base16";
|
||||||
|
plugins.lightline.colorscheme = null;
|
||||||
|
|
||||||
|
options.termguicolors = mkIf cfg.useTruecolor true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,13 +75,13 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = let
|
config = let
|
||||||
configAttrs = {
|
configAttrs = filterAttrs (_: v: v != null) {
|
||||||
inherit (cfg) colorscheme active component componentFunction modeMap;
|
inherit (cfg) colorscheme active component componentFunction modeMap;
|
||||||
};
|
};
|
||||||
in mkIf cfg.enable {
|
in mkIf cfg.enable {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
extraPlugins = [ pkgs.vimPlugins.lightline-vim ];
|
extraPlugins = [ pkgs.vimPlugins.lightline-vim ];
|
||||||
globals.lightline = configAttrs;
|
globals.lightline = mkIf (configAttrs != {}) configAttrs;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue