From ffe755030fdae2d8af23c0ea8991d6f3c9c92e41 Mon Sep 17 00:00:00 2001 From: gnaselli Date: Wed, 20 May 2026 22:36:51 -0300 Subject: [PATCH] Sync Omarchy theme to JetBrains IDEs Same pattern as omarchy-theme-set-vscode: each theme ships a jetbrains.icls editor color scheme; the command copies it into each detected JetBrains IDE config under ~/.config/JetBrains//colors/ and sets the active scheme in options/colors.scheme.xml. Applies on next IDE launch. Honors skip-jetbrains-theme-changes toggle and does nothing if no JetBrains config directory is present. --- bin/omarchy-theme-set | 1 + bin/omarchy-theme-set-jetbrains | 50 ++++++ themes/catppuccin-latte/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/catppuccin/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/ethereal/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/everforest/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/flexoki-light/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/gruvbox/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/hackerman/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/kanagawa/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/last-horizon/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/lumon/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/matte-black/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/miasma/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/nord/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/osaka-jade/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/retro-82/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/ristretto/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/rose-pine/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/solitude/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/tokyo-night/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/vantablack/jetbrains.icls | 201 +++++++++++++++++++++++++ themes/white/jetbrains.icls | 201 +++++++++++++++++++++++++ 23 files changed, 4272 insertions(+) create mode 100755 bin/omarchy-theme-set-jetbrains create mode 100644 themes/catppuccin-latte/jetbrains.icls create mode 100644 themes/catppuccin/jetbrains.icls create mode 100644 themes/ethereal/jetbrains.icls create mode 100644 themes/everforest/jetbrains.icls create mode 100644 themes/flexoki-light/jetbrains.icls create mode 100644 themes/gruvbox/jetbrains.icls create mode 100644 themes/hackerman/jetbrains.icls create mode 100644 themes/kanagawa/jetbrains.icls create mode 100644 themes/last-horizon/jetbrains.icls create mode 100644 themes/lumon/jetbrains.icls create mode 100644 themes/matte-black/jetbrains.icls create mode 100644 themes/miasma/jetbrains.icls create mode 100644 themes/nord/jetbrains.icls create mode 100644 themes/osaka-jade/jetbrains.icls create mode 100644 themes/retro-82/jetbrains.icls create mode 100644 themes/ristretto/jetbrains.icls create mode 100644 themes/rose-pine/jetbrains.icls create mode 100644 themes/solitude/jetbrains.icls create mode 100644 themes/tokyo-night/jetbrains.icls create mode 100644 themes/vantablack/jetbrains.icls create mode 100644 themes/white/jetbrains.icls diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 8dafed8bfa..713cf6e3a6 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -66,6 +66,7 @@ omarchy-theme-set-foot omarchy-theme-set-gnome omarchy-theme-set-browser omarchy-theme-set-vscode +omarchy-theme-set-jetbrains omarchy-theme-set-obsidian omarchy-theme-set-keyboard diff --git a/bin/omarchy-theme-set-jetbrains b/bin/omarchy-theme-set-jetbrains new file mode 100755 index 0000000000..6c7bda348d --- /dev/null +++ b/bin/omarchy-theme-set-jetbrains @@ -0,0 +1,50 @@ +#!/bin/bash + +# omarchy:summary=Sync Omarchy theme to installed JetBrains IDEs +# omarchy:hidden=true + +JETBRAINS_THEME="$HOME/.config/omarchy/current/theme/jetbrains.icls" +JETBRAINS_CONFIG_ROOT="$HOME/.config/JetBrains" + +[[ -d $JETBRAINS_CONFIG_ROOT ]] || exit 0 +omarchy-toggle-enabled skip-jetbrains-theme-changes && exit 0 + +scheme_name="" +if [[ -f $JETBRAINS_THEME ]]; then + scheme_name=$(sed -n '1{s/.*name="\([^"]*\)".*/\1/p;q}' "$JETBRAINS_THEME") +fi + +set_theme() { + local product_dir="$1" + + [[ -d $product_dir/options ]] || return 0 + + local colors_dir="$product_dir/colors" + local scheme_xml="$product_dir/options/colors.scheme.xml" + + if [[ -n $scheme_name ]]; then + mkdir -p "$colors_dir" + cp "$JETBRAINS_THEME" "$colors_dir/Omarchy.icls" + + if [[ ! -f $scheme_xml ]]; then + cat >"$scheme_xml" < + + + + +EOF + elif grep -q "global_color_scheme" "$scheme_xml"; then + sed -i -E "s|(]*)/>|\1>\n \n |" "$scheme_xml" + fi + elif [[ -f $colors_dir/Omarchy.icls ]]; then + rm -f "$colors_dir/Omarchy.icls" + fi +} + +for product_dir in "$JETBRAINS_CONFIG_ROOT"/*; do + [[ -d $product_dir ]] || continue + set_theme "$product_dir" +done diff --git a/themes/catppuccin-latte/jetbrains.icls b/themes/catppuccin-latte/jetbrains.icls new file mode 100644 index 0000000000..782f9c8f45 --- /dev/null +++ b/themes/catppuccin-latte/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/catppuccin/jetbrains.icls b/themes/catppuccin/jetbrains.icls new file mode 100644 index 0000000000..5608df188a --- /dev/null +++ b/themes/catppuccin/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/ethereal/jetbrains.icls b/themes/ethereal/jetbrains.icls new file mode 100644 index 0000000000..2927d14d75 --- /dev/null +++ b/themes/ethereal/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/everforest/jetbrains.icls b/themes/everforest/jetbrains.icls new file mode 100644 index 0000000000..b3a2bf625a --- /dev/null +++ b/themes/everforest/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/flexoki-light/jetbrains.icls b/themes/flexoki-light/jetbrains.icls new file mode 100644 index 0000000000..9cbeb5c26c --- /dev/null +++ b/themes/flexoki-light/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/gruvbox/jetbrains.icls b/themes/gruvbox/jetbrains.icls new file mode 100644 index 0000000000..7a7272c3da --- /dev/null +++ b/themes/gruvbox/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/hackerman/jetbrains.icls b/themes/hackerman/jetbrains.icls new file mode 100644 index 0000000000..bef0429c08 --- /dev/null +++ b/themes/hackerman/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/kanagawa/jetbrains.icls b/themes/kanagawa/jetbrains.icls new file mode 100644 index 0000000000..732c72637d --- /dev/null +++ b/themes/kanagawa/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/last-horizon/jetbrains.icls b/themes/last-horizon/jetbrains.icls new file mode 100644 index 0000000000..1eaa1e7f17 --- /dev/null +++ b/themes/last-horizon/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/lumon/jetbrains.icls b/themes/lumon/jetbrains.icls new file mode 100644 index 0000000000..72985a7004 --- /dev/null +++ b/themes/lumon/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/matte-black/jetbrains.icls b/themes/matte-black/jetbrains.icls new file mode 100644 index 0000000000..f34379c3ff --- /dev/null +++ b/themes/matte-black/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/miasma/jetbrains.icls b/themes/miasma/jetbrains.icls new file mode 100644 index 0000000000..573c62511a --- /dev/null +++ b/themes/miasma/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/nord/jetbrains.icls b/themes/nord/jetbrains.icls new file mode 100644 index 0000000000..38077502d0 --- /dev/null +++ b/themes/nord/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/osaka-jade/jetbrains.icls b/themes/osaka-jade/jetbrains.icls new file mode 100644 index 0000000000..091fad25a8 --- /dev/null +++ b/themes/osaka-jade/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/retro-82/jetbrains.icls b/themes/retro-82/jetbrains.icls new file mode 100644 index 0000000000..5abd8ea432 --- /dev/null +++ b/themes/retro-82/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/ristretto/jetbrains.icls b/themes/ristretto/jetbrains.icls new file mode 100644 index 0000000000..ae1cdc04ad --- /dev/null +++ b/themes/ristretto/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/rose-pine/jetbrains.icls b/themes/rose-pine/jetbrains.icls new file mode 100644 index 0000000000..aabff71824 --- /dev/null +++ b/themes/rose-pine/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/solitude/jetbrains.icls b/themes/solitude/jetbrains.icls new file mode 100644 index 0000000000..2e62dd1868 --- /dev/null +++ b/themes/solitude/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/tokyo-night/jetbrains.icls b/themes/tokyo-night/jetbrains.icls new file mode 100644 index 0000000000..25b0dbb15e --- /dev/null +++ b/themes/tokyo-night/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/vantablack/jetbrains.icls b/themes/vantablack/jetbrains.icls new file mode 100644 index 0000000000..b7599f1d34 --- /dev/null +++ b/themes/vantablack/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/white/jetbrains.icls b/themes/white/jetbrains.icls new file mode 100644 index 0000000000..704737fc30 --- /dev/null +++ b/themes/white/jetbrains.icls @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +