Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

nugu/d2.nu

Raw
# D2 theme slots: N1 foreground -> N7 backdrop; B/AA/AB container families.
def overrides [theme: record] {
    let p = $theme.palette
    {
        N1: $p.content.normal
        N2: $p.content.minor
        N3: $p.content.unfocus
        N4: $p.ui.minor
        N5: $p.ui.backdrop
        N6: $p.ui.backdrop
        N7: $p.content.backdrop
        B1: $p.content.important_local
        B2: $p.content.accent
        B3: $p.content.minor
        B4: $p.ui.backdrop
        B5: $p.content.backdrop
        B6: $p.ui.backdrop
        AA2: $p.content.focus
        AA4: $p.ui.backdrop
        AA5: $p.content.backdrop
        AB4: $p.ui.backdrop
        AB5: $p.content.backdrop
    } | transpose slot color | each {|entry| $'      ($entry.slot): "($entry.color)"' } | str join (char newline)
}

# Same output/light.toml and output/dark.toml inputs as other Nugu generators.
export def config [] {
    let light = (overrides (open output/light.toml))
    let dark = (overrides (open output/dark.toml))
    $"# Generated from dotfiles/nugu/d2.nu. Do not edit.
vars: {
  d2-config: {
    theme-id: 0
    dark-theme-id: 200
    theme-overrides: {
($light)
    }
    dark-theme-overrides: {
($dark)
    }
  }
}
"
}