{
  nmt.script = ''
    assertFileExists home-files/.config/opencode/themes/my-theme.json
    assertFileContent home-files/.config/opencode/themes/my-theme.json \
      ${./my-theme.json}
  '';
  programs.opencode = {
    enable = true;
    themes.my-theme = {
      defs = {
        nord0 = "#2E3440";
        nord1 = "#3B4252";
        nord10 = "#5E81AC";
        nord11 = "#BF616A";
        nord12 = "#D08770";
        nord13 = "#EBCB8B";
        nord14 = "#A3BE8C";
        nord15 = "#B48EAD";
        nord2 = "#434C5E";
        nord3 = "#4C566A";
        nord4 = "#D8DEE9";
        nord5 = "#E5E9F0";
        nord6 = "#ECEFF4";
        nord7 = "#8FBCBB";
        nord8 = "#88C0D0";
        nord9 = "#81A1C1";
      };
      theme = {
        accent = {
          dark = "nord7";
          light = "nord7";
        };
        background = {
          dark = "nord0";
          light = "nord6";
        };
        backgroundElement = {
          dark = "nord1";
          light = "nord4";
        };
        backgroundPanel = {
          dark = "nord1";
          light = "nord5";
        };
        border = {
          dark = "nord2";
          light = "nord3";
        };
        borderActive = {
          dark = "nord3";
          light = "nord2";
        };
        borderSubtle = {
          dark = "nord2";
          light = "nord3";
        };
        diffAdded = {
          dark = "nord14";
          light = "nord14";
        };
        diffAddedBg = {
          dark = "#3B4252";
          light = "#E5E9F0";
        };
        diffAddedLineNumberBg = {
          dark = "#3B4252";
          light = "#E5E9F0";
        };
        diffContext = {
          dark = "nord3";
          light = "nord3";
        };
        diffContextBg = {
          dark = "nord1";
          light = "nord5";
        };
        diffHighlightAdded = {
          dark = "nord14";
          light = "nord14";
        };
        diffHighlightRemoved = {
          dark = "nord11";
          light = "nord11";
        };
        diffHunkHeader = {
          dark = "nord3";
          light = "nord3";
        };
        diffLineNumber = {
          dark = "nord2";
          light = "nord4";
        };
        diffRemoved = {
          dark = "nord11";
          light = "nord11";
        };
        diffRemovedBg = {
          dark = "#3B4252";
          light = "#E5E9F0";
        };
        diffRemovedLineNumberBg = {
          dark = "#3B4252";
          light = "#E5E9F0";
        };
        error = {
          dark = "nord11";
          light = "nord11";
        };
        info = {
          dark = "nord8";
          light = "nord10";
        };
        markdownBlockQuote = {
          dark = "nord3";
          light = "nord3";
        };
        markdownCode = {
          dark = "nord14";
          light = "nord14";
        };
        markdownCodeBlock = {
          dark = "nord4";
          light = "nord0";
        };
        markdownEmph = {
          dark = "nord12";
          light = "nord12";
        };
        markdownHeading = {
          dark = "nord8";
          light = "nord10";
        };
        markdownHorizontalRule = {
          dark = "nord3";
          light = "nord3";
        };
        markdownImage = {
          dark = "nord9";
          light = "nord9";
        };
        markdownImageText = {
          dark = "nord7";
          light = "nord7";
        };
        markdownLink = {
          dark = "nord9";
          light = "nord9";
        };
        markdownLinkText = {
          dark = "nord7";
          light = "nord7";
        };
        markdownListEnumeration = {
          dark = "nord7";
          light = "nord7";
        };
        markdownListItem = {
          dark = "nord8";
          light = "nord10";
        };
        markdownStrong = {
          dark = "nord13";
          light = "nord13";
        };
        markdownText = {
          dark = "nord4";
          light = "nord0";
        };
        primary = {
          dark = "nord8";
          light = "nord10";
        };
        secondary = {
          dark = "nord9";
          light = "nord9";
        };
        success = {
          dark = "nord14";
          light = "nord14";
        };
        syntaxComment = {
          dark = "nord3";
          light = "nord3";
        };
        syntaxFunction = {
          dark = "nord8";
          light = "nord8";
        };
        syntaxKeyword = {
          dark = "nord9";
          light = "nord9";
        };
        syntaxNumber = {
          dark = "nord15";
          light = "nord15";
        };
        syntaxOperator = {
          dark = "nord9";
          light = "nord9";
        };
        syntaxPunctuation = {
          dark = "nord4";
          light = "nord0";
        };
        syntaxString = {
          dark = "nord14";
          light = "nord14";
        };
        syntaxType = {
          dark = "nord7";
          light = "nord7";
        };
        syntaxVariable = {
          dark = "nord7";
          light = "nord7";
        };
        text = {
          dark = "nord4";
          light = "nord0";
        };
        textMuted = {
          dark = "nord3";
          light = "nord1";
        };
        warning = {
          dark = "nord12";
          light = "nord12";
        };
      };
    };
  };
}
