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]
|
[templates.nvim]
|
||||||
input_path = "~/.config/matugen/templates/nvim.lua"
|
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]
|
[templates.gtk3]
|
||||||
input_path = "~/.config/matugen/templates/gtk.css"
|
input_path = "~/.config/matugen/templates/gtk.css"
|
||||||
@ -49,3 +49,10 @@ input_path = "~/.config/matugen/templates/kitty.conf"
|
|||||||
output_path = "~/.config/kitty/colors.conf"
|
output_path = "~/.config/kitty/colors.conf"
|
||||||
post_hook = "pkill -SIGUSR1 kitty"
|
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 QtQuick
|
||||||
import Quickshell
|
|
||||||
|
|
||||||
Singleton {
|
QtObject {
|
||||||
id: customColors
|
<* for name, value in colors *>
|
||||||
|
readonly property color {{name}}: "{{value.default.hex}}"
|
||||||
// --- Core Colors ---
|
<* endfor *>
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|||||||
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
|
# Hyprland with colors from matugen
|
||||||
general {
|
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)
|
col.inactive_border = rgba({{colors.surface.default.hex_stripped}}ee)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# The kitty terminal template for matugen
|
# The kitty terminal template for matugen
|
||||||
cursor {{colors.primary.default.hex}}
|
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}}
|
foreground {{colors.on_background.default.hex}}
|
||||||
|
|
||||||
color0 {{colors.surface.default.hex}}
|
color0 {{colors.surface.default.hex}}
|
||||||
|
|||||||
@ -1,115 +1,62 @@
|
|||||||
-- Matugen Theme
|
-- Generated by Matugen
|
||||||
vim.cmd("hi clear")
|
|
||||||
if vim.fn.exists("syntax_on") then
|
require("base16-colorscheme").setup({
|
||||||
vim.cmd("syntax reset")
|
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}}",
|
||||||
|
|
||||||
|
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
|
||||||
vim.g.colors_name = "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
|
|
||||||
}
|
|
||||||
|
|
||||||
local hl = function(group, opts)
|
|
||||||
vim.api.nvim_set_hl(0, group, opts)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Base
|
-- Make selected text stand out more
|
||||||
hl("Normal", { fg = c.fg, bg = c.bg })
|
vim.api.nvim_set_hl(0, "Visual", {
|
||||||
hl("Cursor", { fg = c.bg, bg = c.cursor })
|
bg = "{{colors.primary_container.default.hex}}",
|
||||||
hl("LineNr", { fg = c.c8 })
|
fg = "{{colors.on_primary_container.default.hex}}", -- normal text contrast
|
||||||
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 })
|
|
||||||
|
|
||||||
-- UI
|
-- Make "string" text contrast better
|
||||||
hl("Pmenu", { fg = c.fg, bg = c.c0 })
|
set_hl_mutliple({ "String", "TSString" }, {
|
||||||
hl("PmenuSel", { fg = c.c0, bg = c.c4 })
|
fg = "{{colors.tertiary.default.hex | lighten: -15.0 }}",
|
||||||
hl("WinSeparator", { fg = c.c8 })
|
})
|
||||||
|
|
||||||
-- BARBAR
|
-- Grey out comments
|
||||||
hl("BufferCurrent", { fg = c.fg, bg = c.bg, bold = true })
|
set_hl_mutliple({ "TSComment", "Comment" }, {
|
||||||
hl("BufferCurrentIndex", { fg = c.c4, bg = c.bg })
|
fg = "{{colors.outline.default.hex}}",
|
||||||
hl("BufferCurrentMod", { fg = c.c3, bg = c.bg })
|
italic = true,
|
||||||
hl("BufferCurrentSign", { fg = c.c4, bg = c.bg })
|
})
|
||||||
hl("BufferCurrentTarget", { fg = c.c1, bg = c.bg, bold = true })
|
|
||||||
|
|
||||||
hl("BufferInactive", { fg = c.c8, bg = c.bg })
|
-- Color in other highlight groups as you see fit!
|
||||||
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 })
|
|
||||||
|
|
||||||
hl("BufferVisible", { fg = c.fg, bg = c.c0 })
|
set_hl_mutliple({ "TSMethod", "Method" }, {
|
||||||
hl("BufferVisibleIndex", { fg = c.fg, bg = c.c0 })
|
fg = "{{colors.tertiary.default.hex}}",
|
||||||
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 })
|
|
||||||
|
|
||||||
hl("BufferTabpageFill", { fg = c.c0, bg = c.bg })
|
set_hl_mutliple({ "TSFunction", "Function" }, {
|
||||||
hl("TelescopeNormal", { bg = c.tbg })
|
fg = "{{colors.secondary.default.hex}}",
|
||||||
|
})
|
||||||
|
|
||||||
-- MARKDOWN
|
set_hl_mutliple({ "Keyword", "TSKeyword", "TSKeywordFunction", "TSRepeat" }, {
|
||||||
hl("RenderMarkdownH1", { fg = c.c4, bold = true })
|
fg = "{{colors.inverse_primary.default.hex}}",
|
||||||
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 })
|
|
||||||
|
|||||||
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