mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 11:36:20 +00:00
feat: nvim integration
This commit is contained in:
@@ -1,23 +1,4 @@
|
|||||||
{ pkgs }:
|
{ pkgs }:
|
||||||
let
|
|
||||||
darkman = pkgs.vimUtils.buildVimPlugin {
|
|
||||||
name = "darkman";
|
|
||||||
src = pkgs.buildGoModule rec {
|
|
||||||
pname = "darkman.nvim";
|
|
||||||
version = "0.0.1";
|
|
||||||
vendorHash = "sha256-HpyKzvKVN9hVRxxca4sdWRo91H32Ha9gxitr7Qg5MY8=";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "4e554c4c";
|
|
||||||
repo = "darkman.nvim";
|
|
||||||
rev = "150aa63a13837c44abd87ff20d3a806321a17b2d";
|
|
||||||
sha256 = "sha256-ssEYdM460I1rufjgh63CEkLi4K+bEWbwku/6gQbytno=";
|
|
||||||
};
|
|
||||||
postInstall = ''
|
|
||||||
cp -r lua $out
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
@@ -90,25 +71,9 @@ in
|
|||||||
|
|
||||||
extraConfigLua = builtins.readFile ./extra-config.lua;
|
extraConfigLua = builtins.readFile ./extra-config.lua;
|
||||||
|
|
||||||
colorschemes.catppuccin = {
|
|
||||||
enable = true;
|
|
||||||
terminalColors = true;
|
|
||||||
transparentBackground = true;
|
|
||||||
background = {
|
|
||||||
dark = "frappe";
|
|
||||||
light = "latte";
|
|
||||||
};
|
|
||||||
integrations.native_lsp.underlines = {
|
|
||||||
errors = [ "undercurl" ];
|
|
||||||
warnings = [ "undercurl" ];
|
|
||||||
};
|
|
||||||
customHighlights = builtins.readFile ./custom-highlights.lua;
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
lualine = {
|
lualine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "catppuccin";
|
|
||||||
globalstatus = true;
|
globalstatus = true;
|
||||||
sectionSeparators = {
|
sectionSeparators = {
|
||||||
left = "";
|
left = "";
|
||||||
@@ -470,7 +435,6 @@ in
|
|||||||
];
|
];
|
||||||
extraPlugins = with pkgs.vimPlugins; [
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
vim-mergetool
|
vim-mergetool
|
||||||
darkman
|
|
||||||
rest-nvim
|
rest-nvim
|
||||||
plenary-nvim
|
plenary-nvim
|
||||||
actions-preview-nvim
|
actions-preview-nvim
|
||||||
|
|||||||
@@ -1,18 +1,8 @@
|
|||||||
require("darkman").setup()
|
|
||||||
require("cmp-npm").setup({})
|
require("cmp-npm").setup({})
|
||||||
require("rest-nvim").setup({})
|
require("rest-nvim").setup({})
|
||||||
require("actions-preview").setup({})
|
require("actions-preview").setup({})
|
||||||
|
|
||||||
if vim.g.neovide then
|
if vim.g.neovide then
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
|
||||||
pattern = "*",
|
|
||||||
callback = function()
|
|
||||||
local flavour = require("catppuccin").options.background[vim.o.background]
|
|
||||||
local palette = require("catppuccin.palettes").get_palette(flavour)
|
|
||||||
vim.cmd("hi Normal guibg=" .. palette.base)
|
|
||||||
vim.cmd("set pumblend=100")
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
-- no idea why this is needed
|
-- no idea why this is needed
|
||||||
vim.opt.linespace = -1
|
vim.opt.linespace = -1
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -11,7 +11,10 @@ let
|
|||||||
cfg = config.theme.base16;
|
cfg = config.theme.base16;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./integrations/kitty ];
|
imports = [
|
||||||
|
./integrations/kitty
|
||||||
|
./integrations/neovim
|
||||||
|
];
|
||||||
|
|
||||||
options.theme.base16 = {
|
options.theme.base16 = {
|
||||||
enable = mkEnableOption "Enable a global base16 theme";
|
enable = mkEnableOption "Enable a global base16 theme";
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
-- Base16 {{scheme-name}} - nvim color config
|
||||||
|
-- Scheme by {{scheme-author}}
|
||||||
|
|
||||||
|
require('base16-colorscheme').setup({
|
||||||
|
base00 = '#{{base00-hex}}',
|
||||||
|
base01 = '#{{base01-hex}}',
|
||||||
|
base02 = '#{{base02-hex}}',
|
||||||
|
base03 = '#{{base03-hex}}',
|
||||||
|
base04 = '#{{base04-hex}}',
|
||||||
|
base05 = '#{{base05-hex}}',
|
||||||
|
base06 = '#{{base06-hex}}',
|
||||||
|
base07 = '#{{base07-hex}}',
|
||||||
|
base08 = '#{{base08-hex}}',
|
||||||
|
base09 = '#{{base09-hex}}',
|
||||||
|
base0A = '#{{base0A-hex}}',
|
||||||
|
base0B = '#{{base0B-hex}}',
|
||||||
|
base0C = '#{{base0C-hex}}',
|
||||||
|
base0D = '#{{base0D-hex}}',
|
||||||
|
base0E = '#{{base0E-hex}}',
|
||||||
|
base0F = '#{{base0F-hex}}'
|
||||||
|
})
|
||||||
33
modules/home-manager/theme/integrations/neovim/default.nix
Normal file
33
modules/home-manager/theme/integrations/neovim/default.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.theme.base16;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.nixvim = {
|
||||||
|
extraConfigLuaPre = ''
|
||||||
|
require('flavours-colors')
|
||||||
|
'';
|
||||||
|
extraPlugins = [ pkgs.vimPlugins.base16-nvim ];
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."flavours/templates/nvim/templates/default.mustache".source = ./default.mustache;
|
||||||
|
|
||||||
|
theme.base16.options.items = [
|
||||||
|
{
|
||||||
|
file = "${config.xdg.configHome}/nvim/lua/flavours-colors.lua";
|
||||||
|
template = "nvim";
|
||||||
|
#hook = "kill -SIGUSR1 $(pgrep kitty)";
|
||||||
|
rewrite = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user