add templates for foot and pywalfox, improve neovim template
This commit is contained in:
parent
080913498b
commit
dabaf26e2f
11
config.toml
11
config.toml
@ -3,10 +3,10 @@ reload_apps = true
|
||||
|
||||
|
||||
|
||||
|
||||
[templates.nvim]
|
||||
input_path = "~/.config/matugen/templates/nvim.lua"
|
||||
output_path = "~/.config/nvim/colors/wallust.lua"
|
||||
output_path = "~/.config/nvim/lua/config/generated.lua"
|
||||
post_hook = 'pkill -SIGUSR1 nvim'
|
||||
|
||||
[templates.gtk3]
|
||||
input_path = "~/.config/matugen/templates/gtk.css"
|
||||
@ -49,3 +49,10 @@ input_path = "~/.config/matugen/templates/kitty.conf"
|
||||
output_path = "~/.config/kitty/colors.conf"
|
||||
post_hook = "pkill -SIGUSR1 kitty"
|
||||
|
||||
[templates.pywalfox]
|
||||
input_path = '~/.config/matugen/templates/pywalfox.json'
|
||||
output_path = '~/.cache/wal/colors.json'
|
||||
post_hook = 'pywalfox update'
|
||||
[templates.foot]
|
||||
input_path = '~/.config/matugen/templates/foot.ini'
|
||||
output_path = '~/.config/foot/colors.ini'
|
||||
|
||||
@ -1,91 +1,7 @@
|
||||
pragma Singleton
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
|
||||
Singleton {
|
||||
id: customColors
|
||||
|
||||
// --- Core Colors ---
|
||||
readonly property color primary: "{{colors.primary.default.hex}}"
|
||||
readonly property color onPrimaryColor: "{{colors.on_primary.default.hex}}"
|
||||
readonly property color primaryContainer: "{{colors.primary_container.default.hex}}"
|
||||
readonly property color onPrimaryContainerColor: "{{colors.on_primary_container.default.hex}}"
|
||||
readonly property color inversePrimary: "{{colors.inverse_primary.default.hex}}"
|
||||
|
||||
readonly property color secondary: "{{colors.secondary.default.hex}}"
|
||||
readonly property color onSecondaryColor: "{{colors.on_secondary.default.hex}}"
|
||||
readonly property color secondaryContainer: "{{colors.secondary_container.default.hex}}"
|
||||
readonly property color onSecondaryContainerColor: "{{colors.on_secondary_container.default.hex}}"
|
||||
|
||||
readonly property color tertiary: "{{colors.tertiary.default.hex}}"
|
||||
readonly property color onTertiaryColor: "{{colors.on_tertiary.default.hex}}"
|
||||
readonly property color tertiaryContainer: "{{colors.tertiary_container.default.hex}}"
|
||||
readonly property color onTertiaryContainerColor: "{{colors.on_tertiary_container.default.hex}}"
|
||||
|
||||
readonly property color error: "{{colors.error.default.hex}}"
|
||||
readonly property color onErrorColor: "{{colors.on_error.default.hex}}"
|
||||
readonly property color errorContainer: "{{colors.error_container.default.hex}}"
|
||||
readonly property color onErrorContainerColor: "{{colors.on_error_container.default.hex}}"
|
||||
|
||||
readonly property color background: "{{colors.background.default.hex}}"
|
||||
readonly property color onBackgroundColor: "{{colors.on_background.default.hex}}"
|
||||
|
||||
// --- Surfaces ---
|
||||
readonly property color surface: "{{colors.surface.default.hex}}"
|
||||
readonly property color onSurfaceColor: "{{colors.on_surface.default.hex}}"
|
||||
readonly property color surfaceVariant: "{{colors.surface_variant.default.hex}}"
|
||||
readonly property color onSurfaceVariantColor: "{{colors.on_surface_variant.default.hex}}"
|
||||
readonly property color inverseSurface: "{{colors.inverse_surface.default.hex}}"
|
||||
readonly property color inverseOnSurface: "{{colors.inverse_on_surface.default.hex}}"
|
||||
|
||||
readonly property color surfaceDim: "{{colors.surface_dim.default.hex}}"
|
||||
readonly property color surfaceBright: "{{colors.surface_bright.default.hex}}"
|
||||
readonly property color surfaceContainerLowest: "{{colors.surface_container_lowest.default.hex}}"
|
||||
readonly property color surfaceContainerLow: "{{colors.surface_container_low.default.hex}}"
|
||||
readonly property color surfaceContainer: "{{colors.surface_container.default.hex}}"
|
||||
readonly property color surfaceContainerHigh: "{{colors.surface_container_high.default.hex}}"
|
||||
readonly property color surfaceContainerHighest: "{{colors.surface_container_highest.default.hex}}"
|
||||
|
||||
// --- Outlines & Shadows ---
|
||||
readonly property color outline: "{{colors.outline.default.hex}}"
|
||||
readonly property color outlineVariant: "{{colors.outline_variant.default.hex}}"
|
||||
readonly property color shadow: "{{colors.shadow.default.hex}}"
|
||||
readonly property color scrim: "{{colors.scrim.default.hex}}"
|
||||
|
||||
// --- Fixed Colors (useful for things that shouldn't change drastically in dark mode) ---
|
||||
readonly property color primaryFixed: "{{colors.primary_fixed.default.hex}}"
|
||||
readonly property color primaryFixedDim: "{{colors.primary_fixed_dim.default.hex}}"
|
||||
readonly property color onPrimaryFixedColor: "{{colors.on_primary_fixed.default.hex}}"
|
||||
readonly property color onPrimaryFixedVariant: "{{colors.on_primary_fixed_variant.default.hex}}"
|
||||
|
||||
readonly property color secondaryFixed: "{{colors.secondary_fixed.default.hex}}"
|
||||
readonly property color secondaryFixedDim: "{{colors.secondary_fixed_dim.default.hex}}"
|
||||
readonly property color onSecondaryFixedColor: "{{colors.on_secondary_fixed.default.hex}}"
|
||||
readonly property color onSecondaryFixedVariant: "{{colors.on_secondary_fixed_variant.default.hex}}"
|
||||
|
||||
readonly property color tertiaryFixed: "{{colors.tertiary_fixed.default.hex}}"
|
||||
readonly property color tertiaryFixedDim: "{{colors.tertiary_fixed_dim.default.hex}}"
|
||||
readonly property color onTertiaryFixedColor: "{{colors.on_tertiary_fixed.default.hex}}"
|
||||
readonly property color onTertiaryFixedVariant: "{{colors.on_tertiary_fixed_variant.default.hex}}"
|
||||
|
||||
// --- Legacy / Terminal Mappings (color0 - color15) ---
|
||||
readonly property color color0: "{{colors.surface.default.hex}}"
|
||||
readonly property color color1: "{{colors.error.default.hex}}"
|
||||
readonly property color color2: "{{colors.primary.default.hex}}"
|
||||
readonly property color color3: "{{colors.tertiary.default.hex}}"
|
||||
readonly property color color4: "{{colors.secondary.default.hex}}"
|
||||
readonly property color color5: "{{colors.primary_container.default.hex}}"
|
||||
readonly property color color6: "{{colors.secondary_container.default.hex}}"
|
||||
readonly property color color7: "{{colors.on_surface.default.hex}}"
|
||||
readonly property color color8: "{{colors.surface_variant.default.hex}}"
|
||||
readonly property color color9: "{{colors.error_container.default.hex}}"
|
||||
readonly property color color10: "{{colors.inverse_primary.default.hex}}"
|
||||
readonly property color color11: "{{colors.on_tertiary_container.default.hex}}"
|
||||
readonly property color color12: "{{colors.on_secondary_container.default.hex}}"
|
||||
readonly property color color13: "{{colors.on_primary_container.default.hex}}"
|
||||
readonly property color color14: "{{colors.on_surface_variant.default.hex}}"
|
||||
readonly property color color15: "{{colors.inverse_surface.default.hex}}"
|
||||
|
||||
// Helper alias for common needs
|
||||
readonly property color cursor: primary
|
||||
QtObject {
|
||||
<* for name, value in colors *>
|
||||
readonly property color {{name}}: "{{value.default.hex}}"
|
||||
<* endfor *>
|
||||
}
|
||||
|
||||
31
templates/foot.ini
Normal file
31
templates/foot.ini
Normal file
@ -0,0 +1,31 @@
|
||||
[colors]
|
||||
alpha=1.0
|
||||
background={{ colors.background.default.hex_stripped }}
|
||||
foreground={{ colors.on_surface.default.hex_stripped }}
|
||||
regular0={{ colors.surface.default.hex_stripped }}
|
||||
regular1={{ colors.error.default.hex_stripped }}
|
||||
regular2={{ colors.primary.default.hex_stripped }}
|
||||
regular3={{ colors.tertiary.default.hex_stripped }}
|
||||
regular4={{ colors.on_primary_container.default.hex_stripped }}
|
||||
regular5={{ colors.on_secondary_container.default.hex_stripped }}
|
||||
regular6={{ colors.secondary.default.hex_stripped }}
|
||||
regular7={{ colors.on_surface.default.hex_stripped }}
|
||||
bright0={{ colors.surface_bright.default.hex_stripped }}
|
||||
bright1={{ colors.error.default.hex_stripped }}
|
||||
bright2={{ colors.primary.default.hex_stripped }}
|
||||
bright3={{ colors.tertiary.default.hex_stripped }}
|
||||
bright4={{ colors.on_primary_container.default.hex_stripped }}
|
||||
bright5={{ colors.on_secondary_container.default.hex_stripped }}
|
||||
bright6={{ colors.secondary.default.hex_stripped }}
|
||||
bright7={{ colors.on_surface.default.hex_stripped }}
|
||||
dim0=45475A
|
||||
dim1=F38BA8
|
||||
dim2=A6E3A1
|
||||
dim3=F9E2AF
|
||||
dim4=89B4FA
|
||||
dim5=F5C2E7
|
||||
dim6=94E2D5
|
||||
dim7=BAC2DE
|
||||
selection-foreground={{ colors.primary.default.hex_stripped }}
|
||||
selection-background={{ colors.on_primary.default.hex_stripped }}
|
||||
cursor={{ colors.surface_variant.default.hex_stripped }} {{ colors.on_surface.default.hex_stripped }}
|
||||
@ -1,5 +1,5 @@
|
||||
# Hyprland with colors from matugen
|
||||
general {
|
||||
col.active_border = rgba({{colors.on_background.default.hex_stripped}}ff)
|
||||
col.active_border = rgba({{colors.primary.default.hex_stripped}}ff)
|
||||
col.inactive_border = rgba({{colors.surface.default.hex_stripped}}ee)
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# The kitty terminal template for matugen
|
||||
cursor {{colors.primary.default.hex}}
|
||||
|
||||
background {{colors.background.default.hex | set_saturation: 2.0 }}
|
||||
background {{colors.surface.default.hex}}
|
||||
foreground {{colors.on_background.default.hex}}
|
||||
|
||||
color0 {{colors.surface.default.hex}}
|
||||
|
||||
@ -1,115 +1,62 @@
|
||||
-- Matugen Theme
|
||||
vim.cmd("hi clear")
|
||||
if vim.fn.exists("syntax_on") then
|
||||
vim.cmd("syntax reset")
|
||||
end
|
||||
vim.g.colors_name = "matugen"
|
||||
-- Generated by Matugen
|
||||
|
||||
local c = {
|
||||
bg = "{{colors.background.default.hex}}",
|
||||
fg = "{{colors.on_background.default.hex}}",
|
||||
cursor = "{{colors.primary.default.hex}}",
|
||||
c0 = "{{colors.surface.default.hex}}",
|
||||
c1 = "{{colors.error.default.hex}}",
|
||||
c2 = "{{colors.primary.default.hex}}",
|
||||
c3 = "{{colors.tertiary.default.hex}}",
|
||||
c4 = "{{colors.secondary.default.hex}}",
|
||||
c5 = "{{colors.primary_container.default.hex}}",
|
||||
c6 = "{{colors.secondary_container.default.hex}}",
|
||||
c7 = "{{colors.on_surface.default.hex}}",
|
||||
c8 = "{{colors.surface_variant.default.hex}}",
|
||||
c9 = "{{colors.error_container.default.hex}}",
|
||||
c10 = "{{colors.inverse_primary.default.hex}}",
|
||||
c11 = "{{colors.on_tertiary_container.default.hex}}",
|
||||
c12 = "{{colors.on_secondary_container.default.hex}}",
|
||||
c13 = "{{colors.on_primary_container.default.hex}}",
|
||||
c14 = "{{colors.on_surface_variant.default.hex}}",
|
||||
c15 = "{{colors.inverse_surface.default.hex}}",
|
||||
tbg = "{{colors.surface.default.hex | set_lightness: 4.0}}", -- Matugen filters usually not inline
|
||||
}
|
||||
require("base16-colorscheme").setup({
|
||||
base00 = "{{colors.background.default.hex}}",
|
||||
base01 = "{{colors.surface_container_lowest.default.hex}}",
|
||||
base02 = "{{colors.surface_container_low.default.hex}}",
|
||||
base03 = "{{colors.outline_variant.default.hex}}",
|
||||
base04 = "{{colors.on_surface_variant.default.hex}}",
|
||||
base05 = "{{colors.on_surface.default.hex}}",
|
||||
base06 = "{{colors.inverse_on_surface.default.hex}}",
|
||||
base07 = "{{colors.surface_bright.default.hex}}",
|
||||
|
||||
local hl = function(group, opts)
|
||||
vim.api.nvim_set_hl(0, group, opts)
|
||||
base08 = "{{colors.tertiary.default.hex | lighten: -5}}",
|
||||
base09 = "{{colors.tertiary.default.hex}}",
|
||||
base0A = "{{colors.secondary.default.hex}}",
|
||||
base0B = "{{colors.primary.default.hex}}",
|
||||
base0C = "{{colors.tertiary_container.default.hex}}",
|
||||
base0D = "{{colors.primary_container.default.hex}}",
|
||||
base0E = "{{colors.secondary_container.default.hex}}",
|
||||
base0F = "{{colors.secondary.default.hex | lighten: -10}}",
|
||||
})
|
||||
|
||||
-- We first theme base16, but we also need to fix some other colors that don't
|
||||
-- contrast well by default
|
||||
|
||||
-- Helper function to set multiple highlight groups at once
|
||||
local function set_hl_mutliple(groups, value)
|
||||
for _, v in pairs(groups) do
|
||||
vim.api.nvim_set_hl(0, v, value)
|
||||
end
|
||||
end
|
||||
|
||||
-- Base
|
||||
hl("Normal", { fg = c.fg, bg = c.bg })
|
||||
hl("Cursor", { fg = c.bg, bg = c.cursor })
|
||||
hl("LineNr", { fg = c.c8 })
|
||||
hl("CursorLine", { bg = c.c0 })
|
||||
hl("StatusLine", { fg = c.fg, bg = c.c0 })
|
||||
-- Harpoon Colors
|
||||
hl("HarpoonInactive", { fg = c.fg, bg = c.bg })
|
||||
hl("HarpoonActive", { fg = c.bg, bg = c.c2 })
|
||||
hl("HarpoonNumberInactive", { fg = c.fg, bg = c.bg })
|
||||
hl("HarpoonNumberActive", { fg = c.bg, bg = c.c2 })
|
||||
hl("TabLineFill", { fg = c.fg, bg = c.bg })
|
||||
-- Syntax
|
||||
hl("Comment", { fg = c.c8, italic = true })
|
||||
hl("Constant", { fg = c.c3 })
|
||||
hl("String", { fg = c.c2 })
|
||||
hl("Identifier", { fg = c.c4 })
|
||||
hl("Function", { fg = c.c4, bold = true })
|
||||
hl("Statement", { fg = c.c5 })
|
||||
hl("Keyword", { fg = c.c5 })
|
||||
hl("Type", { fg = c.c6 })
|
||||
hl("Special", { fg = c.c1 })
|
||||
-- Make selected text stand out more
|
||||
vim.api.nvim_set_hl(0, "Visual", {
|
||||
bg = "{{colors.primary_container.default.hex}}",
|
||||
fg = "{{colors.on_primary_container.default.hex}}", -- normal text contrast
|
||||
})
|
||||
|
||||
-- UI
|
||||
hl("Pmenu", { fg = c.fg, bg = c.c0 })
|
||||
hl("PmenuSel", { fg = c.c0, bg = c.c4 })
|
||||
hl("WinSeparator", { fg = c.c8 })
|
||||
-- Make "string" text contrast better
|
||||
set_hl_mutliple({ "String", "TSString" }, {
|
||||
fg = "{{colors.tertiary.default.hex | lighten: -15.0 }}",
|
||||
})
|
||||
|
||||
-- BARBAR
|
||||
hl("BufferCurrent", { fg = c.fg, bg = c.bg, bold = true })
|
||||
hl("BufferCurrentIndex", { fg = c.c4, bg = c.bg })
|
||||
hl("BufferCurrentMod", { fg = c.c3, bg = c.bg })
|
||||
hl("BufferCurrentSign", { fg = c.c4, bg = c.bg })
|
||||
hl("BufferCurrentTarget", { fg = c.c1, bg = c.bg, bold = true })
|
||||
-- Grey out comments
|
||||
set_hl_mutliple({ "TSComment", "Comment" }, {
|
||||
fg = "{{colors.outline.default.hex}}",
|
||||
italic = true,
|
||||
})
|
||||
|
||||
hl("BufferInactive", { fg = c.c8, bg = c.bg })
|
||||
hl("BufferInactiveIndex", { fg = c.c8, bg = c.bg })
|
||||
hl("BufferInactiveMod", { fg = c.c8, bg = c.bg })
|
||||
hl("BufferInactiveSign", { fg = c.c8, bg = c.bg })
|
||||
hl("BufferInactiveTarget", { fg = c.c8, bg = c.bg, bold = true })
|
||||
-- Color in other highlight groups as you see fit!
|
||||
|
||||
hl("BufferVisible", { fg = c.fg, bg = c.c0 })
|
||||
hl("BufferVisibleIndex", { fg = c.fg, bg = c.c0 })
|
||||
hl("BufferVisibleMod", { fg = c.c3, bg = c.c0 })
|
||||
hl("BufferVisibleSign", { fg = c.c4, bg = c.c0 })
|
||||
hl("BufferVisibleTarget", { fg = c.c1, bg = c.c0, bold = true })
|
||||
set_hl_mutliple({ "TSMethod", "Method" }, {
|
||||
fg = "{{colors.tertiary.default.hex}}",
|
||||
})
|
||||
|
||||
hl("BufferTabpageFill", { fg = c.c0, bg = c.bg })
|
||||
hl("TelescopeNormal", { bg = c.tbg })
|
||||
set_hl_mutliple({ "TSFunction", "Function" }, {
|
||||
fg = "{{colors.secondary.default.hex}}",
|
||||
})
|
||||
|
||||
-- MARKDOWN
|
||||
hl("RenderMarkdownH1", { fg = c.c4, bold = true })
|
||||
hl("RenderMarkdownH2", { fg = c.c3, bold = true })
|
||||
hl("RenderMarkdownH3", { fg = c.c2, bold = true })
|
||||
hl("RenderMarkdownH4", { fg = c.c5, bold = true })
|
||||
hl("RenderMarkdownH5", { fg = c.c6, bold = true })
|
||||
hl("RenderMarkdownH6", { fg = c.c1, bold = true })
|
||||
|
||||
hl("RenderMarkdownH1Bg", { bg = c.c0 })
|
||||
hl("RenderMarkdownH2Bg", { bg = c.c0 })
|
||||
hl("RenderMarkdownH3Bg", { bg = c.c0 })
|
||||
hl("RenderMarkdownH4Bg", { bg = c.c0 })
|
||||
hl("RenderMarkdownH5Bg", { bg = c.c0 })
|
||||
hl("RenderMarkdownH6Bg", { bg = c.c0 })
|
||||
|
||||
hl("RenderMarkdownCode", { bg = c.tbg })
|
||||
hl("RenderMarkdownCodeInline", { fg = c.c4, bg = c.tbg })
|
||||
|
||||
hl("RenderMarkdownBullet", { fg = c.c3 })
|
||||
hl("RenderMarkdownQuote", { fg = c.c8 })
|
||||
hl("RenderMarkdownDash", { fg = c.c8 })
|
||||
hl("RenderMarkdownSign", { fg = c.c8 })
|
||||
|
||||
hl("RenderMarkdownInfo", { fg = c.c4, bg = c.c0 })
|
||||
hl("RenderMarkdownSuccess", { fg = c.c2, bg = c.c0 })
|
||||
hl("RenderMarkdownWarn", { fg = c.c3, bg = c.c0 })
|
||||
hl("RenderMarkdownError", { fg = c.c1, bg = c.c0 })
|
||||
hl("RenderMarkdownHint", { fg = c.c6, bg = c.c0 })
|
||||
|
||||
hl("RenderMarkdownUnchecked", { fg = c.c8 })
|
||||
hl("RenderMarkdownChecked", { fg = c.c2 })
|
||||
set_hl_mutliple({ "Keyword", "TSKeyword", "TSKeywordFunction", "TSRepeat" }, {
|
||||
fg = "{{colors.inverse_primary.default.hex}}",
|
||||
})
|
||||
|
||||
22
templates/pywalfox.json
Normal file
22
templates/pywalfox.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"wallpaper": "{{image}}",
|
||||
"alpha": "100",
|
||||
"colors": {
|
||||
"color0": "{{colors.background.default.hex}}",
|
||||
"color1": "",
|
||||
"color2": "",
|
||||
"color3": "",
|
||||
"color4": "",
|
||||
"color5": "",
|
||||
"color6": "",
|
||||
"color7": "",
|
||||
"color8": "",
|
||||
"color9": "",
|
||||
"color10": "{{colors.primary.default.hex}}",
|
||||
"color11": "",
|
||||
"color12": "",
|
||||
"color13": "{{colors.surface_bright.default.hex}}",
|
||||
"color14": "",
|
||||
"color15": "{{colors.on_surface.default.hex}}"
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user