11.stylix/modules/opencode/hm.nix
NAHO 707059378b treewide: optionalize mkTarget's humanName and name arguments
Optionalize mkTarget's 'humanName' and 'name' arguments by inferring
'humanName' from the 'name' attribute in the /modules/<MODULE>/meta.nix
file, and 'name' from the /modules/<NAME>/ directory name.

Inferring the 'humanName' and 'name' arguments ensures consistency and
reduces boilerplate.

The 'humanName' and 'name' arguments are optionalized instead of removed
because complex modules generating target derivations need to
distinguish between them.

Closes: https://github.com/nix-community/stylix/issues/1661
(cherry picked from commit dfc859f54d)
2025-12-10 07:14:37 -10:00

220 lines
7.6 KiB
Nix

{ mkTarget, ... }:
mkTarget {
config =
{ colors }:
{
programs.opencode =
let
theme = "stylix";
in
{
settings = { inherit theme; };
themes.${theme} = {
theme = {
accent = {
dark = colors.withHashtag.base07;
light = colors.withHashtag.base07;
};
background = {
dark = colors.withHashtag.base00;
light = colors.withHashtag.base06;
};
backgroundElement = {
dark = colors.withHashtag.base01;
light = colors.withHashtag.base04;
};
backgroundPanel = {
dark = colors.withHashtag.base01;
light = colors.withHashtag.base05;
};
border = {
dark = colors.withHashtag.base02;
light = colors.withHashtag.base03;
};
borderActive = {
dark = colors.withHashtag.base03;
light = colors.withHashtag.base02;
};
borderSubtle = {
dark = colors.withHashtag.base02;
light = colors.withHashtag.base03;
};
diffAdded = {
dark = colors.withHashtag.base0B;
light = colors.withHashtag.base0B;
};
diffAddedBg = {
dark = colors.withHashtag.base01;
light = colors.withHashtag.base05;
};
diffAddedLineNumberBg = {
dark = colors.withHashtag.base01;
light = colors.withHashtag.base05;
};
diffContext = {
dark = colors.withHashtag.base03;
light = colors.withHashtag.base03;
};
diffContextBg = {
dark = colors.withHashtag.base01;
light = colors.withHashtag.base05;
};
diffHighlightAdded = {
dark = colors.withHashtag.base0B;
light = colors.withHashtag.base0B;
};
diffHighlightRemoved = {
dark = colors.withHashtag.base08;
light = colors.withHashtag.base08;
};
diffHunkHeader = {
dark = colors.withHashtag.base03;
light = colors.withHashtag.base03;
};
diffLineNumber = {
dark = colors.withHashtag.base02;
light = colors.withHashtag.base04;
};
diffRemoved = {
dark = colors.withHashtag.base08;
light = colors.withHashtag.base08;
};
diffRemovedBg = {
dark = colors.withHashtag.base01;
light = colors.withHashtag.base05;
};
diffRemovedLineNumberBg = {
dark = colors.withHashtag.base01;
light = colors.withHashtag.base05;
};
error = {
dark = colors.withHashtag.base08;
light = colors.withHashtag.base08;
};
info = {
dark = colors.withHashtag.base0C;
light = colors.withHashtag.base0F;
};
markdownBlockQuote = {
dark = colors.withHashtag.base03;
light = colors.withHashtag.base03;
};
markdownCode = {
dark = colors.withHashtag.base0B;
light = colors.withHashtag.base0B;
};
markdownCodeBlock = {
dark = colors.withHashtag.base04;
light = colors.withHashtag.base00;
};
markdownEmph = {
dark = colors.withHashtag.base09;
light = colors.withHashtag.base09;
};
markdownHeading = {
dark = colors.withHashtag.base0C;
light = colors.withHashtag.base0F;
};
markdownHorizontalRule = {
dark = colors.withHashtag.base03;
light = colors.withHashtag.base03;
};
markdownImage = {
dark = colors.withHashtag.base0D;
light = colors.withHashtag.base0D;
};
markdownImageText = {
dark = colors.withHashtag.base07;
light = colors.withHashtag.base07;
};
markdownLink = {
dark = colors.withHashtag.base0D;
light = colors.withHashtag.base0D;
};
markdownLinkText = {
dark = colors.withHashtag.base07;
light = colors.withHashtag.base07;
};
markdownListEnumeration = {
dark = colors.withHashtag.base07;
light = colors.withHashtag.base07;
};
markdownListItem = {
dark = colors.withHashtag.base0C;
light = colors.withHashtag.base0F;
};
markdownStrong = {
dark = colors.withHashtag.base0A;
light = colors.withHashtag.base0A;
};
markdownText = {
dark = colors.withHashtag.base04;
light = colors.withHashtag.base00;
};
primary = {
dark = colors.withHashtag.base0C;
light = colors.withHashtag.base0F;
};
secondary = {
dark = colors.withHashtag.base0D;
light = colors.withHashtag.base0D;
};
success = {
dark = colors.withHashtag.base0B;
light = colors.withHashtag.base0B;
};
syntaxComment = {
dark = colors.withHashtag.base03;
light = colors.withHashtag.base03;
};
syntaxFunction = {
dark = colors.withHashtag.base0C;
light = colors.withHashtag.base0C;
};
syntaxKeyword = {
dark = colors.withHashtag.base0D;
light = colors.withHashtag.base0D;
};
syntaxNumber = {
dark = colors.withHashtag.base0E;
light = colors.withHashtag.base0E;
};
syntaxOperator = {
dark = colors.withHashtag.base0D;
light = colors.withHashtag.base0D;
};
syntaxPunctuation = {
dark = colors.withHashtag.base04;
light = colors.withHashtag.base00;
};
syntaxString = {
dark = colors.withHashtag.base0B;
light = colors.withHashtag.base0B;
};
syntaxType = {
dark = colors.withHashtag.base07;
light = colors.withHashtag.base07;
};
syntaxVariable = {
dark = colors.withHashtag.base07;
light = colors.withHashtag.base07;
};
text = {
dark = colors.withHashtag.base04;
light = colors.withHashtag.base00;
};
textMuted = {
dark = colors.withHashtag.base03;
light = colors.withHashtag.base01;
};
warning = {
dark = colors.withHashtag.base09;
light = colors.withHashtag.base09;
};
};
};
};
};
}