Neovim, add catppuccin theme

This commit is contained in:
Julia Lange 2025-01-09 10:04:32 -08:00
parent dfbe5210c4
commit f7ff7efe7c
Signed by: Julia
SSH key fingerprint: SHA256:KI8YxpkPRbnDRkXPgCuQCVz181++Vy7NAvmQj8alOhM
2 changed files with 31 additions and 4 deletions

View file

@ -9,6 +9,9 @@
nix.enable = lib.mkEnableOption "Enables nix support"; nix.enable = lib.mkEnableOption "Enables nix support";
rust.enable = lib.mkEnableOption "Enables rust support"; rust.enable = lib.mkEnableOption "Enables rust support";
}; };
themes = {
catppuccin.enable = lib.mkEnableOption "Enables catppuccin theme";
};
plugins = { plugins = {
comments.enable = lib.mkEnableOption "Enables nvim-comment"; comments.enable = lib.mkEnableOption "Enables nvim-comment";
fugitive.enable = lib.mkEnableOption "Enables git-fugitive"; fugitive.enable = lib.mkEnableOption "Enables git-fugitive";
@ -59,6 +62,7 @@
lopts = lib.lists.optionals; lopts = lib.lists.optionals;
cfgp = config.neovim.plugins; cfgp = config.neovim.plugins;
cfgl = config.neovim.languages; cfgl = config.neovim.languages;
cfgt = config.neovim.themes;
comments = lopts cfgp.comments.enable (with pkgs.vimPlugins; [ comments = lopts cfgp.comments.enable (with pkgs.vimPlugins; [
{ {
@ -83,9 +87,14 @@
plugin = lualine-nvim; plugin = lualine-nvim;
type = "lua"; type = "lua";
config = '' config = ''
require("lualine").setup({ require("lualine").setup {
icons_enabled = true, options = {
}) icons_enabled = true,
'' + lib.strings.optionalString cfgt.catppuccin.enable ''
theme = "catppuccin"
'' + ''
}
}
''; '';
} }
nvim-web-devicons nvim-web-devicons
@ -103,6 +112,23 @@
go-nvim go-nvim
]); ]);
catppuccin-pkg = lopts cfgt.catppuccin.enable (with pkgs.vimPlugins; [
{
plugin = catppuccin-nvim;
type = "lua";
config = ''
vim.cmd.colorscheme "catppuccin-mocha"
require('catppuccin').setup({
integrations = {
'' + lib.strings.optionalString cfgp.wiki.enable ''
vimwiki = true
'' + ''
}
})
'';
}
]);
wiki = lopts cfgp.wiki.enable (with pkgs.vimPlugins; [ wiki = lopts cfgp.wiki.enable (with pkgs.vimPlugins; [
{ {
plugin = vimwiki; plugin = vimwiki;
@ -120,7 +146,7 @@
} }
]); ]);
in comments ++ fugitive ++ luasnip-pkg ++ lualine ++ in comments ++ fugitive ++ luasnip-pkg ++ lualine ++
nix-pkg ++ rust-pkg ++ go-pkg ++ wiki; nix-pkg ++ rust-pkg ++ go-pkg ++ wiki ++ catppuccin-pkg;
}; };
}; };
} }

View file

@ -89,6 +89,7 @@
treesitter.enable = true; treesitter.enable = true;
wiki.enable = true; wiki.enable = true;
}; };
neovim.themes.catppuccin.enable = true;
lf.enable = true; lf.enable = true;
lf.hiddenfiles = [ lf.hiddenfiles = [