def css-vars [theme: record] { let p = $theme.palette [ $" --nugu-debug: ($p.debug);" $" --nugu-error: ($p.error);" $" --nugu-warning: ($p.warning);" $" --nugu-info: ($p.info);" $" --nugu-content-normal: ($p.content.normal);" $" --nugu-content-backdrop: ($p.content.backdrop);" $" --nugu-content-accent: ($p.content.accent);" $" --nugu-content-minor: ($p.content.minor);" $" --nugu-content-focus: ($p.content.focus);" $" --nugu-content-unfocus: ($p.content.unfocus);" $" --nugu-content-important-local: ($p.content.important_local);" $" --nugu-content-important-global: ($p.content.important_global);" $" --nugu-ui-normal: ($p.ui.normal);" $" --nugu-ui-backdrop: ($p.ui.backdrop);" $" --nugu-ui-accent: ($p.ui.accent);" $" --nugu-ui-minor: ($p.ui.minor);" $" --nugu-ui-focus: ($p.ui.focus);" $" --nugu-ui-unfocus: ($p.ui.unfocus);" $" --nugu-ui-important-local: ($p.ui.important_local);" $" --nugu-ui-important-global: ($p.ui.important_global);" ] | str join (char newline) } export def css [] { let light = (open output/light.toml) let dark = (open output/dark.toml) let light_vars = (css-vars $light) let dark_vars = (css-vars $dark) $"/* Generated from dotfiles/nugu. Do not edit in bugabinga.net. */ :root { color-scheme: light dark; ($light_vars) } @media \(prefers-color-scheme: dark\) { :root { ($dark_vars) } } " } export def json [] { { light: (open output/light.toml | get palette) dark: (open output/dark.toml | get palette) } }