diff --git a/default/themed/alacritty.toml.tpl b/default/themed/alacritty.toml.tpl
new file mode 100644
index 0000000..ff8bc8d
--- /dev/null
+++ b/default/themed/alacritty.toml.tpl
@@ -0,0 +1,47 @@
+[colors.primary]
+background = "{{ background }}"
+foreground = "{{ foreground }}"
+
+[colors.cursor]
+text = "{{ background }}"
+cursor = "{{ cursor }}"
+
+[colors.vi_mode_cursor]
+text = "{{ background }}"
+cursor = "{{ cursor }}"
+
+[colors.search.matches]
+foreground = "{{ background }}"
+background = "{{ color3 }}"
+
+[colors.search.focused_match]
+foreground = "{{ background }}"
+background = "{{ color1 }}"
+
+[colors.footer_bar]
+foreground = "{{ background }}"
+background = "{{ foreground }}"
+
+[colors.selection]
+text = "{{ selection_foreground }}"
+background = "{{ selection_background }}"
+
+[colors.normal]
+black = "{{ color0 }}"
+red = "{{ color1 }}"
+green = "{{ color2 }}"
+yellow = "{{ color3 }}"
+blue = "{{ color4 }}"
+magenta = "{{ color5 }}"
+cyan = "{{ color6 }}"
+white = "{{ color7 }}"
+
+[colors.bright]
+black = "{{ color8 }}"
+red = "{{ color9 }}"
+green = "{{ color10 }}"
+yellow = "{{ color11 }}"
+blue = "{{ color12 }}"
+magenta = "{{ color13 }}"
+cyan = "{{ color14 }}"
+white = "{{ color15 }}"
diff --git a/default/themed/btop.theme.tpl b/default/themed/btop.theme.tpl
new file mode 100644
index 0000000..7b1b299
--- /dev/null
+++ b/default/themed/btop.theme.tpl
@@ -0,0 +1,83 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]="{{ background }}"
+
+# Main text color
+theme[main_fg]="{{ foreground }}"
+
+# Title color for boxes
+theme[title]="{{ foreground }}"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="{{ accent }}"
+
+# Background color of selected item in processes box
+theme[selected_bg]="{{ color8 }}"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="{{ accent }}"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="{{ color8 }}"
+
+# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
+theme[graph_text]="{{ foreground }}"
+
+# Background color of the percentage meters
+theme[meter_bg]="{{ color8 }}"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="{{ foreground }}"
+
+# CPU, Memory, Network, Proc box outline colors
+theme[cpu_box]="{{ color5 }}"
+theme[mem_box]="{{ color2 }}"
+theme[net_box]="{{ color1 }}"
+theme[proc_box]="{{ accent }}"
+
+# Box divider line and small boxes line color
+theme[div_line]="{{ color8 }}"
+
+# Temperature graph color (Green -> Yellow -> Red)
+theme[temp_start]="{{ color2 }}"
+theme[temp_mid]="{{ color3 }}"
+theme[temp_end]="{{ color1 }}"
+
+# CPU graph colors (Teal -> Lavender)
+theme[cpu_start]="{{ color6 }}"
+theme[cpu_mid]="{{ color4 }}"
+theme[cpu_end]="{{ color5 }}"
+
+# Mem/Disk free meter (Mauve -> Lavender -> Blue)
+theme[free_start]="{{ color5 }}"
+theme[free_mid]="{{ color4 }}"
+theme[free_end]="{{ color6 }}"
+
+# Mem/Disk cached meter (Sapphire -> Lavender)
+theme[cached_start]="{{ color4 }}"
+theme[cached_mid]="{{ color6 }}"
+theme[cached_end]="{{ color5 }}"
+
+# Mem/Disk available meter (Peach -> Red)
+theme[available_start]="{{ color3 }}"
+theme[available_mid]="{{ color1 }}"
+theme[available_end]="{{ color1 }}"
+
+# Mem/Disk used meter (Green -> Sky)
+theme[used_start]="{{ color2 }}"
+theme[used_mid]="{{ color6 }}"
+theme[used_end]="{{ color4 }}"
+
+# Download graph colors (Peach -> Red)
+theme[download_start]="{{ color3 }}"
+theme[download_mid]="{{ color1 }}"
+theme[download_end]="{{ color1 }}"
+
+# Upload graph colors (Green -> Sky)
+theme[upload_start]="{{ color2 }}"
+theme[upload_mid]="{{ color6 }}"
+theme[upload_end]="{{ color4 }}"
+
+# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
+theme[process_start]="{{ color6 }}"
+theme[process_mid]="{{ color4 }}"
+theme[process_end]="{{ color5 }}"
diff --git a/default/themed/chromium.theme.tpl b/default/themed/chromium.theme.tpl
new file mode 100644
index 0000000..84059b2
--- /dev/null
+++ b/default/themed/chromium.theme.tpl
@@ -0,0 +1 @@
+{{ background_rgb }}
diff --git a/default/themed/foot.ini.tpl b/default/themed/foot.ini.tpl
new file mode 100644
index 0000000..c56dc61
--- /dev/null
+++ b/default/themed/foot.ini.tpl
@@ -0,0 +1,25 @@
+[colors-dark]
+foreground={{ foreground_strip }}
+background={{ background_strip }}
+selection-foreground={{ selection_foreground_strip }}
+selection-background={{ selection_background_strip }}
+
+cursor={{ background_strip }} {{ cursor_strip }}
+
+regular0={{ color0_strip }}
+regular1={{ color1_strip }}
+regular2={{ color2_strip }}
+regular3={{ color3_strip }}
+regular4={{ color4_strip }}
+regular5={{ color5_strip }}
+regular6={{ color6_strip }}
+regular7={{ color7_strip }}
+
+bright0={{ color8_strip }}
+bright1={{ color9_strip }}
+bright2={{ color10_strip }}
+bright3={{ color11_strip }}
+bright4={{ color12_strip }}
+bright5={{ color13_strip }}
+bright6={{ color14_strip }}
+bright7={{ color15_strip }}
diff --git a/default/themed/ghostty.conf.tpl b/default/themed/ghostty.conf.tpl
new file mode 100644
index 0000000..bafc649
--- /dev/null
+++ b/default/themed/ghostty.conf.tpl
@@ -0,0 +1,22 @@
+background = {{ background }}
+foreground = {{ foreground }}
+cursor-color = {{ cursor }}
+selection-background = {{ selection_background }}
+selection-foreground = {{ selection_foreground }}
+
+palette = 0={{ color0 }}
+palette = 1={{ color1 }}
+palette = 2={{ color2 }}
+palette = 3={{ color3 }}
+palette = 4={{ color4 }}
+palette = 5={{ color5 }}
+palette = 6={{ color6 }}
+palette = 7={{ color7 }}
+palette = 8={{ color8 }}
+palette = 9={{ color9 }}
+palette = 10={{ color10 }}
+palette = 11={{ color11 }}
+palette = 12={{ color12 }}
+palette = 13={{ color13 }}
+palette = 14={{ color14 }}
+palette = 15={{ color15 }}
diff --git a/default/themed/gum.env.conf.tpl b/default/themed/gum.env.conf.tpl
new file mode 100644
index 0000000..616f5a5
--- /dev/null
+++ b/default/themed/gum.env.conf.tpl
@@ -0,0 +1,137 @@
+# Gum Style (generic) Variables
+env = FOREGROUND,#{{ foreground }}
+env = BACKGROUND,#{{ background }}
+env = BORDER_FOREGROUND,#{{ accent }}
+env = BORDER_BACKGROUND,#{{ background }}
+
+# Gum Confirm Style Variables
+env = GUM_CONFIRM_PROMPT_FOREGROUND,#{{ accent }}
+env = GUM_CONFIRM_PROMPT_BACKGROUND,#{{ background }}
+env = GUM_CONFIRM_SELECTED_FOREGROUND,#{{ selection_foreground }}
+env = GUM_CONFIRM_SELECTED_BACKGROUND,#{{ selection_background }}
+env = GUM_CONFIRM_UNSELECTED_FOREGROUND,#{{ foreground }}
+env = GUM_CONFIRM_UNSELECTED_BACKGROUND,#{{ background }}
+
+# Gum Input Style Variables
+env = GUM_INPUT_PROMPT_FOREGROUND,#{{ accent }}
+env = GUM_INPUT_PROMPT_BACKGROUND,#{{ background }}
+env = GUM_INPUT_PLACEHOLDER_FOREGROUND,#{{ color8 }}
+env = GUM_INPUT_PLACEHOLDER_BACKGROUND,#{{ background }}
+env = GUM_INPUT_CURSOR_FOREGROUND,#{{ cursor }}
+env = GUM_INPUT_CURSOR_BACKGROUND,#{{ background }}
+env = GUM_INPUT_HEADER_FOREGROUND,#{{ foreground }}
+env = GUM_INPUT_HEADER_BACKGROUND,#{{ background }}
+
+# Gum Choose Style Variables
+env = GUM_CHOOSE_CURSOR_FOREGROUND,#{{ accent }}
+env = GUM_CHOOSE_CURSOR_BACKGROUND,#{{ background }}
+env = GUM_CHOOSE_HEADER_FOREGROUND,#{{ foreground }}
+env = GUM_CHOOSE_HEADER_BACKGROUND,#{{ background }}
+env = GUM_CHOOSE_ITEM_FOREGROUND,#{{ foreground }}
+env = GUM_CHOOSE_ITEM_BACKGROUND,#{{ background }}
+env = GUM_CHOOSE_SELECTED_FOREGROUND,#{{ selection_foreground }}
+env = GUM_CHOOSE_SELECTED_BACKGROUND,#{{ selection_background }}
+
+# Gum Filter Style Variables
+env = GUM_FILTER_PROMPT_FOREGROUND,#{{ accent }}
+env = GUM_FILTER_PROMPT_BACKGROUND,#{{ background }}
+env = GUM_FILTER_TEXT_FOREGROUND,#{{ foreground }}
+env = GUM_FILTER_TEXT_BACKGROUND,#{{ background }}
+env = GUM_FILTER_MATCH_FOREGROUND,#{{ accent }}
+env = GUM_FILTER_CURSOR_TEXT_FOREGROUND,#{{ cursor }}
+env = GUM_FILTER_CURSOR_TEXT_BACKGROUND,#{{ background }}
+env = GUM_FILTER_SELECTED_FOREGROUND,#{{ selection_foreground }}
+env = GUM_FILTER_SELECTED_BACKGROUND,#{{ selection_background }}
+env = GUM_FILTER_INDICATOR_FOREGROUND,#{{ accent }}
+env = GUM_FILTER_HEADER_FOREGROUND,#{{ foreground }}
+env = GUM_FILTER_MATCH_BACKGROUND,#{{ background }}
+env = GUM_FILTER_HEADER_BACKGROUND,#{{ background }}
+env = GUM_FILTER_PLACEHOLDER_FOREGROUND,#{{ color8 }}
+env = GUM_FILTER_PLACEHOLDER_BACKGROUND,#{{ background }}
+env = GUM_FILTER_INDICATOR_BACKGROUND,#{{ background }}
+env = GUM_FILTER_SELECTED_PREFIX_FOREGROUND,#{{ selection_foreground }}
+env = GUM_FILTER_SELECTED_PREFIX_BACKGROUND,#{{ selection_background }}
+env = GUM_FILTER_UNSELECTED_PREFIX_FOREGROUND,#{{ color8 }}
+env = GUM_FILTER_UNSELECTED_PREFIX_BACKGROUND,#{{ background }}
+
+# Gum Table Style Variables
+env = GUM_TABLE_HEADER_FOREGROUND,#{{ foreground }}
+env = GUM_TABLE_HEADER_BACKGROUND,#{{ background }}
+env = GUM_TABLE_CELL_FOREGROUND,#{{ foreground }}
+env = GUM_TABLE_CELL_BACKGROUND,#{{ background }}
+env = GUM_TABLE_BORDER_FOREGROUND,#{{ color8 }}
+env = GUM_TABLE_BORDER_BACKGROUND,#{{ background }}
+env = GUM_TABLE_SELECTED_FOREGROUND,#{{ selection_foreground }}
+env = GUM_TABLE_SELECTED_BACKGROUND,#{{ selection_background }}
+
+# Gum Spin Style Variables
+env = GUM_SPIN_SPINNER_FOREGROUND,#{{ accent }}
+env = GUM_SPIN_SPINNER_BACKGROUND,#{{ background }}
+env = GUM_SPIN_TITLE_FOREGROUND,#{{ foreground }}
+env = GUM_SPIN_TITLE_BACKGROUND,#{{ background }}
+
+# Gum File Style Variables
+env = GUM_FILE_CURSOR_FOREGROUND,#{{ cursor }}
+env = GUM_FILE_CURSOR_BACKGROUND,#{{ background }}
+env = GUM_FILE_SYMLINK_FOREGROUND,#{{ foreground }}
+env = GUM_FILE_SYMLINK_BACKGROUND,#{{ background }}
+env = GUM_FILE_DIRECTORY_FOREGROUND,#{{ foreground }}
+env = GUM_FILE_DIRECTORY_BACKGROUND,#{{ background }}
+env = GUM_FILE_FILE_FOREGROUND,#{{ foreground }}
+env = GUM_FILE_FILE_BACKGROUND,#{{ background }}
+env = GUM_FILE_PERMISSIONS_FOREGROUND,#{{ color8 }}
+env = GUM_FILE_PERMISSIONS_BACKGROUND,#{{ background }}
+env = GUM_FILE_SELECTED_FOREGROUND,#{{ selection_foreground }}
+env = GUM_FILE_SELECTED_BACKGROUND,#{{ selection_background }}
+env = GUM_FILE_FILE_SIZE_FOREGROUND,#{{ color8 }}
+env = GUM_FILE_FILE_SIZE_BACKGROUND,#{{ background }}
+env = GUM_FILE_HEADER_FOREGROUND,#{{ foreground }}
+env = GUM_FILE_HEADER_BACKGROUND,#{{ background }}
+
+# Gum Pager Style Variables
+env = GUM_PAGER_FOREGROUND,#{{ foreground }}
+env = GUM_PAGER_BACKGROUND,#{{ background }}
+env = GUM_PAGER_LINE_NUMBER_FOREGROUND,#{{ color8 }}
+env = GUM_PAGER_LINE_NUMBER_BACKGROUND,#{{ background }}
+env = GUM_PAGER_MATCH_FOREGROUND,#{{ accent }}
+env = GUM_PAGER_MATCH_BACKGROUND,#{{ background }}
+env = GUM_PAGER_MATCH_HIGH_FOREGROUND,#{{ accent }}
+env = GUM_PAGER_MATCH_HIGH_BACKGROUND,#{{ background }}
+env = GUM_PAGER_HELP_FOREGROUND,#{{ color8 }}
+env = GUM_PAGER_HELP_BACKGROUND,#{{ background }}
+
+# Gum Write Style Variables
+env = GUM_WRITE_BASE_FOREGROUND,#{{ foreground }}
+env = GUM_WRITE_BASE_BACKGROUND,#{{ background }}
+env = GUM_WRITE_CURSOR_LINE_NUMBER_FOREGROUND,#{{ color8 }}
+env = GUM_WRITE_CURSOR_LINE_NUMBER_BACKGROUND,#{{ background }}
+env = GUM_WRITE_CURSOR_LINE_FOREGROUND,#{{ foreground }}
+env = GUM_WRITE_CURSOR_LINE_BACKGROUND,#{{ selection_background }}
+env = GUM_WRITE_CURSOR_FOREGROUND,#{{ cursor }}
+env = GUM_WRITE_CURSOR_BACKGROUND,#{{ background }}
+env = GUM_WRITE_END_OF_BUFFER_FOREGROUND,#{{ color8 }}
+env = GUM_WRITE_END_OF_BUFFER_BACKGROUND,#{{ background }}
+env = GUM_WRITE_LINE_NUMBER_FOREGROUND,#{{ color8 }}
+env = GUM_WRITE_LINE_NUMBER_BACKGROUND,#{{ background }}
+env = GUM_WRITE_HEADER_FOREGROUND,#{{ foreground }}
+env = GUM_WRITE_HEADER_BACKGROUND,#{{ background }}
+env = GUM_WRITE_PLACEHOLDER_FOREGROUND,#{{ color8 }}
+env = GUM_WRITE_PLACEHOLDER_BACKGROUND,#{{ background }}
+env = GUM_WRITE_PROMPT_FOREGROUND,#{{ foreground }}
+env = GUM_WRITE_PROMPT_BACKGROUND,#{{ background }}
+
+# Gum Log Style Variables
+env = GUM_LOG_LEVEL_FOREGROUND,#{{ accent }}
+env = GUM_LOG_LEVEL_BACKGROUND,#{{ background }}
+env = GUM_LOG_TIME_FOREGROUND,#{{ color8 }}
+env = GUM_LOG_TIME_BACKGROUND,#{{ background }}
+env = GUM_LOG_PREFIX_FOREGROUND,#{{ foreground }}
+env = GUM_LOG_PREFIX_BACKGROUND,#{{ background }}
+env = GUM_LOG_MESSAGE_FOREGROUND,#{{ foreground }}
+env = GUM_LOG_MESSAGE_BACKGROUND,#{{ background }}
+env = GUM_LOG_KEY_FOREGROUND,#{{ foreground }}
+env = GUM_LOG_KEY_BACKGROUND,#{{ background }}
+env = GUM_LOG_VALUE_FOREGROUND,#{{ foreground }}
+env = GUM_LOG_VALUE_BACKGROUND,#{{ background }}
+env = GUM_LOG_SEPARATOR_FOREGROUND,#{{ color8 }}
+env = GUM_LOG_SEPARATOR_BACKGROUND,#{{ background }}
\ No newline at end of file
diff --git a/default/themed/helix.toml.tpl b/default/themed/helix.toml.tpl
new file mode 100644
index 0000000..3cbe306
--- /dev/null
+++ b/default/themed/helix.toml.tpl
@@ -0,0 +1,132 @@
+# Syntax
+"keyword" = "color5"
+"keyword.control" = { fg = "color5", modifiers = ["italic"] }
+"function" = "color4"
+"function.builtin" = "color4"
+"function.macro" = "color5"
+"type" = "color3"
+"type.builtin" = "color5"
+"type.enum.variant" = "color6"
+"constructor" = "color4"
+"constant" = "color3"
+"constant.builtin" = "color3"
+"constant.numeric" = "color3"
+"constant.character" = "color6"
+"constant.character.escape" = "color5"
+"string" = "color2"
+"string.regexp" = "color5"
+"string.special" = "color4"
+"comment" = { fg = "color8", modifiers = ["italic"] }
+"variable" = "foreground"
+"variable.parameter" = { fg = "color5", modifiers = ["italic"] }
+"variable.builtin" = "color1"
+"variable.other.member" = "color4"
+"label" = "color4"
+"punctuation" = "color8"
+"punctuation.special" = "color6"
+"operator" = "color6"
+"tag" = "color4"
+"namespace" = { fg = "color3", modifiers = ["italic"] }
+"special" = "color5"
+"attribute" = "color3"
+
+# Markup
+"markup.heading.1" = "color1"
+"markup.heading.2" = "color3"
+"markup.heading.3" = "color3"
+"markup.heading.4" = "color2"
+"markup.heading.5" = "color4"
+"markup.heading.6" = "color5"
+"markup.list" = "color6"
+"markup.list.unchecked" = "color8"
+"markup.list.checked" = "color2"
+"markup.bold" = { fg = "color1", modifiers = ["bold"] }
+"markup.italic" = { fg = "color1", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "color4", modifiers = ["italic", "underlined"] }
+"markup.link.text" = "color5"
+"markup.link.label" = "color4"
+"markup.raw" = "color2"
+"markup.quote" = "color5"
+
+# Diff
+"diff.plus" = "color2"
+"diff.minus" = "color1"
+"diff.delta" = "color4"
+
+# Leave the editor background transparent so the terminal background shows through
+"ui.background" = { }
+
+"ui.linenr" = { fg = "color8" }
+"ui.linenr.selected" = { fg = "foreground" }
+
+# Statusline uses an inverted band (background-color text on foreground-color
+# background) to guarantee contrast across both light and dark Omarchy themes.
+"ui.statusline" = { fg = "background", bg = "foreground" }
+"ui.statusline.inactive" = { fg = "background", bg = "color8" }
+"ui.statusline.normal" = { fg = "background", bg = "color4", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "background", bg = "color2", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "background", bg = "color5", modifiers = ["bold"] }
+
+"ui.popup" = { fg = "foreground", bg = "background" }
+"ui.window" = { fg = "color8" }
+"ui.help" = { fg = "foreground", bg = "background" }
+
+"ui.bufferline" = { fg = "color8", bg = "background" }
+"ui.bufferline.active" = { fg = "foreground", bg = "background", underline = { color = "color5", style = "line" } }
+
+"ui.text" = "foreground"
+"ui.text.focus" = { fg = "foreground", bg = "color0", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "color8" }
+"ui.text.directory" = { fg = "color4" }
+
+"ui.virtual" = "color8"
+"ui.virtual.ruler" = { bg = "color0" }
+"ui.virtual.indent-guide" = "color8"
+"ui.virtual.inlay-hint" = { fg = "color8" }
+"ui.virtual.jump-label" = { fg = "color1", modifiers = ["bold"] }
+"ui.virtual.whitespace" = "color8"
+
+"ui.selection" = { bg = "selection_background", fg = "selection_foreground" }
+
+"ui.cursor" = { fg = "background", bg = "cursor" }
+"ui.cursor.primary" = { fg = "background", bg = "cursor" }
+"ui.cursor.match" = { fg = "color3", modifiers = ["bold"] }
+"ui.cursor.primary.normal" = { fg = "background", bg = "cursor" }
+"ui.cursor.primary.insert" = { fg = "background", bg = "color2" }
+"ui.cursor.primary.select" = { fg = "background", bg = "color5" }
+
+"ui.cursorline.primary" = { bg = "color0" }
+
+"ui.highlight" = { bg = "color0", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "foreground", bg = "background" }
+"ui.menu.selected" = { fg = "background", bg = "foreground", modifiers = ["bold"] }
+
+"diagnostic.error" = { underline = { color = "color1", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "color3", style = "curl" } }
+"diagnostic.info" = { underline = { color = "color4", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "color6", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+error = "color1"
+warning = "color3"
+info = "color4"
+hint = "color6"
+
+[palette]
+background = "{{ background }}"
+foreground = "{{ foreground }}"
+cursor = "{{ cursor }}"
+selection_background = "{{ selection_background }}"
+selection_foreground = "{{ selection_foreground }}"
+color0 = "{{ color0 }}"
+color1 = "{{ color1 }}"
+color2 = "{{ color2 }}"
+color3 = "{{ color3 }}"
+color4 = "{{ color4 }}"
+color5 = "{{ color5 }}"
+color6 = "{{ color6 }}"
+color7 = "{{ color7 }}"
+color8 = "{{ color8 }}"
diff --git a/default/themed/hyprland-preview-share-picker.css.tpl b/default/themed/hyprland-preview-share-picker.css.tpl
new file mode 100644
index 0000000..07e5e4e
--- /dev/null
+++ b/default/themed/hyprland-preview-share-picker.css.tpl
@@ -0,0 +1,94 @@
+@define-color foreground {{ foreground }};
+@define-color background {{ background }};
+@define-color accent {{ accent }};
+@define-color muted {{ color8 }};
+@define-color card_bg {{ color0 }};
+@define-color text_dark {{ background }};
+@define-color accent_hover {{ color12 }};
+@define-color selected_tab {{ accent }};
+@define-color text {{ foreground }};
+
+* {
+ all: unset;
+ font-family: JetBrains Mono NF;
+ color: @foreground;
+ font-weight: bold;
+ font-size: 16px;
+}
+
+.window {
+ background: alpha(@background, 0.95);
+ border: solid 2px @accent;
+ margin: 4px;
+ padding: 18px;
+}
+
+tabs {
+ padding: 0.5rem 1rem;
+}
+
+tabs > tab {
+ margin-right: 1rem;
+}
+
+.tab-label {
+ color: @text;
+ transition: all 0.2s ease;
+}
+
+tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label {
+ text-decoration: underline currentColor;
+ color: @selected_tab;
+}
+
+tabs > tab:focus > .tab-label {
+ color: @foreground;
+}
+
+.page {
+ padding: 1rem;
+}
+
+.image-label {
+ font-size: 12px;
+ padding: 0.25rem;
+}
+
+flowboxchild > .card, button > .card {
+ transition: all 0.2s ease;
+ border: solid 2px transparent;
+ border-color: @background;
+ border-radius: 5px;
+ background-color: @card_bg;
+ padding: 5px;
+}
+
+flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card {
+ border: solid 2px @accent;
+}
+
+.image {
+ border-radius: 5px;
+}
+
+.region-button {
+ padding: 0.5rem 1rem;
+ border-radius: 5px;
+ background-color: @accent;
+ color: @text_dark;
+ transition: all 0.2s ease;
+}
+
+.region-button > label {
+ color: @text_dark;
+}
+
+.region-button:not(:disabled):hover, .region-button:not(:disabled):focus {
+ background-color: @accent_hover;
+ color: @text_dark;
+}
+
+.region-button:disabled {
+ background-color: @muted;
+ color: @background;
+}
diff --git a/default/themed/hyprland.conf.tpl b/default/themed/hyprland.conf.tpl
new file mode 100644
index 0000000..e4dbf3c
--- /dev/null
+++ b/default/themed/hyprland.conf.tpl
@@ -0,0 +1,9 @@
+$activeBorderColor = rgb({{ accent_strip }})
+
+general {
+ col.active_border = $activeBorderColor
+}
+
+group {
+ col.border_active = $activeBorderColor
+}
diff --git a/default/themed/hyprland.lua.tpl b/default/themed/hyprland.lua.tpl
new file mode 100644
index 0000000..27d2990
--- /dev/null
+++ b/default/themed/hyprland.lua.tpl
@@ -0,0 +1,14 @@
+hl.config({
+ general = {
+ col = {
+ active_border = { colors = {"rgb({{ accent_strip }})", "rgb({{ color1_strip }})" }, angle = 45 },
+ inactive_border = { colors = {"rgb({{ color2_strip }})", "rgb({{ color2_strip }})" }, angle = 45 }
+ }
+ },
+ group = {
+ col = {
+ border_active = { colors = {"rgb({{ accent_strip }})", "rgb({{ color1_strip }})" }, angle = 45 },
+ border_inactive = { colors = {"rgb({{ color2_strip }})", "rgb({{ color2_strip }})" }, angle = 45 }
+ }
+ }
+})
diff --git a/default/themed/hyprlock.conf.tpl b/default/themed/hyprlock.conf.tpl
new file mode 100644
index 0000000..1b4cac3
--- /dev/null
+++ b/default/themed/hyprlock.conf.tpl
@@ -0,0 +1,5 @@
+$color = rgba({{ background_rgb }}, 1.0)
+$inner_color = rgba({{ background_rgb }}, 0.8)
+$outer_color = rgba({{ foreground_rgb }}, 1.0)
+$font_color = rgba({{ foreground_rgb }}, 1.0)
+$check_color = rgba({{ accent_rgb }}, 1.0)
diff --git a/default/themed/keyboard.rgb.tpl b/default/themed/keyboard.rgb.tpl
new file mode 100644
index 0000000..bc9f35a
--- /dev/null
+++ b/default/themed/keyboard.rgb.tpl
@@ -0,0 +1 @@
+{{ accent }}
diff --git a/default/themed/kitty.conf.tpl b/default/themed/kitty.conf.tpl
new file mode 100644
index 0000000..e74a5bb
--- /dev/null
+++ b/default/themed/kitty.conf.tpl
@@ -0,0 +1,27 @@
+foreground {{ foreground }}
+background {{ background }}
+selection_foreground {{ selection_foreground }}
+selection_background {{ selection_background }}
+
+cursor {{ cursor }}
+cursor_text_color {{ background }}
+
+active_border_color {{ accent }}
+active_tab_background {{ accent }}
+
+color0 {{ color0 }}
+color1 {{ color1 }}
+color2 {{ color2 }}
+color3 {{ color3 }}
+color4 {{ color4 }}
+color5 {{ color5 }}
+color6 {{ color6 }}
+color7 {{ color7 }}
+color8 {{ color8 }}
+color9 {{ color9 }}
+color10 {{ color10 }}
+color11 {{ color11 }}
+color12 {{ color12 }}
+color13 {{ color13 }}
+color14 {{ color14 }}
+color15 {{ color15 }}
diff --git a/default/themed/mako.ini.tpl b/default/themed/mako.ini.tpl
new file mode 100644
index 0000000..e2c7d0c
--- /dev/null
+++ b/default/themed/mako.ini.tpl
@@ -0,0 +1,40 @@
+text-color={{ foreground }}
+border-color={{ accent }}
+background-color={{ background }}
+
+anchor=top-right
+group-by=app-name,summary,body
+default-timeout=5000
+width=420
+outer-margin=20
+padding=10,15
+border-size=2
+max-icon-size=32
+font=sans-serif 14px
+
+[app-name=Spotify]
+invisible=1
+
+[mode=do-not-disturb]
+invisible=true
+
+[mode=do-not-disturb app-name=notify-send]
+invisible=false
+
+[urgency=critical]
+default-timeout=0
+layer=overlay
+
+[summary~="Setup Wi-Fi"]
+on-button-left=exec sh -c 'omarchy-notification-dismiss "Setup Wi-Fi"; omarchy-launch-wifi'
+
+[summary~="Update System"]
+on-button-left=exec sh -c 'omarchy-notification-dismiss "Update System"; omarchy-launch-floating-terminal-with-presentation omarchy-update'
+
+[summary~="Install Dictation with Voxtype"]
+on-button-left=exec sh -c 'omarchy-notification-dismiss "Install Dictation with Voxtype"; omarchy-launch-floating-terminal-with-presentation omarchy-voxtype-install'
+
+[summary~="Screenshot copied & saved"]
+max-icon-size=80
+format=%s\n%b
+
diff --git a/default/themed/obsidian.css.tpl b/default/themed/obsidian.css.tpl
new file mode 100644
index 0000000..e255b0e
--- /dev/null
+++ b/default/themed/obsidian.css.tpl
@@ -0,0 +1,99 @@
+/* Omarchy Theme for Obsidian */
+
+.theme-dark, .theme-light {
+ /* Core colors */
+ --background-primary: {{ background }};
+ --background-primary-alt: {{ background }};
+ --background-secondary: {{ background }};
+ --background-secondary-alt: {{ background }};
+ --text-normal: {{ foreground }};
+
+ /* Selection colors */
+ --text-selection: {{ selection_background }};
+
+ /* Border color */
+ --background-modifier-border: {{ color8 }};
+
+ /* Semantic heading colors */
+ --text-title-h1: {{ color1 }};
+ --text-title-h2: {{ color2 }};
+ --text-title-h3: {{ color3 }};
+ --text-title-h4: {{ color4 }};
+ --text-title-h5: {{ color5 }};
+ --text-title-h6: {{ color5 }};
+
+ /* Links and accents */
+ --text-link: {{ color4 }};
+ --text-accent: {{ accent }};
+ --text-accent-hover: {{ accent }};
+ --interactive-accent: {{ accent }};
+ --interactive-accent-hover: {{ accent }};
+
+ /* Muted text */
+ --text-muted: color-mix(in srgb, {{ foreground }} 70%, transparent);
+ --text-faint: color-mix(in srgb, {{ foreground }} 55%, transparent);
+
+ /* Code */
+ --code-normal: {{ color6 }};
+
+ /* Errors and success */
+ --text-error: {{ color1 }};
+ --text-error-hover: {{ color1 }};
+ --text-success: {{ color2 }};
+
+ /* Tags */
+ --tag-color: {{ color6 }};
+ --tag-background: {{ color8 }};
+
+ /* Graph */
+ --graph-line: {{ color8 }};
+ --graph-node: {{ accent }};
+ --graph-node-focused: {{ color4 }};
+ --graph-node-tag: {{ color6 }};
+ --graph-node-attachment: {{ color2 }};
+}
+
+/* Headers */
+.cm-header-1, .markdown-rendered h1 { color: var(--text-title-h1); }
+.cm-header-2, .markdown-rendered h2 { color: var(--text-title-h2); }
+.cm-header-3, .markdown-rendered h3 { color: var(--text-title-h3); }
+.cm-header-4, .markdown-rendered h4 { color: var(--text-title-h4); }
+.cm-header-5, .markdown-rendered h5 { color: var(--text-title-h5); }
+.cm-header-6, .markdown-rendered h6 { color: var(--text-title-h6); }
+
+/* Code blocks */
+.markdown-rendered code {
+ color: {{ color6 }};
+}
+
+/* Syntax highlighting */
+.cm-s-obsidian span.cm-keyword { color: {{ color1 }}; }
+.cm-s-obsidian span.cm-string { color: {{ color2 }}; }
+.cm-s-obsidian span.cm-number { color: {{ color3 }}; }
+.cm-s-obsidian span.cm-comment { color: {{ color8 }}; }
+.cm-s-obsidian span.cm-operator { color: {{ color4 }}; }
+.cm-s-obsidian span.cm-def { color: {{ color4 }}; }
+
+/* Links */
+.markdown-rendered a {
+ color: var(--text-link);
+}
+
+/* Blockquotes */
+.markdown-rendered blockquote {
+ border-left-color: {{ accent }};
+}
+
+/* Active elements */
+.workspace-leaf.mod-active .workspace-leaf-header-title {
+ color: var(--interactive-accent);
+}
+
+.nav-file-title.is-active {
+ color: var(--interactive-accent);
+}
+
+/* Search results */
+.search-result-file-title {
+ color: var(--interactive-accent);
+}
diff --git a/default/themed/rofi.rasi.tpl b/default/themed/rofi.rasi.tpl
new file mode 100644
index 0000000..b7d8d1b
--- /dev/null
+++ b/default/themed/rofi.rasi.tpl
@@ -0,0 +1,26 @@
+* {
+ background: {{ background }};
+ foreground: {{ foreground }};
+ active-background: {{ color2 }};
+ urgent-background: {{ color1 }};
+
+ normal-foreground: {{ color3 }};
+ normal-background: {{ background }};
+
+ selected-foreground: {{ selection_foreground }};
+ selected-background: {{ selection_background }};
+
+ seperator-color: {{ background }};
+ border-color: {{ color0 }};
+
+ prompt-color: {{ color4 }};
+ prompt-background-color: {{ color0 }};
+
+ window-border-size: 1px;
+ window-border-radius: 8px;
+
+ background-color: @background;
+ text-color: @foreground;
+}
+
+
diff --git a/default/themed/swayosd.css.tpl b/default/themed/swayosd.css.tpl
new file mode 100644
index 0000000..e06402c
--- /dev/null
+++ b/default/themed/swayosd.css.tpl
@@ -0,0 +1,5 @@
+@define-color background-color {{ background }};
+@define-color border-color {{ foreground }};
+@define-color label {{ foreground }};
+@define-color image {{ foreground }};
+@define-color progress {{ accent }};
diff --git a/default/themed/tmux.tpl b/default/themed/tmux.tpl
new file mode 100644
index 0000000..4deea17
--- /dev/null
+++ b/default/themed/tmux.tpl
@@ -0,0 +1,62 @@
+color_bg0="{{ background }}"
+color_bg1="{{ color0 }}"
+color_bg2="{{ color7 }}"
+color_fg0="{{ foreground }}"
+color_fg1="{{ color3 }}"
+
+color_status_fg="{{ color4 }}"
+color_status_bg="{{ color0 }}"
+
+color_selected_fg="{{ selection_foreground }}"
+color_selected_bg="{{ selection_background }}"
+
+color_highlight_fg="{{ color2 }}"
+color_highlight_bg="{{ background }}"
+
+color_current_fg="{{ color1 }}"
+color_current_bg="{{ background }}"
+
+color_check_fg="{{ color5 }}"
+
+pane_border_fg="{{ foreground }}"
+pane_border_selected_fg="{{ color2 }}"
+
+set -g @prefix_highlight_fg "${color_highlight_fg}"
+set -g @prefix_highlight_bg "${color_highlight_bg}"
+
+# Status bar settings
+set -g status-style "bg=${color_status_bg},fg=${color_status_fg}"
+set -g status "on"
+set -g status-bg "${color_bg0}"
+set -g status-justify "left"
+set -g status-left-length "100"
+set -g status-right-length "100"
+
+# Messages
+set -g message-style "fg=${color_selected_fg},bg=${color_selected_bg},align=centre"
+set -g message-command-style "fg=${color_selected_fg},bg=${color_selected_bg},align=centre"
+
+# Panes
+set -g pane-border-style "fg=${pane_border_fg}"
+set -g pane-active-border-style "fg=${pane_border_selected_fg}"
+
+# Windows
+set -g window-status-activity-style "fg=${color_fg0},bg=${color_bg0},none"
+set -g window-status-separator ""
+set -g window-status-style "fg=${color_fg0},bg=${color_bg0},none"
+
+# Statusline - current window
+set -g window-status-current-format "#[fg=${color_current_fg},bg=${color_current_bg}]#I: #[fg=${color_check_fg},bg=${color_current_bg}](✓) #[fg=${color_current_fg},bg=${color_current_bg}]#W "
+
+# Statusline - other windows
+set -g window-status-format "#[fg=${color_highlight_fg},bg=${color_highlight_bg}]#I: #[fg=${color_fg0},bg=${color_highlight_bg}]#W "
+
+# Statusline - right side
+set -g status-right "#[fg=${color_fg1},bg=${color_bg0},nobold,nounderscore,noitalics]%Y-%m-%d %H:%M #[fg=${color_fg0},bg=${color_highlight_fg},nobold,nounderscore,noitalics] #[fg=${color_fg0},bg=${color_bg1}] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) #[fg=${color_fg0},bg=${color_current_fg},nobold,nounderscore,noitalics] #[fg=${color_fg0},bg=${color_bg1}] #S "
+
+# Statusline - left side (empty)
+set -g status-left ""
+
+# Modes
+set -g clock-mode-colour "${color_status_fg}"
+set -g mode-style "fg=${color_highlight_fg} bg=${color_bg1} bold"
diff --git a/default/themed/walker.css.tpl b/default/themed/walker.css.tpl
new file mode 100644
index 0000000..123ca92
--- /dev/null
+++ b/default/themed/walker.css.tpl
@@ -0,0 +1,6 @@
+@define-color selected-text {{ accent }};
+@define-color text {{ foreground }};
+@define-color base {{ background }};
+@define-color border {{ foreground }};
+@define-color foreground {{ foreground }};
+@define-color background {{ background }};
diff --git a/default/themed/waybar.css.tpl b/default/themed/waybar.css.tpl
new file mode 100644
index 0000000..d876a92
--- /dev/null
+++ b/default/themed/waybar.css.tpl
@@ -0,0 +1,2 @@
+@define-color foreground {{ foreground }};
+@define-color background {{ background }};
diff --git a/installer/environment.sh b/installer/environment.sh
new file mode 100755
index 0000000..0b6ec69
--- /dev/null
+++ b/installer/environment.sh
@@ -0,0 +1,6 @@
+#!/bin/sh -e
+
+mkdir -p ${HOME}/.config/environment.d
+
+${DOTFILES_DIR}/sync-config config/environment.d/
+echo "DOTFILES_DIR=${DOTFILES_DIR}" | tee -a ${HOME}/.config/environment.d/dotfiles.conf
diff --git a/script/bing-wallpaper b/script/bing-wallpaper
index 2b4934c..5fdd5f0 100755
--- a/script/bing-wallpaper
+++ b/script/bing-wallpaper
@@ -9,7 +9,7 @@ offset=0
[[ "$1" =~ [1-9][0-9]*$ ]] && offset=$1
BACKGROUNDS_DIR="$HOME/Sync/Shared/wallpapers"
-CURRENT_BACKGROUND_LINK="$HOME/.local/share/themes/current/background"
+CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
url_preffix="http://www.bing.com"
xml_url="https://cn.bing.com/HPImageArchive.aspx?format=xml&idx=$offset&n=10&nc=1612409408851&pid=hp&FORM=BEHPTB&uhd=1&uhdwidth=3840&uhdheight=2160"
diff --git a/script/omarchy-cmd-missing b/script/omarchy-cmd-missing
new file mode 100755
index 0000000..470d69c
--- /dev/null
+++ b/script/omarchy-cmd-missing
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# omarchy:summary=Check whether any required commands are missing
+
+for cmd in "$@"; do
+ if ! command -v "$cmd" &>/dev/null; then
+ exit 0
+ fi
+done
+
+exit 1
diff --git a/script/omarchy-cmd-present b/script/omarchy-cmd-present
new file mode 100755
index 0000000..4e75876
--- /dev/null
+++ b/script/omarchy-cmd-present
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# omarchy:summary=Check whether all required commands are available
+
+for cmd in "$@"; do
+ command -v "$cmd" &>/dev/null || exit 1
+done
+
+exit 0
diff --git a/script/omarchy-hook b/script/omarchy-hook
new file mode 100755
index 0000000..8c2a59d
--- /dev/null
+++ b/script/omarchy-hook
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# omarchy:summary=Run a named hook from ~/.config/omarchy/hooks/ and ~/.config/omarchy/hooks/.d/.
+# omarchy:args=[name] [args...]
+
+set -e
+
+if (( $# < 1 )); then
+ echo "Usage: omarchy-hook [name] [args...]"
+ exit 1
+fi
+
+HOOK=$1
+HOOK_PATH="$HOME/.config/omarchy/hooks/$1"
+HOOK_DIR="$HOOK_PATH.d"
+shift
+
+if [[ -f $HOOK_PATH ]]; then
+ bash "$HOOK_PATH" "$@" || echo "Hook failed: $HOOK_PATH"
+fi
+
+if [[ -d $HOOK_DIR ]]; then
+ for hook in "$HOOK_DIR"/*; do
+ [[ -f $hook ]] || continue
+ [[ $hook == *.sample ]] && continue
+ bash "$hook" "$@" || echo "Hook failed: $hook"
+ done
+fi
diff --git a/script/omarchy-restart-btop b/script/omarchy-restart-btop
new file mode 100755
index 0000000..16b6b98
--- /dev/null
+++ b/script/omarchy-restart-btop
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# omarchy:summary=Reload btop configuration (used by the Omarchy theme switching).
+
+pkill -SIGUSR2 btop
diff --git a/script/omarchy-restart-hyprctl b/script/omarchy-restart-hyprctl
new file mode 100755
index 0000000..e6e2c31
--- /dev/null
+++ b/script/omarchy-restart-hyprctl
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# omarchy:summary=Reload hyprland configuration (used by the Omarchy theme switching).
+
+hyprctl reload >/dev/null
diff --git a/script/omarchy-restart-hypridle b/script/omarchy-restart-hypridle
new file mode 100755
index 0000000..0ea7776
--- /dev/null
+++ b/script/omarchy-restart-hypridle
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# omarchy:summary=Restart the hypridle service (used for idle detection and auto-lock).
+
+omarchy-restart-app hypridle
diff --git a/script/omarchy-restart-mako b/script/omarchy-restart-mako
new file mode 100755
index 0000000..3cb6a6a
--- /dev/null
+++ b/script/omarchy-restart-mako
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# omarchy:summary=Reload mako configuration (used by the Omarchy theme switching).
+
+makoctl reload
diff --git a/script/omarchy-restart-tmux b/script/omarchy-restart-tmux
new file mode 100755
index 0000000..b90df0c
--- /dev/null
+++ b/script/omarchy-restart-tmux
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+# omarchy:summary=Restart tmux if running with the latest configuration
+
+if pgrep --quiet tmux; then
+ tmux source-file ~/.config/tmux/tmux.conf
+fi
diff --git a/script/omarchy-theme-bg-set b/script/omarchy-theme-bg-set
new file mode 100755
index 0000000..9c695d0
--- /dev/null
+++ b/script/omarchy-theme-bg-set
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# omarchy:summary=Set the current background image
+# omarchy:args=
+# omarchy:examples=omarchy theme bg set ~/Pictures/wallpaper.png
+
+if [[ -z $1 ]]; then
+ echo "Usage: omarchy-theme-bg-set " >&2
+ exit 1
+fi
+
+BACKGROUND="$(realpath "$1")"
+CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
+
+if [[ ! -f "$BACKGROUND" ]]; then
+ echo "File does not exist: $BACKGROUND" >&2
+ exit 1
+fi
+
+# Create symlink to the new background
+ln -nsf "$BACKGROUND" "$CURRENT_BACKGROUND_LINK"
+
+# Kill existing swaybg and start new one
+pkill -x swaybg
+setsid uwsm-app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
diff --git a/script/omarchy-theme-colors-from-alacritty b/script/omarchy-theme-colors-from-alacritty
new file mode 100755
index 0000000..a740c0e
--- /dev/null
+++ b/script/omarchy-theme-colors-from-alacritty
@@ -0,0 +1,211 @@
+#!/bin/bash
+
+# omarchy:summary=Generate a theme's colors.toml from its alacritty.toml palette
+# omarchy:args=
+# omarchy:hidden=true
+
+set -e
+
+THEME_SOURCE="${1:-}"
+COLORS_OUTPUT="$THEME_SOURCE/colors.toml"
+ALACRITTY_FILE="$THEME_SOURCE/alacritty.toml"
+
+if [[ -z $THEME_SOURCE ]]; then
+ echo "Usage: omarchy-theme-colors-from-alacritty " >&2
+ exit 1
+fi
+
+# Skip if colors.toml already exists in source theme
+if [[ -f $COLORS_OUTPUT ]]; then
+ exit 0
+fi
+
+# Skip if no alacritty.toml to extract from
+if [[ ! -f $ALACRITTY_FILE ]]; then
+ exit 0
+fi
+
+normalize_hex() {
+ local color="$1"
+ [[ -z $color ]] && return
+ color="${color#0x}"
+ color="${color#\#}"
+ if [[ $color =~ ^[0-9a-fA-F]{6}$ ]]; then
+ printf "#%s\n" "${color,,}"
+ fi
+}
+
+extract_color_in_section() {
+ local section="$1"
+ local key="$2"
+ local color_hex=""
+ color_hex=$(awk -v section="$section" -v key="$key" '
+ function trim(value) {
+ gsub(/^[ \t]+|[ \t]+$/, "", value)
+ return value
+ }
+
+ function strip_comment(value, i, ch, out, in_single, in_double, prev) {
+ out = ""
+ in_single = 0
+ in_double = 0
+ prev = ""
+
+ for (i = 1; i <= length(value); i++) {
+ ch = substr(value, i, 1)
+
+ if (ch == "\"" && !in_single && prev != "\\") {
+ in_double = !in_double
+ } else if (ch == "'\''" && !in_double) {
+ in_single = !in_single
+ }
+
+ if (ch == "#" && !in_single && !in_double) {
+ break
+ }
+
+ out = out ch
+ prev = ch
+ }
+
+ gsub(/[ \t]+$/, "", out)
+ return out
+ }
+
+ /^[ \t]*\[/ {
+ in_section = ($0 ~ "^[ \\t]*\\[" section "\\][ \\t]*$")
+ next
+ }
+
+ in_section {
+ line = $0
+ line = strip_comment(line)
+
+ split_pos = index(line, "=")
+ if (split_pos == 0) {
+ next
+ }
+
+ current_key = trim(substr(line, 1, split_pos - 1))
+ current_value = trim(substr(line, split_pos + 1))
+
+ if (current_key == key) {
+ gsub(/["'\''#]/, "", current_value)
+ sub(/^0[xX]/, "", current_value)
+ if (current_value ~ /^[0-9A-Fa-f]{6}$/) {
+ print current_value
+ exit
+ }
+ }
+ }
+ ' "$ALACRITTY_FILE")
+
+ if [[ -n $color_hex && $color_hex =~ ^[0-9a-fA-F]{6}$ ]]; then
+ normalize_hex "$color_hex"
+ fi
+
+ return 0
+}
+
+names=(black red green yellow blue magenta cyan white)
+
+# Extract normal colors (color0-7)
+for i in {0..7}; do
+ name="${names[$i]}"
+ val=$(extract_color_in_section "colors.normal" "$name")
+ if [[ -z $val ]]; then
+ val=$(extract_color_in_section "colors" "normal.$name")
+ fi
+
+ printf -v "color$i" "%s" "$val"
+done
+
+# Validate we have all normal colors (required)
+for c in color0 color1 color2 color3 color4 color5 color6 color7; do
+ if [[ -z ${!c} ]]; then
+ echo "Warning: Cannot extract all normal colors from $ALACRITTY_FILE, skipping generation" >&2
+ exit 0
+ fi
+done
+
+# Extract bright colors (color8-15)
+for i in {0..7}; do
+ normal="color$i"
+ bright="color$((i + 8))"
+ name="${names[$i]}"
+
+ val=$(extract_color_in_section "colors.bright" "$name")
+ if [[ -z $val ]]; then
+ val=$(extract_color_in_section "colors" "bright.$name")
+ fi
+
+ printf -v "$bright" "%s" "${val:-${!normal}}"
+done
+
+# Extract primary colors
+background=$(extract_color_in_section "colors.primary" "background")
+foreground=$(extract_color_in_section "colors.primary" "foreground")
+
+if [[ -z $background ]]; then
+ background=$(extract_color_in_section "colors" "primary.background")
+fi
+
+if [[ -z $foreground ]]; then
+ foreground=$(extract_color_in_section "colors" "primary.foreground")
+fi
+
+# Extract cursor color (from [colors.cursor] section)
+cursor=$(extract_color_in_section "colors.cursor" "cursor")
+
+if [[ -z $cursor ]]; then
+ cursor=$(extract_color_in_section "colors" "cursor.cursor")
+fi
+
+# Extract selection colors
+selection_background=$(extract_color_in_section "colors.selection" "background")
+
+if [[ -z $selection_background ]]; then
+ selection_background=$(extract_color_in_section "colors" "selection.background")
+fi
+
+selection_foreground=$(extract_color_in_section "colors.selection" "text")
+
+if [[ -z $selection_foreground ]]; then
+ selection_foreground=$(extract_color_in_section "colors" "selection.text")
+fi
+
+# Apply defaults
+background=${background:-$color0}
+foreground=${foreground:-$color7}
+cursor=${cursor:-$foreground}
+selection_background=${selection_background:-$foreground}
+selection_foreground=${selection_foreground:-$background}
+accent=$color4
+
+mkdir -p "$THEME_SOURCE"
+
+cat > "$COLORS_OUTPUT" < 0 )); then
+ THEME_NAME=$(printf '%s\n' "${extra_themes[@]}" | sort | gum choose --header="Remove extra theme")
+ else
+ echo "No extra themes installed."
+ exit 1
+ fi
+else
+ THEME_NAME="$1"
+fi
+
+THEMES_DIR="$HOME/.config/omarchy/themes"
+CURRENT_DIR="$HOME/.config/omarchy/current"
+THEME_PATH="$THEMES_DIR/$THEME_NAME"
+
+# Ensure a theme was set
+if [[ -z $THEME_NAME ]]; then
+ exit 1
+fi
+
+# Check if theme exists before attempting removal
+if [[ ! -d $THEME_PATH ]]; then
+ echo "Error: Theme '$THEME_NAME' not found."
+ exit 1
+fi
+
+# Now remove the theme directory for THEME_NAME
+rm -rf "$THEME_PATH"
diff --git a/script/omarchy-theme-set-browser b/script/omarchy-theme-set-browser
new file mode 100755
index 0000000..ee189d1
--- /dev/null
+++ b/script/omarchy-theme-set-browser
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# omarchy:summary=Apply the current theme color to Chromium, Chrome, Edge, and Brave
+# omarchy:hidden=true
+
+CHROMIUM_THEME=~/.config/omarchy/current/theme/chromium.theme
+
+if [[ -f $CHROMIUM_THEME ]]; then
+ THEME_RGB_COLOR=$(<$CHROMIUM_THEME)
+ THEME_HEX_COLOR=$(printf '#%02x%02x%02x' ${THEME_RGB_COLOR//,/ })
+else
+ # Use a default, neutral grey if theme doesn't have a color
+ THEME_HEX_COLOR="#1c2027"
+fi
+
+set_browser_policy() {
+ local policy_dir="$1"
+
+ [[ -d $policy_dir ]] || return
+ echo "{\"BrowserThemeColor\": \"$THEME_HEX_COLOR\", \"BrowserColorScheme\": \"device\"}" | tee "$policy_dir/color.json" >/dev/null
+}
+
+refresh_running_browser() {
+ local process="$1"
+ local command="$2"
+ local pgrep_args="${3:--x}"
+
+ if omarchy-cmd-present "$command" && pgrep $pgrep_args "$process" >/dev/null; then
+ "$command" --refresh-platform-policy --no-startup-window &>/dev/null
+ fi
+}
+
+set_browser_policy /etc/chromium/policies/managed
+refresh_running_browser chromium chromium
+
+set_browser_policy /etc/opt/chrome/policies/managed
+refresh_running_browser chrome google-chrome-stable || refresh_running_browser chrome google-chrome
+
+set_browser_policy /etc/opt/edge/policies/managed
+refresh_running_browser msedge microsoft-edge-stable
+
+set_browser_policy /etc/brave/policies/managed
+refresh_running_browser brave brave
+refresh_running_browser brave-origin-beta brave-origin-beta -f
diff --git a/script/omarchy-theme-set-foot b/script/omarchy-theme-set-foot
new file mode 100755
index 0000000..f7268d2
--- /dev/null
+++ b/script/omarchy-theme-set-foot
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# omarchy:summary=Apply current Omarchy theme colors to running Foot terminals
+# omarchy:hidden=true
+
+foot_theme=~/.config/omarchy/current/theme/foot.ini
+
+if [[ ! -f $foot_theme ]] || ! pgrep -x foot >/dev/null; then
+ exit 0
+fi
+
+foot_osc=$(awk -F= '
+ function color(value) { return "#" value }
+ /^foreground=/ { printf "\033]10;%s\007", color($2) }
+ /^background=/ { printf "\033]11;%s\007", color($2) }
+ /^cursor=/ { split($2, parts, " "); printf "\033]12;%s\007", color(parts[2]) }
+ /^selection-background=/ { printf "\033]17;%s\007", color($2) }
+ /^selection-foreground=/ { printf "\033]19;%s\007", color($2) }
+ /^regular[0-7]=/ { split($1, parts, "regular"); printf "\033]4;%d;%s\007", parts[2], color($2) }
+ /^bright[0-7]=/ { split($1, parts, "bright"); printf "\033]4;%d;%s\007", parts[2] + 8, color($2) }
+' "$foot_theme")
+
+for foot_pid in $(pgrep -x foot); do
+ for child_pid in $(pgrep -P "$foot_pid"); do
+ tty=$(readlink "/proc/$child_pid/fd/1" 2>/dev/null)
+ [[ $tty == /dev/pts/* ]] && printf '%b' "$foot_osc" >"$tty"
+ done
+done
diff --git a/script/omarchy-theme-set-gnome b/script/omarchy-theme-set-gnome
new file mode 100755
index 0000000..379f76e
--- /dev/null
+++ b/script/omarchy-theme-set-gnome
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# omarchy:summary=Apply the current theme to GNOME color mode and icon settings
+# omarchy:hidden=true
+
+if [[ -f ~/.config/omarchy/current/theme/light.mode ]]; then
+ gsettings set org.gnome.desktop.interface color-scheme "prefer-light"
+ gsettings set org.gnome.desktop.interface gtk-theme "Adwaita"
+else
+ gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
+ gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
+fi
+
+# Change gnome icon theme color
+GNOME_ICONS_THEME=~/.config/omarchy/current/theme/icons.theme
+if [[ -f $GNOME_ICONS_THEME ]]; then
+ gsettings set org.gnome.desktop.interface icon-theme "$(<$GNOME_ICONS_THEME)"
+else
+ gsettings set org.gnome.desktop.interface icon-theme "Yaru-blue"
+fi
diff --git a/script/omarchy-theme-set-keyboard b/script/omarchy-theme-set-keyboard
new file mode 100755
index 0000000..0fd1a20
--- /dev/null
+++ b/script/omarchy-theme-set-keyboard
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+# omarchy:summary=Apply the current theme keyboard color to supported keyboards
+# omarchy:hidden=true
+
+omarchy-theme-set-keyboard-asus-rog
+omarchy-theme-set-keyboard-f16
diff --git a/script/omarchy-theme-set-keyboard-asus-rog b/script/omarchy-theme-set-keyboard-asus-rog
new file mode 100755
index 0000000..c485e79
--- /dev/null
+++ b/script/omarchy-theme-set-keyboard-asus-rog
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# omarchy:summary=Apply the current theme keyboard color to ASUS ROG keyboards
+# omarchy:hidden=true
+
+ASUSCTL_THEME=~/.config/omarchy/current/theme/keyboard.rgb
+
+if omarchy-cmd-present asusctl; then
+ asusctl aura effect static -c $(sed 's/^#//' $ASUSCTL_THEME)
+fi
diff --git a/script/omarchy-theme-set-keyboard-f16 b/script/omarchy-theme-set-keyboard-f16
new file mode 100755
index 0000000..c8fb283
--- /dev/null
+++ b/script/omarchy-theme-set-keyboard-f16
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# omarchy:summary=Apply the current theme keyboard color to Framework Laptop 16 keyboards
+# omarchy:hidden=true
+
+FRAMEWORK16_THEME=~/.config/omarchy/current/theme/keyboard.rgb
+
+if omarchy-cmd-present qmk_hid && [[ -f $FRAMEWORK16_THEME ]]; then
+ hex=$(cat "$FRAMEWORK16_THEME")
+ hex="${hex#\#}"
+
+ # Convert hex to QMK HSV (0-255 scale) using Python's colorsys
+ read -r h s <<< $(python3 -c "
+import colorsys
+r, g, b = int('$hex'[:2],16)/255, int('$hex'[2:4],16)/255, int('$hex'[4:6],16)/255
+h, s, v = colorsys.rgb_to_hsv(r, g, b)
+print(int(h * 255), int(s * 255))
+")
+
+ qmk_hid via --rgb-effect 1 2>/dev/null
+ qmk_hid via --rgb-hue "$h" 2>/dev/null
+ qmk_hid via --rgb-saturation "$s" 2>/dev/null
+ qmk_hid via --rgb-brightness 100 2>/dev/null
+ qmk_hid via --save 2>/dev/null
+fi
diff --git a/script/omarchy-theme-set-obsidian b/script/omarchy-theme-set-obsidian
new file mode 100755
index 0000000..e92bf6f
--- /dev/null
+++ b/script/omarchy-theme-set-obsidian
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# omarchy:summary=Sync Omarchy theme to all Obsidian vaults
+# omarchy:hidden=true
+
+CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
+
+[[ -f $CURRENT_THEME_DIR/obsidian.css ]] || exit 0
+
+jq -r '.vaults | values[].path' ~/.config/obsidian/obsidian.json 2>/dev/null | while read -r vault_path; do
+ [[ -d $vault_path/.obsidian ]] || continue
+
+ theme_dir="$vault_path/.obsidian/themes/Omarchy"
+ mkdir -p "$theme_dir"
+
+ [[ -f $theme_dir/manifest.json ]] || cat >"$theme_dir/manifest.json" <<'EOF'
+{
+ "name": "Omarchy",
+ "version": "1.0.0",
+ "minAppVersion": "0.16.0",
+ "description": "Automatically syncs with your current Omarchy system theme colors and fonts",
+ "author": "Omarchy",
+ "authorUrl": "https://omarchy.org"
+}
+EOF
+
+ cp "$CURRENT_THEME_DIR/obsidian.css" "$theme_dir/theme.css"
+done
diff --git a/script/omarchy-theme-set-templates b/script/omarchy-theme-set-templates
new file mode 100755
index 0000000..233997c
--- /dev/null
+++ b/script/omarchy-theme-set-templates
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+# omarchy:summary=Generate themed config files from Omarchy templates
+# omarchy:hidden=true
+
+TEMPLATES_DIR="$DOTFILES_DIR/default/themed"
+USER_TEMPLATES_DIR="$HOME/.config/omarchy/themed"
+NEXT_THEME_DIR="$HOME/.config/omarchy/current/next-theme"
+COLORS_FILE="$NEXT_THEME_DIR/colors.toml"
+
+# Convert hex color to decimal RGB (e.g., "#1e1e2e" -> "30,30,46")
+hex_to_rgb() {
+ local hex="${1#\#}"
+ printf "%d,%d,%d" "0x${hex:0:2}" "0x${hex:2:2}" "0x${hex:4:2}"
+}
+
+# Only generate dynamic templates for themes with a colors.toml definition
+if [[ -f $COLORS_FILE ]]; then
+ sed_script=$(mktemp)
+
+ while IFS='=' read -r key value; do
+ key="${key//[\"\' ]/}" # strip quotes and spaces from key
+ [[ $key && $key != \#* ]] || continue # skip empty lines and comments
+ value="${value#*[\"\']}"
+ value="${value%%[\"\']*}" # extract value between quotes (ignores inline comments)
+
+ printf 's|{{ %s }}|%s|g\n' "$key" "$value" # {{ key }} -> value
+ printf 's|{{ %s_strip }}|%s|g\n' "$key" "${value#\#}" # {{ key_strip }} -> value without leading #
+ if [[ $value =~ ^# ]]; then
+ rgb=$(hex_to_rgb "$value")
+ echo "s|{{ ${key}_rgb }}|${rgb}|g"
+ fi
+ done <"$COLORS_FILE" >"$sed_script"
+
+ shopt -s nullglob
+
+ # Process user templates first, then built-in templates (user overrides built-in)
+ for tpl in "$USER_TEMPLATES_DIR"/*.tpl "$TEMPLATES_DIR"/*.tpl; do
+ filename=$(basename "$tpl" .tpl)
+ output_path="$NEXT_THEME_DIR/$filename"
+
+ # Don't overwrite configs already exists in the output directory (copied from theme specific folder)
+ if [[ ! -f $output_path ]]; then
+ sed -f "$sed_script" "$tpl" >"$output_path"
+ fi
+ done
+
+ rm "$sed_script"
+fi
diff --git a/script/omarchy-theme-set-vscode b/script/omarchy-theme-set-vscode
new file mode 100755
index 0000000..d0e0331
--- /dev/null
+++ b/script/omarchy-theme-set-vscode
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# omarchy:summary=Sync Omarchy theme to VS Code, VSCodium, and Cursor
+# omarchy:hidden=true
+
+VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
+
+set_theme() {
+ local editor_cmd="$1"
+ local settings_path="$2"
+
+ omarchy-cmd-present "$editor_cmd" || return 0
+
+ if [[ -f $VS_CODE_THEME ]]; then
+ theme_name=$(jq -r '.name' "$VS_CODE_THEME")
+ extension=$(jq -r '.extension' "$VS_CODE_THEME")
+
+ if [[ -n $extension ]] && ! "$editor_cmd" --list-extensions 2>/dev/null | grep -Fxq "$extension"; then
+ "$editor_cmd" --install-extension "$extension" >/dev/null 2>&1
+ fi
+
+ mkdir -p "$(dirname "$settings_path")"
+ [[ -f $settings_path ]] || printf '{\n}\n' >"$settings_path"
+
+ if ! grep -q '"workbench.colorTheme"' "$settings_path"; then
+ sed -i --follow-symlinks -E '0,/\{/{s/\{/{\ "workbench.colorTheme": "",/}' "$settings_path"
+ fi
+
+ sed -i --follow-symlinks -E \
+ "s/(\"workbench.colorTheme\"[[:space:]]*:[[:space:]]*\")[^\"]*(\")/\1$theme_name\2/" \
+ "$settings_path"
+ elif [[ -f $settings_path ]]; then
+ sed -i --follow-symlinks -E 's/\"workbench\.colorTheme\"[[:space:]]*:[^,}]*,?//' "$settings_path"
+ fi
+}
+
+! omarchy-toggle-enabled skip-vscode-theme-changes && set_theme "code" "$HOME/.config/Code/User/settings.json"
+! omarchy-toggle-enabled skip-vscode-insiders-theme-changes && set_theme "code-insiders" "$HOME/.config/Code - Insiders/User/settings.json"
+! omarchy-toggle-enabled skip-codium-theme-changes && set_theme "codium" "$HOME/.config/VSCodium/User/settings.json"
+! omarchy-toggle-enabled skip-cursor-theme-changes && set_theme "cursor" "$HOME/.config/Cursor/User/settings.json"
diff --git a/script/omarchy-theme-update b/script/omarchy-theme-update
new file mode 100755
index 0000000..a68cb17
--- /dev/null
+++ b/script/omarchy-theme-update
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# omarchy:summary=Update user-installed git themes
+
+for dir in ~/.config/omarchy/themes/*/; do
+ if [[ -d $dir ]] && [[ ! -L ${dir%/} ]] && [[ -d $dir/.git ]]; then
+ echo "Updating: $(basename "$dir")"
+ git -C "$dir" pull
+ fi
+done
diff --git a/themes/catppuccin-latte/backgrounds/1-color-fade.png b/themes/catppuccin-latte/backgrounds/1-color-fade.png
new file mode 100644
index 0000000..ee0cd94
Binary files /dev/null and b/themes/catppuccin-latte/backgrounds/1-color-fade.png differ
diff --git a/themes/catppuccin-latte/backgrounds/omarchy.png b/themes/catppuccin-latte/backgrounds/omarchy.png
new file mode 100644
index 0000000..8dd666a
Binary files /dev/null and b/themes/catppuccin-latte/backgrounds/omarchy.png differ
diff --git a/themes/catppuccin-latte/colors.toml b/themes/catppuccin-latte/colors.toml
new file mode 100644
index 0000000..87c37d4
--- /dev/null
+++ b/themes/catppuccin-latte/colors.toml
@@ -0,0 +1,23 @@
+accent = "#1e66f5"
+cursor = "#dc8a78"
+foreground = "#4c4f69"
+background = "#eff1f5"
+selection_foreground = "#eff1f5"
+selection_background = "#dc8a78"
+
+color0 = "#bcc0cc"
+color1 = "#d20f39"
+color2 = "#40a02b"
+color3 = "#df8e1d"
+color4 = "#1e66f5"
+color5 = "#ea76cb"
+color6 = "#179299"
+color7 = "#5c5f77"
+color8 = "#acb0be"
+color9 = "#d20f39"
+color10 = "#40a02b"
+color11 = "#df8e1d"
+color12 = "#1e66f5"
+color13 = "#ea76cb"
+color14 = "#179299"
+color15 = "#6c6f85"
diff --git a/themes/catppuccin-latte/preview-unlock.png b/themes/catppuccin-latte/preview-unlock.png
new file mode 100644
index 0000000..a10534c
Binary files /dev/null and b/themes/catppuccin-latte/preview-unlock.png differ
diff --git a/themes/catppuccin-latte/preview.png b/themes/catppuccin-latte/preview.png
new file mode 100644
index 0000000..d3ef70e
Binary files /dev/null and b/themes/catppuccin-latte/preview.png differ
diff --git a/themes/catppuccin-latte/unlock.png b/themes/catppuccin-latte/unlock.png
new file mode 100644
index 0000000..b209e93
Binary files /dev/null and b/themes/catppuccin-latte/unlock.png differ
diff --git a/themes/catppuccin-latte/vscode.json b/themes/catppuccin-latte/vscode.json
new file mode 100644
index 0000000..98d1113
--- /dev/null
+++ b/themes/catppuccin-latte/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Catppuccin Latte",
+ "extension": "catppuccin.catppuccin-vsc"
+}
diff --git a/themes/catppuccin/backgrounds/1-totoro.png b/themes/catppuccin/backgrounds/1-totoro.png
new file mode 100644
index 0000000..5fbcebc
Binary files /dev/null and b/themes/catppuccin/backgrounds/1-totoro.png differ
diff --git a/themes/catppuccin/backgrounds/2-waves.png b/themes/catppuccin/backgrounds/2-waves.png
new file mode 100644
index 0000000..a0b5325
Binary files /dev/null and b/themes/catppuccin/backgrounds/2-waves.png differ
diff --git a/themes/catppuccin/backgrounds/3-blue-eye.png b/themes/catppuccin/backgrounds/3-blue-eye.png
new file mode 100644
index 0000000..30b5963
Binary files /dev/null and b/themes/catppuccin/backgrounds/3-blue-eye.png differ
diff --git a/themes/catppuccin/backgrounds/omarchy.png b/themes/catppuccin/backgrounds/omarchy.png
new file mode 100644
index 0000000..a4e90d7
Binary files /dev/null and b/themes/catppuccin/backgrounds/omarchy.png differ
diff --git a/themes/catppuccin/colors.toml b/themes/catppuccin/colors.toml
new file mode 100644
index 0000000..6943ef1
--- /dev/null
+++ b/themes/catppuccin/colors.toml
@@ -0,0 +1,23 @@
+accent = "#89b4fa"
+cursor = "#f5e0dc"
+foreground = "#cdd6f4"
+background = "#1e1e2e"
+selection_foreground = "#1e1e2e"
+selection_background = "#f5e0dc"
+
+color0 = "#45475a"
+color1 = "#f38ba8"
+color2 = "#a6e3a1"
+color3 = "#f9e2af"
+color4 = "#89b4fa"
+color5 = "#f5c2e7"
+color6 = "#94e2d5"
+color7 = "#bac2de"
+color8 = "#585b70"
+color9 = "#f38ba8"
+color10 = "#a6e3a1"
+color11 = "#f9e2af"
+color12 = "#89b4fa"
+color13 = "#f5c2e7"
+color14 = "#94e2d5"
+color15 = "#a6adc8"
diff --git a/themes/catppuccin/preview-unlock.png b/themes/catppuccin/preview-unlock.png
new file mode 100644
index 0000000..6997420
Binary files /dev/null and b/themes/catppuccin/preview-unlock.png differ
diff --git a/themes/catppuccin/preview.png b/themes/catppuccin/preview.png
new file mode 100644
index 0000000..cf75f13
Binary files /dev/null and b/themes/catppuccin/preview.png differ
diff --git a/themes/catppuccin/unlock.png b/themes/catppuccin/unlock.png
new file mode 100644
index 0000000..14168e1
Binary files /dev/null and b/themes/catppuccin/unlock.png differ
diff --git a/themes/catppuccin/vscode.json b/themes/catppuccin/vscode.json
new file mode 100644
index 0000000..a94d2cf
--- /dev/null
+++ b/themes/catppuccin/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Catppuccin Mocha",
+ "extension": "catppuccin.catppuccin-vsc"
+}
diff --git a/themes/ethereal/backgrounds/1-cosmic.jpg b/themes/ethereal/backgrounds/1-cosmic.jpg
new file mode 100644
index 0000000..e5c1463
Binary files /dev/null and b/themes/ethereal/backgrounds/1-cosmic.jpg differ
diff --git a/themes/ethereal/backgrounds/2-meadow.jpg b/themes/ethereal/backgrounds/2-meadow.jpg
new file mode 100644
index 0000000..95fdafb
Binary files /dev/null and b/themes/ethereal/backgrounds/2-meadow.jpg differ
diff --git a/themes/ethereal/backgrounds/omarchy.png b/themes/ethereal/backgrounds/omarchy.png
new file mode 100644
index 0000000..4354650
Binary files /dev/null and b/themes/ethereal/backgrounds/omarchy.png differ
diff --git a/themes/ethereal/btop.theme b/themes/ethereal/btop.theme
new file mode 100644
index 0000000..135da3d
--- /dev/null
+++ b/themes/ethereal/btop.theme
@@ -0,0 +1,70 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]="#060B1E"
+
+# Main text color
+theme[main_fg]="#ffcead"
+
+# Title color for boxes
+theme[title]="#c89dc1"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#a3bfd1"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#6d7db6"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#ffcead"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#6d7db6"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#c89dc1"
+
+# Box outline and divider line color
+theme[cpu_box]="#92a593"
+theme[mem_box]="#92a593"
+theme[net_box]="#92a593"
+theme[proc_box]="#92a593"
+theme[div_line]="#6d7db6"
+
+# Gradient for all meters and graphs
+theme[temp_start]="#a3bfd1"
+theme[temp_mid]="#7d82d9"
+theme[temp_end]="#92a593"
+
+
+theme[cpu_start]="#a3bfd1"
+theme[cpu_mid]="#7d82d9"
+theme[cpu_end]="#92a593"
+
+
+theme[free_start]="#7d82d9"
+theme[free_mid]="#E9BB4F"
+theme[free_end]="#E9BB4F"
+
+
+theme[cached_start]="#E9BB4F"
+theme[cached_mid]="#E9BB4F"
+theme[cached_end]="#E9BB4F"
+
+
+theme[available_start]="#a3bfd1"
+theme[available_mid]="#a3bfd1"
+theme[available_end]="#a3bfd1"
+
+
+theme[used_start]="#92a593"
+theme[used_mid]="#92a593"
+theme[used_end]="#92a593"
+
+
+theme[download_start]="#E9BB4F"
+theme[download_mid]="#a3bfd1"
+theme[download_end]="#7d82d9"
+
+
+theme[upload_start]="#E9BB4F"
+theme[upload_mid]="#a3bfd1"
+theme[upload_end]="#7d82d9"
\ No newline at end of file
diff --git a/themes/ethereal/colors.toml b/themes/ethereal/colors.toml
new file mode 100644
index 0000000..dbce1ae
--- /dev/null
+++ b/themes/ethereal/colors.toml
@@ -0,0 +1,23 @@
+accent = "#7d82d9"
+cursor = "#ffcead"
+foreground = "#ffcead"
+background = "#060B1E"
+selection_foreground = "#060B1E"
+selection_background = "#ffcead"
+
+color0 = "#3C486D"
+color1 = "#ED5B5A"
+color2 = "#92a593"
+color3 = "#E9BB4F"
+color4 = "#7d82d9"
+color5 = "#c89dc1"
+color6 = "#a3bfd1"
+color7 = "#F99957"
+color8 = "#6d7db6"
+color9 = "#faaaa9"
+color10 = "#c4cfc4"
+color11 = "#f7dc9c"
+color12 = "#c2c4f0"
+color13 = "#ead7e7"
+color14 = "#dfeaf0"
+color15 = "#ffcead"
diff --git a/themes/ethereal/icons.theme b/themes/ethereal/icons.theme
new file mode 100644
index 0000000..6ce2f14
--- /dev/null
+++ b/themes/ethereal/icons.theme
@@ -0,0 +1 @@
+Yaru-blue
diff --git a/themes/ethereal/neovim-vimpack.lua b/themes/ethereal/neovim-vimpack.lua
new file mode 100644
index 0000000..2827894
--- /dev/null
+++ b/themes/ethereal/neovim-vimpack.lua
@@ -0,0 +1,4 @@
+vim.pack.add({{ src = 'https://github.com/bjarneo/ethereal.nvim' }})
+
+vim.opt.background = 'dark'
+vim.cmd("colorscheme ethereal")
diff --git a/themes/ethereal/neovim.lua b/themes/ethereal/neovim.lua
new file mode 100644
index 0000000..885bece
--- /dev/null
+++ b/themes/ethereal/neovim.lua
@@ -0,0 +1,12 @@
+return {
+ {
+ "bjarneo/ethereal.nvim",
+ priority = 1000,
+ },
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "ethereal",
+ },
+ },
+}
diff --git a/themes/ethereal/preview-unlock.png b/themes/ethereal/preview-unlock.png
new file mode 100644
index 0000000..7061587
Binary files /dev/null and b/themes/ethereal/preview-unlock.png differ
diff --git a/themes/ethereal/preview.png b/themes/ethereal/preview.png
new file mode 100644
index 0000000..b9b413c
Binary files /dev/null and b/themes/ethereal/preview.png differ
diff --git a/themes/ethereal/unlock.png b/themes/ethereal/unlock.png
new file mode 100644
index 0000000..136b6d5
Binary files /dev/null and b/themes/ethereal/unlock.png differ
diff --git a/themes/ethereal/vscode.json b/themes/ethereal/vscode.json
new file mode 100644
index 0000000..2fccd6b
--- /dev/null
+++ b/themes/ethereal/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Ethereal",
+ "extension": "Bjarne.ethereal-omarchy"
+}
diff --git a/themes/everforest/backgrounds/1-tree-tops.jpg b/themes/everforest/backgrounds/1-tree-tops.jpg
new file mode 100644
index 0000000..6d75259
Binary files /dev/null and b/themes/everforest/backgrounds/1-tree-tops.jpg differ
diff --git a/themes/everforest/backgrounds/omarchy.png b/themes/everforest/backgrounds/omarchy.png
new file mode 100644
index 0000000..d759dde
Binary files /dev/null and b/themes/everforest/backgrounds/omarchy.png differ
diff --git a/themes/everforest/colors.toml b/themes/everforest/colors.toml
new file mode 100644
index 0000000..9aaeeb5
--- /dev/null
+++ b/themes/everforest/colors.toml
@@ -0,0 +1,23 @@
+accent = "#7fbbb3"
+cursor = "#d3c6aa"
+foreground = "#d3c6aa"
+background = "#2d353b"
+selection_foreground = "#2d353b"
+selection_background = "#d3c6aa"
+
+color0 = "#475258"
+color1 = "#e67e80"
+color2 = "#a7c080"
+color3 = "#dbbc7f"
+color4 = "#7fbbb3"
+color5 = "#d699b6"
+color6 = "#83c092"
+color7 = "#d3c6aa"
+color8 = "#475258"
+color9 = "#e67e80"
+color10 = "#a7c080"
+color11 = "#dbbc7f"
+color12 = "#7fbbb3"
+color13 = "#d699b6"
+color14 = "#83c092"
+color15 = "#d3c6aa"
diff --git a/themes/everforest/preview-unlock.png b/themes/everforest/preview-unlock.png
new file mode 100644
index 0000000..be099bc
Binary files /dev/null and b/themes/everforest/preview-unlock.png differ
diff --git a/themes/everforest/preview.png b/themes/everforest/preview.png
new file mode 100644
index 0000000..f328fa5
Binary files /dev/null and b/themes/everforest/preview.png differ
diff --git a/themes/everforest/unlock.png b/themes/everforest/unlock.png
new file mode 100644
index 0000000..40e2cd8
Binary files /dev/null and b/themes/everforest/unlock.png differ
diff --git a/themes/everforest/vscode.json b/themes/everforest/vscode.json
new file mode 100644
index 0000000..c584417
--- /dev/null
+++ b/themes/everforest/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Everforest Dark",
+ "extension": "reesew.everforest-theme"
+}
diff --git a/themes/flexoki-light/backgrounds/1-orb.png b/themes/flexoki-light/backgrounds/1-orb.png
new file mode 100644
index 0000000..a564a17
Binary files /dev/null and b/themes/flexoki-light/backgrounds/1-orb.png differ
diff --git a/themes/flexoki-light/backgrounds/2-omarchy.png b/themes/flexoki-light/backgrounds/2-omarchy.png
new file mode 100644
index 0000000..cc755b1
Binary files /dev/null and b/themes/flexoki-light/backgrounds/2-omarchy.png differ
diff --git a/themes/flexoki-light/btop.theme b/themes/flexoki-light/btop.theme
new file mode 100644
index 0000000..0caf9c6
--- /dev/null
+++ b/themes/flexoki-light/btop.theme
@@ -0,0 +1,78 @@
+# Main bg
+theme[main_bg]="#FFFCF0"
+
+# Main text color
+theme[main_fg]="#100F0F"
+
+# Title color for boxes
+theme[title]="#100F0F"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#205EA6"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#414868"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#100F0F"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#6F6E69"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#205EA6"
+
+# Cpu box outline color
+theme[cpu_box]="#6F6E69"
+
+# Memory/disks box outline color
+theme[mem_box]="#6F6E69"
+
+# Net up/down box outline color
+theme[net_box]="#6F6E69"
+
+# Processes box outline color
+theme[proc_box]="#6F6E69"
+
+# Box divider line and small boxes line color
+theme[div_line]="#6F6E69"
+
+# Temperature graph colors
+theme[temp_start]="#66800B"
+theme[temp_mid]="#BC5215"
+theme[temp_end]="#AF3029"
+
+# CPU graph colors
+theme[cpu_start]="#66800B"
+theme[cpu_mid]="#BC5215"
+theme[cpu_end]="#AF3029"
+
+# Mem/Disk free meter
+theme[free_start]="#66800B"
+theme[free_mid]="#BC5215"
+theme[free_end]="#AF3029"
+
+# Mem/Disk cached meter
+theme[cached_start]="#66800B"
+theme[cached_mid]="#BC5215"
+theme[cached_end]="#AF3029"
+
+# Mem/Disk available meter
+theme[available_start]="#66800B"
+theme[available_mid]="#BC5215"
+theme[available_end]="#AF3029"
+
+# Mem/Disk used meter
+theme[used_start]="#66800B"
+theme[used_mid]="#BC5215"
+theme[used_end]="#AF3029"
+
+# Download graph colors
+theme[download_start]="#66800B"
+theme[download_mid]="#BC5215"
+theme[download_end]="#AF3029"
+
+# Upload graph colors
+theme[upload_start]="#66800B"
+theme[upload_mid]="#BC5215"
+theme[upload_end]="#AF3029"
diff --git a/themes/flexoki-light/chromium.theme b/themes/flexoki-light/chromium.theme
new file mode 100644
index 0000000..31cd573
--- /dev/null
+++ b/themes/flexoki-light/chromium.theme
@@ -0,0 +1 @@
+242,240,229
\ No newline at end of file
diff --git a/themes/flexoki-light/colors.toml b/themes/flexoki-light/colors.toml
new file mode 100644
index 0000000..1e3b886
--- /dev/null
+++ b/themes/flexoki-light/colors.toml
@@ -0,0 +1,23 @@
+accent = "#205EA6"
+cursor = "#100F0F"
+foreground = "#100F0F"
+background = "#FFFCF0"
+selection_foreground = "#100F0F"
+selection_background = "#CECDC3"
+
+color0 = "#DAD8CE"
+color1 = "#D14D41"
+color2 = "#879A39"
+color3 = "#D0A215"
+color4 = "#205EA6"
+color5 = "#CE5D97"
+color6 = "#3AA99F"
+color7 = "#B7B5AC"
+color8 = "#100F0F"
+color9 = "#D14D41"
+color10 = "#879A39"
+color11 = "#D0A215"
+color12 = "#4385BE"
+color13 = "#CE5D97"
+color14 = "#3AA99F"
+color15 = "#CECDC3"
diff --git a/themes/flexoki-light/icons.theme b/themes/flexoki-light/icons.theme
new file mode 100644
index 0000000..6ce2f14
--- /dev/null
+++ b/themes/flexoki-light/icons.theme
@@ -0,0 +1 @@
+Yaru-blue
diff --git a/themes/flexoki-light/light.mode b/themes/flexoki-light/light.mode
new file mode 100644
index 0000000..e65461b
--- /dev/null
+++ b/themes/flexoki-light/light.mode
@@ -0,0 +1 @@
+# This will set "prefer-light" and use "Adwaita" as the theme
\ No newline at end of file
diff --git a/themes/flexoki-light/neovim-vimpack.lua b/themes/flexoki-light/neovim-vimpack.lua
new file mode 100644
index 0000000..b85b0fd
--- /dev/null
+++ b/themes/flexoki-light/neovim-vimpack.lua
@@ -0,0 +1,4 @@
+vim.pack.add({{ src = 'https://github.com/kepano/flexoki-neovim' }})
+
+vim.opt.background = 'light'
+vim.cmd("colorscheme flexoki-light")
diff --git a/themes/flexoki-light/neovim.lua b/themes/flexoki-light/neovim.lua
new file mode 100644
index 0000000..230c551
--- /dev/null
+++ b/themes/flexoki-light/neovim.lua
@@ -0,0 +1,12 @@
+return {
+ {
+ "kepano/flexoki-neovim",
+ priority = 1000,
+ },
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "flexoki-light",
+ },
+ },
+}
diff --git a/themes/flexoki-light/preview-unlock.png b/themes/flexoki-light/preview-unlock.png
new file mode 100644
index 0000000..024241b
Binary files /dev/null and b/themes/flexoki-light/preview-unlock.png differ
diff --git a/themes/flexoki-light/preview.png b/themes/flexoki-light/preview.png
new file mode 100644
index 0000000..3a350a2
Binary files /dev/null and b/themes/flexoki-light/preview.png differ
diff --git a/themes/flexoki-light/unlock.png b/themes/flexoki-light/unlock.png
new file mode 100644
index 0000000..f160bb5
Binary files /dev/null and b/themes/flexoki-light/unlock.png differ
diff --git a/themes/flexoki-light/vscode.json b/themes/flexoki-light/vscode.json
new file mode 100644
index 0000000..00a2045
--- /dev/null
+++ b/themes/flexoki-light/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "flexoki-light",
+ "extension": "shadesOfBuntu.flexoki-light"
+}
diff --git a/themes/gruvbox/backgrounds/1-the-backwater.jpg b/themes/gruvbox/backgrounds/1-the-backwater.jpg
new file mode 100644
index 0000000..c9ff531
Binary files /dev/null and b/themes/gruvbox/backgrounds/1-the-backwater.jpg differ
diff --git a/themes/gruvbox/backgrounds/2-flower-basket.jpg b/themes/gruvbox/backgrounds/2-flower-basket.jpg
new file mode 100644
index 0000000..42af8d1
Binary files /dev/null and b/themes/gruvbox/backgrounds/2-flower-basket.jpg differ
diff --git a/themes/gruvbox/backgrounds/3-village-square.jpg b/themes/gruvbox/backgrounds/3-village-square.jpg
new file mode 100644
index 0000000..0ff0160
Binary files /dev/null and b/themes/gruvbox/backgrounds/3-village-square.jpg differ
diff --git a/themes/gruvbox/backgrounds/4-idyllic-procession.jpg b/themes/gruvbox/backgrounds/4-idyllic-procession.jpg
new file mode 100644
index 0000000..3742024
Binary files /dev/null and b/themes/gruvbox/backgrounds/4-idyllic-procession.jpg differ
diff --git a/themes/gruvbox/backgrounds/5-leaves.jpg b/themes/gruvbox/backgrounds/5-leaves.jpg
new file mode 100644
index 0000000..fd31869
Binary files /dev/null and b/themes/gruvbox/backgrounds/5-leaves.jpg differ
diff --git a/themes/gruvbox/backgrounds/omarchy.png b/themes/gruvbox/backgrounds/omarchy.png
new file mode 100644
index 0000000..a6feebe
Binary files /dev/null and b/themes/gruvbox/backgrounds/omarchy.png differ
diff --git a/themes/gruvbox/colors.toml b/themes/gruvbox/colors.toml
new file mode 100644
index 0000000..57847f0
--- /dev/null
+++ b/themes/gruvbox/colors.toml
@@ -0,0 +1,23 @@
+accent = "#7daea3"
+cursor = "#bdae93"
+foreground = "#d4be98"
+background = "#282828"
+selection_foreground = "#ebdbb2"
+selection_background = "#d65d0e"
+
+color0 = "#3c3836"
+color1 = "#ea6962"
+color2 = "#a9b665"
+color3 = "#d8a657"
+color4 = "#7daea3"
+color5 = "#d3869b"
+color6 = "#89b482"
+color7 = "#d4be98"
+color8 = "#3c3836"
+color9 = "#ea6962"
+color10 = "#a9b665"
+color11 = "#d8a657"
+color12 = "#7daea3"
+color13 = "#d3869b"
+color14 = "#89b482"
+color15 = "#d4be98"
diff --git a/themes/gruvbox/preview-unlock.png b/themes/gruvbox/preview-unlock.png
new file mode 100644
index 0000000..9b09d6c
Binary files /dev/null and b/themes/gruvbox/preview-unlock.png differ
diff --git a/themes/gruvbox/preview.png b/themes/gruvbox/preview.png
new file mode 100644
index 0000000..1287fa2
Binary files /dev/null and b/themes/gruvbox/preview.png differ
diff --git a/themes/gruvbox/unlock.png b/themes/gruvbox/unlock.png
new file mode 100644
index 0000000..777a7fb
Binary files /dev/null and b/themes/gruvbox/unlock.png differ
diff --git a/themes/gruvbox/vscode.json b/themes/gruvbox/vscode.json
new file mode 100644
index 0000000..e75a9b9
--- /dev/null
+++ b/themes/gruvbox/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Gruvbox Dark Medium",
+ "extension": "jdinhlife.gruvbox"
+}
diff --git a/themes/hackerman/backgrounds/1-synth-scape.jpg b/themes/hackerman/backgrounds/1-synth-scape.jpg
new file mode 100644
index 0000000..7a36f6a
Binary files /dev/null and b/themes/hackerman/backgrounds/1-synth-scape.jpg differ
diff --git a/themes/hackerman/backgrounds/2-geometric.jpg b/themes/hackerman/backgrounds/2-geometric.jpg
new file mode 100644
index 0000000..a18aff8
Binary files /dev/null and b/themes/hackerman/backgrounds/2-geometric.jpg differ
diff --git a/themes/hackerman/backgrounds/omarchy.png b/themes/hackerman/backgrounds/omarchy.png
new file mode 100644
index 0000000..eb91c8b
Binary files /dev/null and b/themes/hackerman/backgrounds/omarchy.png differ
diff --git a/themes/hackerman/btop.theme b/themes/hackerman/btop.theme
new file mode 100644
index 0000000..7609189
--- /dev/null
+++ b/themes/hackerman/btop.theme
@@ -0,0 +1,70 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]="#0B0C16"
+
+# Main text color
+theme[main_fg]="#ddf7ff"
+
+# Title color for boxes
+theme[title]="#86a7df"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#7cf8f7"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#6a6e95"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#ddf7ff"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#6a6e95"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#86a7df"
+
+# Box outline and divider line color
+theme[cpu_box]="#4fe88f"
+theme[mem_box]="#4fe88f"
+theme[net_box]="#4fe88f"
+theme[proc_box]="#4fe88f"
+theme[div_line]="#6a6e95"
+
+# Gradient for all meters and graphs
+theme[temp_start]="#7cf8f7"
+theme[temp_mid]="#829dd4"
+theme[temp_end]="#4fe88f"
+
+
+theme[cpu_start]="#7cf8f7"
+theme[cpu_mid]="#829dd4"
+theme[cpu_end]="#4fe88f"
+
+
+theme[free_start]="#829dd4"
+theme[free_mid]="#50f7d4"
+theme[free_end]="#50f7d4"
+
+
+theme[cached_start]="#50f7d4"
+theme[cached_mid]="#50f7d4"
+theme[cached_end]="#50f7d4"
+
+
+theme[available_start]="#7cf8f7"
+theme[available_mid]="#7cf8f7"
+theme[available_end]="#7cf8f7"
+
+
+theme[used_start]="#4fe88f"
+theme[used_mid]="#4fe88f"
+theme[used_end]="#4fe88f"
+
+
+theme[download_start]="#50f7d4"
+theme[download_mid]="#7cf8f7"
+theme[download_end]="#829dd4"
+
+
+theme[upload_start]="#50f7d4"
+theme[upload_mid]="#7cf8f7"
+theme[upload_end]="#829dd4"
\ No newline at end of file
diff --git a/themes/hackerman/colors.toml b/themes/hackerman/colors.toml
new file mode 100644
index 0000000..517ff36
--- /dev/null
+++ b/themes/hackerman/colors.toml
@@ -0,0 +1,23 @@
+accent = "#82FB9C"
+cursor = "#ddf7ff"
+foreground = "#ddf7ff"
+background = "#0B0C16"
+selection_foreground = "#0B0C16"
+selection_background = "#ddf7ff"
+
+color0 = "#3E4058"
+color1 = "#50f872"
+color2 = "#4fe88f"
+color3 = "#50f7d4"
+color4 = "#829dd4"
+color5 = "#86a7df"
+color6 = "#7cf8f7"
+color7 = "#85E1FB"
+color8 = "#6a6e95"
+color9 = "#85ff9d"
+color10 = "#9cf7c2"
+color11 = "#a4ffec"
+color12 = "#c4d2ed"
+color13 = "#cddbf4"
+color14 = "#d1fffe"
+color15 = "#ddf7ff"
diff --git a/themes/hackerman/icons.theme b/themes/hackerman/icons.theme
new file mode 100644
index 0000000..66be38a
--- /dev/null
+++ b/themes/hackerman/icons.theme
@@ -0,0 +1 @@
+Yaru-blue
\ No newline at end of file
diff --git a/themes/hackerman/neovim-vimpack.lua b/themes/hackerman/neovim-vimpack.lua
new file mode 100644
index 0000000..44bfdac
--- /dev/null
+++ b/themes/hackerman/neovim-vimpack.lua
@@ -0,0 +1,7 @@
+vim.pack.add({
+ { src = 'https://github.com/bjarneo/hackerman.nvim' },
+ { src = 'https://github.com/bjarneo/aether.nvim' },
+})
+
+vim.opt.background = 'dark'
+vim.cmd("colorscheme hackerman")
diff --git a/themes/hackerman/neovim.lua b/themes/hackerman/neovim.lua
new file mode 100644
index 0000000..d4588f0
--- /dev/null
+++ b/themes/hackerman/neovim.lua
@@ -0,0 +1,13 @@
+return {
+ {
+ "bjarneo/hackerman.nvim",
+ dependencies = { "bjarneo/aether.nvim" }, -- Ensure aether is loaded first
+ priority = 1000,
+ },
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "hackerman",
+ },
+ },
+}
diff --git a/themes/hackerman/preview-unlock.png b/themes/hackerman/preview-unlock.png
new file mode 100644
index 0000000..7d42ff6
Binary files /dev/null and b/themes/hackerman/preview-unlock.png differ
diff --git a/themes/hackerman/preview.png b/themes/hackerman/preview.png
new file mode 100644
index 0000000..2d4c0c3
Binary files /dev/null and b/themes/hackerman/preview.png differ
diff --git a/themes/hackerman/unlock.png b/themes/hackerman/unlock.png
new file mode 100644
index 0000000..8079333
Binary files /dev/null and b/themes/hackerman/unlock.png differ
diff --git a/themes/hackerman/vscode.json b/themes/hackerman/vscode.json
new file mode 100644
index 0000000..95f432b
--- /dev/null
+++ b/themes/hackerman/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Hackerman",
+ "extension": "Bjarne.hackerman-omarchy"
+}
diff --git a/themes/kanagawa/backgrounds/omarchy.png b/themes/kanagawa/backgrounds/omarchy.png
new file mode 100644
index 0000000..c4560ce
Binary files /dev/null and b/themes/kanagawa/backgrounds/omarchy.png differ
diff --git a/themes/kanagawa/colors.toml b/themes/kanagawa/colors.toml
new file mode 100644
index 0000000..7ca002e
--- /dev/null
+++ b/themes/kanagawa/colors.toml
@@ -0,0 +1,23 @@
+accent = "#7e9cd8"
+cursor = "#c8c093"
+foreground = "#dcd7ba"
+background = "#1f1f28"
+selection_foreground = "#c8c093"
+selection_background = "#2d4f67"
+
+color0 = "#090618"
+color1 = "#c34043"
+color2 = "#76946a"
+color3 = "#c0a36e"
+color4 = "#7e9cd8"
+color5 = "#957fb8"
+color6 = "#6a9589"
+color7 = "#c8c093"
+color8 = "#727169"
+color9 = "#e82424"
+color10 = "#98bb6c"
+color11 = "#e6c384"
+color12 = "#7fb4ca"
+color13 = "#938aa9"
+color14 = "#7aa89f"
+color15 = "#dcd7ba"
diff --git a/themes/kanagawa/preview-unlock.png b/themes/kanagawa/preview-unlock.png
new file mode 100644
index 0000000..cef402b
Binary files /dev/null and b/themes/kanagawa/preview-unlock.png differ
diff --git a/themes/kanagawa/preview.png b/themes/kanagawa/preview.png
new file mode 100644
index 0000000..67b1ac1
Binary files /dev/null and b/themes/kanagawa/preview.png differ
diff --git a/themes/kanagawa/unlock.png b/themes/kanagawa/unlock.png
new file mode 100644
index 0000000..a83180f
Binary files /dev/null and b/themes/kanagawa/unlock.png differ
diff --git a/themes/kanagawa/vscode.json b/themes/kanagawa/vscode.json
new file mode 100644
index 0000000..91f7539
--- /dev/null
+++ b/themes/kanagawa/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Kanagawa",
+ "extension": "qufiwefefwoyn.kanagawa"
+}
diff --git a/themes/lumon/backgrounds/01-united-in-severance.jpg b/themes/lumon/backgrounds/01-united-in-severance.jpg
new file mode 100644
index 0000000..d07b636
Binary files /dev/null and b/themes/lumon/backgrounds/01-united-in-severance.jpg differ
diff --git a/themes/lumon/backgrounds/02-opinions-equally.jpg b/themes/lumon/backgrounds/02-opinions-equally.jpg
new file mode 100644
index 0000000..4f2a0bf
Binary files /dev/null and b/themes/lumon/backgrounds/02-opinions-equally.jpg differ
diff --git a/themes/lumon/backgrounds/omarchy.png b/themes/lumon/backgrounds/omarchy.png
new file mode 100644
index 0000000..8c194e6
Binary files /dev/null and b/themes/lumon/backgrounds/omarchy.png differ
diff --git a/themes/lumon/btop.theme b/themes/lumon/btop.theme
new file mode 100644
index 0000000..d9d0572
--- /dev/null
+++ b/themes/lumon/btop.theme
@@ -0,0 +1,64 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]=""
+theme_background=false
+
+# Main text color
+theme[main_fg]="#c7d2de"
+
+# Title color for boxes
+theme[title]="#9fcfe9"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#b5deef"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#355066"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#c7d2de"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#355066"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#9fcfe9"
+
+# Box outline and divider line color
+theme[cpu_box]="#79abd2"
+theme[mem_box]="#79abd2"
+theme[net_box]="#79abd2"
+theme[proc_box]="#79abd2"
+theme[div_line]="#355066"
+
+# Gradient for all meters and graphs
+theme[temp_start]="#b5deef"
+theme[temp_mid]="#92c7e7"
+theme[temp_end]="#79abd2"
+
+theme[cpu_start]="#b5deef"
+theme[cpu_mid]="#92c7e7"
+theme[cpu_end]="#79abd2"
+
+theme[free_start]="#92c7e7"
+theme[free_mid]="#86b6da"
+theme[free_end]="#86b6da"
+
+theme[cached_start]="#86b6da"
+theme[cached_mid]="#86b6da"
+theme[cached_end]="#86b6da"
+
+theme[available_start]="#b5deef"
+theme[available_mid]="#b5deef"
+theme[available_end]="#b5deef"
+
+theme[used_start]="#79abd2"
+theme[used_mid]="#79abd2"
+theme[used_end]="#79abd2"
+
+theme[download_start]="#86b6da"
+theme[download_mid]="#b5deef"
+theme[download_end]="#92c7e7"
+
+theme[upload_start]="#86b6da"
+theme[upload_mid]="#b5deef"
+theme[upload_end]="#92c7e7"
diff --git a/themes/lumon/chromium.theme b/themes/lumon/chromium.theme
new file mode 100644
index 0000000..fdf694b
--- /dev/null
+++ b/themes/lumon/chromium.theme
@@ -0,0 +1 @@
+14,31,41
diff --git a/themes/lumon/colors.toml b/themes/lumon/colors.toml
new file mode 100644
index 0000000..1ddfcb1
--- /dev/null
+++ b/themes/lumon/colors.toml
@@ -0,0 +1,35 @@
+# Accent and UI colors
+accent = "#8bc9eb"
+active_border_color = "#f2fcff"
+active_tab_background = "#6fb8e3"
+
+# Cursor colors
+cursor = "#f2fcff"
+
+# Primary colors
+foreground = "#d6e2ee"
+background = "#16242d"
+
+# Selection colors
+selection_foreground = "#1b2d40"
+selection_background = "#4d9ed3"
+
+# Normal colors (ANSI 0-7)
+color0 = "#1b2d40"
+color1 = "#4d86b0"
+color2 = "#5e95bc"
+color3 = "#6fa4c9"
+color4 = "#6fb8e3"
+color5 = "#8bc9eb"
+color6 = "#b4e4f6"
+color7 = "#d6e2ee"
+
+# Bright colors (ANSI 8-15)
+color8 = "#304860"
+color9 = "#73a6cb"
+color10 = "#86b7d8"
+color11 = "#9dcae5"
+color12 = "#f2fcff"
+color13 = "#b1d8ee"
+color14 = "#d1eef8"
+color15 = "#ffffff"
diff --git a/themes/lumon/hyprland.conf b/themes/lumon/hyprland.conf
new file mode 100644
index 0000000..40d21b4
--- /dev/null
+++ b/themes/lumon/hyprland.conf
@@ -0,0 +1,26 @@
+$activeBorderColor = rgb(f2fcff)
+$activeShadowColor = rgb(6fb8e3)
+$inactiveBorderColor = rgba(30486099)
+$inactiveShadowColor = rgba(30486077)
+
+general {
+ col.active_border = $activeBorderColor
+ col.inactive_border = $inactiveBorderColor
+ gaps_in = 8
+ gaps_out = 16
+}
+
+group {
+ col.border_active = $activeBorderColor
+ col.border_inactive = $inactiveBorderColor
+}
+
+decoration {
+ shadow {
+ enabled = true
+ range = 16
+ render_power = 4
+ color = $activeShadowColor
+ color_inactive = $inactiveShadowColor
+ }
+}
diff --git a/themes/lumon/icons.theme b/themes/lumon/icons.theme
new file mode 100644
index 0000000..66be38a
--- /dev/null
+++ b/themes/lumon/icons.theme
@@ -0,0 +1 @@
+Yaru-blue
\ No newline at end of file
diff --git a/themes/lumon/neovim-vimpack.lua b/themes/lumon/neovim-vimpack.lua
new file mode 100644
index 0000000..f72e278
--- /dev/null
+++ b/themes/lumon/neovim-vimpack.lua
@@ -0,0 +1,4 @@
+vim.pack.add({{ src = 'https://github.com/omacom-io/lumon.nvim' }})
+
+vim.opt.background = 'dark'
+vim.cmd("colorscheme lumon")
diff --git a/themes/lumon/neovim.lua b/themes/lumon/neovim.lua
new file mode 100644
index 0000000..b364ffd
--- /dev/null
+++ b/themes/lumon/neovim.lua
@@ -0,0 +1,12 @@
+return {
+ {
+ "omacom-io/lumon.nvim",
+ priority = 1000,
+ },
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "lumon",
+ },
+ },
+}
diff --git a/themes/lumon/preview-unlock.png b/themes/lumon/preview-unlock.png
new file mode 100644
index 0000000..a2f9e58
Binary files /dev/null and b/themes/lumon/preview-unlock.png differ
diff --git a/themes/lumon/preview.png b/themes/lumon/preview.png
new file mode 100644
index 0000000..9a87f6d
Binary files /dev/null and b/themes/lumon/preview.png differ
diff --git a/themes/lumon/swayosd.css b/themes/lumon/swayosd.css
new file mode 100644
index 0000000..53c3f05
--- /dev/null
+++ b/themes/lumon/swayosd.css
@@ -0,0 +1,44 @@
+@define-color background-color #1b2d40;
+@define-color border-color #304860;
+@define-color label #d6e2ee;
+@define-color image #d6e2ee;
+@define-color progress #6fb8e3;
+@define-color edge-light #f2fcff;
+
+/* Cancel out Omarchy defaults */
+window:not(:backdrop),
+window:backdrop {
+ border: none;
+ border-width: 0;
+ background-color: transparent;
+ box-shadow: none;
+ padding: 12px;
+}
+
+/* Draw the Lumon OSD shell */
+window:not(:backdrop) #container,
+window:backdrop #container {
+ border: 2px solid alpha(@border-color, 0.92);
+ background-color: alpha(@background-color, 0.95);
+ padding: 12px 16px;
+ background-clip: padding-box;
+}
+
+image,
+label {
+ color: @label;
+}
+
+progressbar {
+ min-height: 8px;
+}
+
+progressbar trough {
+ background: alpha(@border-color, 0.24);
+ box-shadow: inset 0 1px rgba(242, 252, 255, 0.03);
+}
+
+progressbar progress {
+ background: linear-gradient(90deg, @progress, @edge-light);
+ box-shadow: 0 0 10px rgba(111, 184, 227, 0.18);
+}
diff --git a/themes/lumon/unlock.png b/themes/lumon/unlock.png
new file mode 100644
index 0000000..18c566b
Binary files /dev/null and b/themes/lumon/unlock.png differ
diff --git a/themes/lumon/vscode.json b/themes/lumon/vscode.json
new file mode 100644
index 0000000..045878d
--- /dev/null
+++ b/themes/lumon/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Lumon",
+ "extension": "oldjobobo.lumon-theme"
+}
diff --git a/themes/lumon/waybar.css b/themes/lumon/waybar.css
new file mode 100644
index 0000000..11f4905
--- /dev/null
+++ b/themes/lumon/waybar.css
@@ -0,0 +1,2 @@
+@define-color foreground #d6e2ee;
+@define-color background #213442;
diff --git a/themes/matte-black/backgrounds/0-ship-at-sea.jpg b/themes/matte-black/backgrounds/0-ship-at-sea.jpg
new file mode 100644
index 0000000..4375ee2
Binary files /dev/null and b/themes/matte-black/backgrounds/0-ship-at-sea.jpg differ
diff --git a/themes/matte-black/backgrounds/1-dark-waters.jpg b/themes/matte-black/backgrounds/1-dark-waters.jpg
new file mode 100644
index 0000000..2afb1bc
Binary files /dev/null and b/themes/matte-black/backgrounds/1-dark-waters.jpg differ
diff --git a/themes/matte-black/backgrounds/2-dot-hands.jpg b/themes/matte-black/backgrounds/2-dot-hands.jpg
new file mode 100644
index 0000000..b76792c
Binary files /dev/null and b/themes/matte-black/backgrounds/2-dot-hands.jpg differ
diff --git a/themes/matte-black/backgrounds/omarchy.png b/themes/matte-black/backgrounds/omarchy.png
new file mode 100644
index 0000000..b34300c
Binary files /dev/null and b/themes/matte-black/backgrounds/omarchy.png differ
diff --git a/themes/matte-black/colors.toml b/themes/matte-black/colors.toml
new file mode 100644
index 0000000..5e1a8cc
--- /dev/null
+++ b/themes/matte-black/colors.toml
@@ -0,0 +1,23 @@
+accent = "#e68e0d"
+cursor = "#eaeaea"
+foreground = "#bebebe"
+background = "#121212"
+selection_foreground = "#bebebe"
+selection_background = "#515151"
+
+color0 = "#333333"
+color1 = "#D35F5F"
+color2 = "#FFC107"
+color3 = "#b91c1c"
+color4 = "#e68e0d"
+color5 = "#D35F5F"
+color6 = "#bebebe"
+color7 = "#bebebe"
+color8 = "#8a8a8d"
+color9 = "#B91C1C"
+color10 = "#FFC107"
+color11 = "#b90a0a"
+color12 = "#f59e0b"
+color13 = "#B91C1C"
+color14 = "#eaeaea"
+color15 = "#ffffff"
diff --git a/themes/matte-black/preview-unlock.png b/themes/matte-black/preview-unlock.png
new file mode 100644
index 0000000..e23b466
Binary files /dev/null and b/themes/matte-black/preview-unlock.png differ
diff --git a/themes/matte-black/preview.png b/themes/matte-black/preview.png
new file mode 100644
index 0000000..ed9c7b4
Binary files /dev/null and b/themes/matte-black/preview.png differ
diff --git a/themes/matte-black/unlock.png b/themes/matte-black/unlock.png
new file mode 100644
index 0000000..1a60e70
Binary files /dev/null and b/themes/matte-black/unlock.png differ
diff --git a/themes/matte-black/vscode.json b/themes/matte-black/vscode.json
new file mode 100644
index 0000000..7786fc7
--- /dev/null
+++ b/themes/matte-black/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Matte Black",
+ "extension": "TahaYVR.matteblack"
+}
diff --git a/themes/miasma/backgrounds/01-nature-of-fear.jpg b/themes/miasma/backgrounds/01-nature-of-fear.jpg
new file mode 100644
index 0000000..16cf45b
Binary files /dev/null and b/themes/miasma/backgrounds/01-nature-of-fear.jpg differ
diff --git a/themes/miasma/backgrounds/02-crowned.jpg b/themes/miasma/backgrounds/02-crowned.jpg
new file mode 100644
index 0000000..3a83fb3
Binary files /dev/null and b/themes/miasma/backgrounds/02-crowned.jpg differ
diff --git a/themes/miasma/backgrounds/omarchy.png b/themes/miasma/backgrounds/omarchy.png
new file mode 100644
index 0000000..08d8b9a
Binary files /dev/null and b/themes/miasma/backgrounds/omarchy.png differ
diff --git a/themes/miasma/btop.theme b/themes/miasma/btop.theme
new file mode 100644
index 0000000..4db76eb
--- /dev/null
+++ b/themes/miasma/btop.theme
@@ -0,0 +1,70 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]="#222222"
+
+# Main text color
+theme[main_fg]="#c2c2b0"
+
+# Title color for boxes
+theme[title]="#bb7744"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#c9a554"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#e4c47a"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#000000"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#666666"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#bb7744"
+
+# Box outline and divider line color
+theme[cpu_box]="#5f875f"
+theme[mem_box]="#5f875f"
+theme[net_box]="#5f875f"
+theme[proc_box]="#5f875f"
+theme[div_line]="#666666"
+
+# Gradient for all meters and graphs
+theme[temp_start]="#c9a554"
+theme[temp_mid]="#78824b"
+theme[temp_end]="#5f875f"
+
+
+theme[cpu_start]="#c9a554"
+theme[cpu_mid]="#78824b"
+theme[cpu_end]="#5f875f"
+
+
+theme[free_start]="#78824b"
+theme[free_mid]="#b36d43"
+theme[free_end]="#b36d43"
+
+
+theme[cached_start]="#b36d43"
+theme[cached_mid]="#b36d43"
+theme[cached_end]="#b36d43"
+
+
+theme[available_start]="#c9a554"
+theme[available_mid]="#c9a554"
+theme[available_end]="#c9a554"
+
+
+theme[used_start]="#5f875f"
+theme[used_mid]="#5f875f"
+theme[used_end]="#5f875f"
+
+
+theme[download_start]="#b36d43"
+theme[download_mid]="#c9a554"
+theme[download_end]="#78824b"
+
+
+theme[upload_start]="#b36d43"
+theme[upload_mid]="#c9a554"
+theme[upload_end]="#78824b"
diff --git a/themes/miasma/colors.toml b/themes/miasma/colors.toml
new file mode 100644
index 0000000..705ce2e
--- /dev/null
+++ b/themes/miasma/colors.toml
@@ -0,0 +1,23 @@
+accent = "#78824b"
+cursor = "#c7c7c7"
+foreground = "#c2c2b0"
+background = "#222222"
+selection_foreground = "#c2c2b0"
+selection_background = "#78824b"
+
+color0 = "#000000"
+color1 = "#685742"
+color2 = "#5f875f"
+color3 = "#b36d43"
+color4 = "#78824b"
+color5 = "#bb7744"
+color6 = "#c9a554"
+color7 = "#d7c483"
+color8 = "#666666"
+color9 = "#685742"
+color10 = "#5f875f"
+color11 = "#b36d43"
+color12 = "#78824b"
+color13 = "#bb7744"
+color14 = "#c9a554"
+color15 = "#d7c483"
diff --git a/themes/miasma/icons.theme b/themes/miasma/icons.theme
new file mode 100644
index 0000000..37b2350
--- /dev/null
+++ b/themes/miasma/icons.theme
@@ -0,0 +1 @@
+Yaru-wartybrown
\ No newline at end of file
diff --git a/themes/miasma/neovim-vimpack.lua b/themes/miasma/neovim-vimpack.lua
new file mode 100644
index 0000000..7989070
--- /dev/null
+++ b/themes/miasma/neovim-vimpack.lua
@@ -0,0 +1,4 @@
+vim.pack.add({{ src = 'https://github.com/OldJobobo/miasma.nvim' }})
+
+vim.opt.background = 'dark'
+vim.cmd("colorscheme miasma")
diff --git a/themes/miasma/neovim.lua b/themes/miasma/neovim.lua
new file mode 100644
index 0000000..a46c690
--- /dev/null
+++ b/themes/miasma/neovim.lua
@@ -0,0 +1,12 @@
+return {
+ {
+ "OldJobobo/miasma.nvim",
+ priority = 1000,
+ },
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "miasma",
+ },
+ },
+}
diff --git a/themes/miasma/preview-unlock.png b/themes/miasma/preview-unlock.png
new file mode 100644
index 0000000..d3d0254
Binary files /dev/null and b/themes/miasma/preview-unlock.png differ
diff --git a/themes/miasma/preview.png b/themes/miasma/preview.png
new file mode 100644
index 0000000..e080d82
Binary files /dev/null and b/themes/miasma/preview.png differ
diff --git a/themes/miasma/unlock.png b/themes/miasma/unlock.png
new file mode 100644
index 0000000..5d07e9b
Binary files /dev/null and b/themes/miasma/unlock.png differ
diff --git a/themes/miasma/vscode.json b/themes/miasma/vscode.json
new file mode 100644
index 0000000..f133d52
--- /dev/null
+++ b/themes/miasma/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Miasma",
+ "extension": "oldjobobo.miasma-theme"
+}
diff --git a/themes/nord/backgrounds/0-black-moon.jpg b/themes/nord/backgrounds/0-black-moon.jpg
new file mode 100644
index 0000000..55df377
Binary files /dev/null and b/themes/nord/backgrounds/0-black-moon.jpg differ
diff --git a/themes/nord/backgrounds/1-city-view.png b/themes/nord/backgrounds/1-city-view.png
new file mode 100644
index 0000000..56dbc1d
Binary files /dev/null and b/themes/nord/backgrounds/1-city-view.png differ
diff --git a/themes/nord/backgrounds/2-night-hawks.png b/themes/nord/backgrounds/2-night-hawks.png
new file mode 100644
index 0000000..412eb52
Binary files /dev/null and b/themes/nord/backgrounds/2-night-hawks.png differ
diff --git a/themes/nord/backgrounds/omarchy.png b/themes/nord/backgrounds/omarchy.png
new file mode 100644
index 0000000..f8b1960
Binary files /dev/null and b/themes/nord/backgrounds/omarchy.png differ
diff --git a/themes/nord/colors.toml b/themes/nord/colors.toml
new file mode 100644
index 0000000..79c2ae2
--- /dev/null
+++ b/themes/nord/colors.toml
@@ -0,0 +1,23 @@
+accent = "#81a1c1"
+cursor = "#d8dee9"
+foreground = "#d8dee9"
+background = "#2e3440"
+selection_foreground = "#d8dee9"
+selection_background = "#4c566a"
+
+color0 = "#3b4252"
+color1 = "#bf616a"
+color2 = "#a3be8c"
+color3 = "#ebcb8b"
+color4 = "#81a1c1"
+color5 = "#b48ead"
+color6 = "#88c0d0"
+color7 = "#e5e9f0"
+color8 = "#4c566a"
+color9 = "#bf616a"
+color10 = "#a3be8c"
+color11 = "#ebcb8b"
+color12 = "#81a1c1"
+color13 = "#b48ead"
+color14 = "#8fbcbb"
+color15 = "#eceff4"
diff --git a/themes/nord/preview-unlock.png b/themes/nord/preview-unlock.png
new file mode 100644
index 0000000..d002326
Binary files /dev/null and b/themes/nord/preview-unlock.png differ
diff --git a/themes/nord/preview.png b/themes/nord/preview.png
new file mode 100644
index 0000000..57d5035
Binary files /dev/null and b/themes/nord/preview.png differ
diff --git a/themes/nord/unlock.png b/themes/nord/unlock.png
new file mode 100644
index 0000000..e6b204b
Binary files /dev/null and b/themes/nord/unlock.png differ
diff --git a/themes/nord/vscode.json b/themes/nord/vscode.json
new file mode 100644
index 0000000..897b8ba
--- /dev/null
+++ b/themes/nord/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Nord",
+ "extension": "arcticicestudio.nord-visual-studio-code"
+}
diff --git a/themes/osaka-jade/backgrounds/1-glowing-city.jpg b/themes/osaka-jade/backgrounds/1-glowing-city.jpg
new file mode 100644
index 0000000..be7d857
Binary files /dev/null and b/themes/osaka-jade/backgrounds/1-glowing-city.jpg differ
diff --git a/themes/osaka-jade/backgrounds/2-shaded-entrance.jpg b/themes/osaka-jade/backgrounds/2-shaded-entrance.jpg
new file mode 100644
index 0000000..9b97956
Binary files /dev/null and b/themes/osaka-jade/backgrounds/2-shaded-entrance.jpg differ
diff --git a/themes/osaka-jade/backgrounds/3-mountain-moon.jpg b/themes/osaka-jade/backgrounds/3-mountain-moon.jpg
new file mode 100644
index 0000000..729ccae
Binary files /dev/null and b/themes/osaka-jade/backgrounds/3-mountain-moon.jpg differ
diff --git a/themes/osaka-jade/backgrounds/omarchy.png b/themes/osaka-jade/backgrounds/omarchy.png
new file mode 100644
index 0000000..8f691c6
Binary files /dev/null and b/themes/osaka-jade/backgrounds/omarchy.png differ
diff --git a/themes/osaka-jade/colors.toml b/themes/osaka-jade/colors.toml
new file mode 100644
index 0000000..76f763e
--- /dev/null
+++ b/themes/osaka-jade/colors.toml
@@ -0,0 +1,23 @@
+accent = "#509475"
+cursor = "#D7C995"
+foreground = "#C1C497"
+background = "#111c18"
+selection_foreground = "#111C18"
+selection_background = "#C1C497"
+
+color0 = "#23372B"
+color1 = "#FF5345"
+color2 = "#549e6a"
+color3 = "#459451"
+color4 = "#509475"
+color5 = "#D2689C"
+color6 = "#2DD5B7"
+color7 = "#F6F5DD"
+color8 = "#53685B"
+color9 = "#db9f9c"
+color10 = "#63b07a"
+color11 = "#E5C736"
+color12 = "#ACD4CF"
+color13 = "#75bbb3"
+color14 = "#8CD3CB"
+color15 = "#9eebb3"
diff --git a/themes/osaka-jade/preview-unlock.png b/themes/osaka-jade/preview-unlock.png
new file mode 100644
index 0000000..8db5193
Binary files /dev/null and b/themes/osaka-jade/preview-unlock.png differ
diff --git a/themes/osaka-jade/preview.png b/themes/osaka-jade/preview.png
new file mode 100644
index 0000000..c1fe99f
Binary files /dev/null and b/themes/osaka-jade/preview.png differ
diff --git a/themes/osaka-jade/unlock.png b/themes/osaka-jade/unlock.png
new file mode 100644
index 0000000..ca4ac8c
Binary files /dev/null and b/themes/osaka-jade/unlock.png differ
diff --git a/themes/osaka-jade/vscode.json b/themes/osaka-jade/vscode.json
new file mode 100644
index 0000000..efe2d63
--- /dev/null
+++ b/themes/osaka-jade/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Ocean Green: Dark",
+ "extension": "jovejonovski.ocean-green"
+}
diff --git a/themes/retro-82/backgrounds/1-in-the-groove.jpg b/themes/retro-82/backgrounds/1-in-the-groove.jpg
new file mode 100644
index 0000000..c9537a4
Binary files /dev/null and b/themes/retro-82/backgrounds/1-in-the-groove.jpg differ
diff --git a/themes/retro-82/backgrounds/2-dusk-guardian.jpg b/themes/retro-82/backgrounds/2-dusk-guardian.jpg
new file mode 100644
index 0000000..4f30b56
Binary files /dev/null and b/themes/retro-82/backgrounds/2-dusk-guardian.jpg differ
diff --git a/themes/retro-82/backgrounds/3-glassy-lines.jpg b/themes/retro-82/backgrounds/3-glassy-lines.jpg
new file mode 100644
index 0000000..c1106dc
Binary files /dev/null and b/themes/retro-82/backgrounds/3-glassy-lines.jpg differ
diff --git a/themes/retro-82/backgrounds/4-gateway.jpg b/themes/retro-82/backgrounds/4-gateway.jpg
new file mode 100644
index 0000000..067baa4
Binary files /dev/null and b/themes/retro-82/backgrounds/4-gateway.jpg differ
diff --git a/themes/retro-82/backgrounds/5-zen-boat.jpg b/themes/retro-82/backgrounds/5-zen-boat.jpg
new file mode 100644
index 0000000..4a4821e
Binary files /dev/null and b/themes/retro-82/backgrounds/5-zen-boat.jpg differ
diff --git a/themes/retro-82/backgrounds/6-abstract-pyramids.jpg b/themes/retro-82/backgrounds/6-abstract-pyramids.jpg
new file mode 100644
index 0000000..6dd9d0a
Binary files /dev/null and b/themes/retro-82/backgrounds/6-abstract-pyramids.jpg differ
diff --git a/themes/retro-82/backgrounds/7-the-journey.jpg b/themes/retro-82/backgrounds/7-the-journey.jpg
new file mode 100644
index 0000000..03fc55c
Binary files /dev/null and b/themes/retro-82/backgrounds/7-the-journey.jpg differ
diff --git a/themes/retro-82/backgrounds/8-glitter-glass.jpg b/themes/retro-82/backgrounds/8-glitter-glass.jpg
new file mode 100644
index 0000000..dfa5322
Binary files /dev/null and b/themes/retro-82/backgrounds/8-glitter-glass.jpg differ
diff --git a/themes/retro-82/backgrounds/omarchy.png b/themes/retro-82/backgrounds/omarchy.png
new file mode 100644
index 0000000..477cad1
Binary files /dev/null and b/themes/retro-82/backgrounds/omarchy.png differ
diff --git a/themes/retro-82/btop.theme b/themes/retro-82/btop.theme
new file mode 100644
index 0000000..ded67f1
--- /dev/null
+++ b/themes/retro-82/btop.theme
@@ -0,0 +1,63 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]=""
+
+# Main text color
+theme[main_fg]="#f6dcac"
+
+# Title color for boxes
+theme[title]="#3f8f8a"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#8cbfb8"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#134e5a"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#f6dcac"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#134e5a"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#3f8f8a"
+
+# Box outline and divider line color
+theme[cpu_box]="#e97b3c"
+theme[mem_box]="#e97b3c"
+theme[net_box]="#e97b3c"
+theme[proc_box]="#e97b3c"
+theme[div_line]="#134e5a"
+
+# Gradient for all meters and graphs
+theme[temp_start]="#a7c9c6"
+theme[temp_mid]="#8cbfb8"
+theme[temp_end]="#028391"
+
+theme[cpu_start]="#a7c9c6"
+theme[cpu_mid]="#e97b3c"
+theme[cpu_end]="#f85525"
+
+theme[free_start]="#faa968"
+theme[free_mid]="#e97b3c"
+theme[free_end]="#f85525"
+
+theme[cached_start]="#faa968"
+theme[cached_mid]="#e97b3c"
+theme[cached_end]="#f85525"
+
+theme[available_start]="#faa968"
+theme[available_mid]="#e97b3c"
+theme[available_end]="#f85525"
+
+theme[used_start]="#faa968"
+theme[used_mid]="#e97b3c"
+theme[used_end]="#f85525"
+
+theme[download_start]="#faa968"
+theme[download_mid]="#e97b3c"
+theme[download_end]="#f85525"
+
+theme[upload_start]="#faa968"
+theme[upload_mid]="#e97b3c"
+theme[upload_end]="#f85525"
diff --git a/themes/retro-82/chromium.theme b/themes/retro-82/chromium.theme
new file mode 100644
index 0000000..efb75ae
--- /dev/null
+++ b/themes/retro-82/chromium.theme
@@ -0,0 +1 @@
+0,23,46
diff --git a/themes/retro-82/colors.toml b/themes/retro-82/colors.toml
new file mode 100644
index 0000000..1b5285d
--- /dev/null
+++ b/themes/retro-82/colors.toml
@@ -0,0 +1,35 @@
+# Accent and UI colors
+accent = "#faa968"
+active_border_color = "#faa968"
+active_tab_background = "#faa968"
+
+# Cursor colors
+cursor = "#f6dcac"
+
+# Primary colors
+foreground = "#f6dcac"
+background = "#05182e"
+
+# Selection colors
+selection_foreground = "#00172e"
+selection_background = "#faa968"
+
+# Normal colors (ANSI 0-7)
+color0 = "#303442"
+color1 = "#f85525"
+color2 = "#028391"
+color3 = "#e97b3c"
+color4 = "#faa968"
+color5 = "#3f8f8a"
+color6 = "#8cbfb8"
+color7 = "#a7c9c6"
+
+# Bright colors (ANSI 8-15)
+color8 = "#134e5a"
+color9 = "#f85525"
+color10 = "#028391"
+color11 = "#e97b3c"
+color12 = "#faa968"
+color13 = "#3f8f8a"
+color14 = "#8cbfb8"
+color15 = "#f6dcac"
diff --git a/themes/retro-82/hyprland.conf b/themes/retro-82/hyprland.conf
new file mode 100644
index 0000000..4d4c6ad
--- /dev/null
+++ b/themes/retro-82/hyprland.conf
@@ -0,0 +1,9 @@
+$activeBorderColor = rgb(faa968)
+
+general {
+ col.active_border = $activeBorderColor
+}
+
+group {
+ col.border_active = $activeBorderColor
+}
diff --git a/themes/retro-82/icons.theme b/themes/retro-82/icons.theme
new file mode 100644
index 0000000..3a73239
--- /dev/null
+++ b/themes/retro-82/icons.theme
@@ -0,0 +1 @@
+Yaru-wartybrown
diff --git a/themes/retro-82/neovim-vimpack.lua b/themes/retro-82/neovim-vimpack.lua
new file mode 100644
index 0000000..8ea0192
--- /dev/null
+++ b/themes/retro-82/neovim-vimpack.lua
@@ -0,0 +1,4 @@
+vim.pack.add({{ src = 'https://github.com/OldJobobo/retro-82.nvim' }})
+
+vim.opt.background = 'dark'
+vim.cmd("colorscheme retro-82")
diff --git a/themes/retro-82/neovim.lua b/themes/retro-82/neovim.lua
new file mode 100644
index 0000000..f824c8d
--- /dev/null
+++ b/themes/retro-82/neovim.lua
@@ -0,0 +1,12 @@
+return {
+ {
+ "OldJobobo/retro-82.nvim",
+ priority = 1000,
+ },
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "retro-82",
+ },
+ },
+}
diff --git a/themes/retro-82/preview-unlock.png b/themes/retro-82/preview-unlock.png
new file mode 100644
index 0000000..1df397a
Binary files /dev/null and b/themes/retro-82/preview-unlock.png differ
diff --git a/themes/retro-82/preview.png b/themes/retro-82/preview.png
new file mode 100644
index 0000000..328ae9f
Binary files /dev/null and b/themes/retro-82/preview.png differ
diff --git a/themes/retro-82/swayosd.css b/themes/retro-82/swayosd.css
new file mode 100644
index 0000000..b3e2364
--- /dev/null
+++ b/themes/retro-82/swayosd.css
@@ -0,0 +1,5 @@
+@define-color background-color #00172e;
+@define-color border-color #134e5a;
+@define-color label #f6dcac;
+@define-color image #f6dcac;
+@define-color progress #e97b3c;
diff --git a/themes/retro-82/unlock.png b/themes/retro-82/unlock.png
new file mode 100644
index 0000000..b7216ca
Binary files /dev/null and b/themes/retro-82/unlock.png differ
diff --git a/themes/retro-82/vscode.json b/themes/retro-82/vscode.json
new file mode 100644
index 0000000..e2b3bbd
--- /dev/null
+++ b/themes/retro-82/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Retro '82",
+ "extension": "oldjobobo.retro-82-theme"
+}
diff --git a/themes/retro-82/waybar.css b/themes/retro-82/waybar.css
new file mode 100644
index 0000000..f5944b1
--- /dev/null
+++ b/themes/retro-82/waybar.css
@@ -0,0 +1,3 @@
+@define-color bg #00172e;
+@define-color foreground #f6dcac;
+@define-color background alpha(@bg, 0.8);
diff --git a/themes/ristretto/backgrounds/0-launch.png b/themes/ristretto/backgrounds/0-launch.png
new file mode 100644
index 0000000..3c19194
Binary files /dev/null and b/themes/ristretto/backgrounds/0-launch.png differ
diff --git a/themes/ristretto/backgrounds/1-color-curves.jpg b/themes/ristretto/backgrounds/1-color-curves.jpg
new file mode 100644
index 0000000..7618e1b
Binary files /dev/null and b/themes/ristretto/backgrounds/1-color-curves.jpg differ
diff --git a/themes/ristretto/backgrounds/2-coffee-beans.jpg b/themes/ristretto/backgrounds/2-coffee-beans.jpg
new file mode 100644
index 0000000..faf63ea
Binary files /dev/null and b/themes/ristretto/backgrounds/2-coffee-beans.jpg differ
diff --git a/themes/ristretto/backgrounds/3-industrial-moon.jpg b/themes/ristretto/backgrounds/3-industrial-moon.jpg
new file mode 100644
index 0000000..385b01d
Binary files /dev/null and b/themes/ristretto/backgrounds/3-industrial-moon.jpg differ
diff --git a/themes/ristretto/backgrounds/omarchy.png b/themes/ristretto/backgrounds/omarchy.png
new file mode 100644
index 0000000..f1182f6
Binary files /dev/null and b/themes/ristretto/backgrounds/omarchy.png differ
diff --git a/themes/ristretto/colors.toml b/themes/ristretto/colors.toml
new file mode 100644
index 0000000..b5ca9ab
--- /dev/null
+++ b/themes/ristretto/colors.toml
@@ -0,0 +1,23 @@
+accent = "#f38d70"
+cursor = "#c3b7b8"
+foreground = "#e6d9db"
+background = "#2c2525"
+selection_foreground = "#e6d9db"
+selection_background = "#403e41"
+
+color0 = "#72696a"
+color1 = "#fd6883"
+color2 = "#adda78"
+color3 = "#f9cc6c"
+color4 = "#f38d70"
+color5 = "#a8a9eb"
+color6 = "#85dacc"
+color7 = "#e6d9db"
+color8 = "#948a8b"
+color9 = "#ff8297"
+color10 = "#c8e292"
+color11 = "#fcd675"
+color12 = "#f8a788"
+color13 = "#bebffd"
+color14 = "#9bf1e1"
+color15 = "#f1e5e7"
diff --git a/themes/ristretto/preview-unlock.png b/themes/ristretto/preview-unlock.png
new file mode 100644
index 0000000..ec51c94
Binary files /dev/null and b/themes/ristretto/preview-unlock.png differ
diff --git a/themes/ristretto/preview.png b/themes/ristretto/preview.png
new file mode 100644
index 0000000..978b80f
Binary files /dev/null and b/themes/ristretto/preview.png differ
diff --git a/themes/ristretto/unlock.png b/themes/ristretto/unlock.png
new file mode 100644
index 0000000..f865bc5
Binary files /dev/null and b/themes/ristretto/unlock.png differ
diff --git a/themes/ristretto/vscode.json b/themes/ristretto/vscode.json
new file mode 100644
index 0000000..41a587e
--- /dev/null
+++ b/themes/ristretto/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Monokai Pro (Filter Ristretto)",
+ "extension": "monokai.theme-monokai-pro-vscode"
+}
diff --git a/themes/rose-pine/backgrounds/1-funky-shapes.jpg b/themes/rose-pine/backgrounds/1-funky-shapes.jpg
new file mode 100644
index 0000000..adfe242
Binary files /dev/null and b/themes/rose-pine/backgrounds/1-funky-shapes.jpg differ
diff --git a/themes/rose-pine/backgrounds/2-dot-map.png b/themes/rose-pine/backgrounds/2-dot-map.png
new file mode 100644
index 0000000..53e136c
Binary files /dev/null and b/themes/rose-pine/backgrounds/2-dot-map.png differ
diff --git a/themes/rose-pine/backgrounds/3-omarchy-plants.png b/themes/rose-pine/backgrounds/3-omarchy-plants.png
new file mode 100644
index 0000000..f19c3ff
Binary files /dev/null and b/themes/rose-pine/backgrounds/3-omarchy-plants.png differ
diff --git a/themes/rose-pine/backgrounds/omarchy.png b/themes/rose-pine/backgrounds/omarchy.png
new file mode 100644
index 0000000..14f6e8a
Binary files /dev/null and b/themes/rose-pine/backgrounds/omarchy.png differ
diff --git a/themes/rose-pine/colors.toml b/themes/rose-pine/colors.toml
new file mode 100644
index 0000000..e757ad0
--- /dev/null
+++ b/themes/rose-pine/colors.toml
@@ -0,0 +1,23 @@
+accent = "#56949f"
+cursor = "#cecacd"
+foreground = "#575279"
+background = "#faf4ed"
+selection_foreground = "#575279"
+selection_background = "#dfdad9"
+
+color0 = "#f2e9e1"
+color1 = "#b4637a"
+color2 = "#286983"
+color3 = "#ea9d34"
+color4 = "#56949f"
+color5 = "#907aa9"
+color6 = "#d7827e"
+color7 = "#575279"
+color8 = "#9893a5"
+color9 = "#b4637a"
+color10 = "#286983"
+color11 = "#ea9d34"
+color12 = "#56949f"
+color13 = "#907aa9"
+color14 = "#d7827e"
+color15 = "#575279"
diff --git a/themes/rose-pine/preview-unlock.png b/themes/rose-pine/preview-unlock.png
new file mode 100644
index 0000000..d087e42
Binary files /dev/null and b/themes/rose-pine/preview-unlock.png differ
diff --git a/themes/rose-pine/preview.png b/themes/rose-pine/preview.png
new file mode 100644
index 0000000..e5fa45a
Binary files /dev/null and b/themes/rose-pine/preview.png differ
diff --git a/themes/rose-pine/unlock.png b/themes/rose-pine/unlock.png
new file mode 100644
index 0000000..892ea41
Binary files /dev/null and b/themes/rose-pine/unlock.png differ
diff --git a/themes/rose-pine/vscode.json b/themes/rose-pine/vscode.json
new file mode 100644
index 0000000..07e0050
--- /dev/null
+++ b/themes/rose-pine/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Rosé Pine Dawn",
+ "extension": "mvllow.rose-pine"
+}
diff --git a/themes/tokyo-night/backgrounds/0-swirl-buck.jpg b/themes/tokyo-night/backgrounds/0-swirl-buck.jpg
new file mode 100644
index 0000000..504f3db
Binary files /dev/null and b/themes/tokyo-night/backgrounds/0-swirl-buck.jpg differ
diff --git a/themes/tokyo-night/backgrounds/1-sunset-lake.png b/themes/tokyo-night/backgrounds/1-sunset-lake.png
new file mode 100644
index 0000000..d806728
Binary files /dev/null and b/themes/tokyo-night/backgrounds/1-sunset-lake.png differ
diff --git a/themes/tokyo-night/backgrounds/2-pawel-czerwinski.jpg b/themes/tokyo-night/backgrounds/2-pawel-czerwinski.jpg
new file mode 100644
index 0000000..2767138
Binary files /dev/null and b/themes/tokyo-night/backgrounds/2-pawel-czerwinski.jpg differ
diff --git a/themes/tokyo-night/backgrounds/3-milad-fakurian.jpg b/themes/tokyo-night/backgrounds/3-milad-fakurian.jpg
new file mode 100644
index 0000000..b9663ff
Binary files /dev/null and b/themes/tokyo-night/backgrounds/3-milad-fakurian.jpg differ
diff --git a/themes/tokyo-night/backgrounds/4-oma-cityscape.jpg b/themes/tokyo-night/backgrounds/4-oma-cityscape.jpg
new file mode 100644
index 0000000..f57916b
Binary files /dev/null and b/themes/tokyo-night/backgrounds/4-oma-cityscape.jpg differ
diff --git a/themes/tokyo-night/backgrounds/5-oma.jpg b/themes/tokyo-night/backgrounds/5-oma.jpg
new file mode 100644
index 0000000..3b85cd0
Binary files /dev/null and b/themes/tokyo-night/backgrounds/5-oma.jpg differ
diff --git a/themes/tokyo-night/backgrounds/omarchy.png b/themes/tokyo-night/backgrounds/omarchy.png
new file mode 100644
index 0000000..0f52090
Binary files /dev/null and b/themes/tokyo-night/backgrounds/omarchy.png differ
diff --git a/themes/tokyo-night/colors.toml b/themes/tokyo-night/colors.toml
new file mode 100644
index 0000000..fe51dd0
--- /dev/null
+++ b/themes/tokyo-night/colors.toml
@@ -0,0 +1,23 @@
+accent = "#7aa2f7"
+cursor = "#c0caf5"
+foreground = "#a9b1d6"
+background = "#1a1b26"
+selection_foreground = "#c0caf5"
+selection_background = "#7aa2f7"
+
+color0 = "#32344a"
+color1 = "#f7768e"
+color2 = "#9ece6a"
+color3 = "#e0af68"
+color4 = "#7aa2f7"
+color5 = "#ad8ee6"
+color6 = "#449dab"
+color7 = "#787c99"
+color8 = "#444b6a"
+color9 = "#ff7a93"
+color10 = "#b9f27c"
+color11 = "#ff9e64"
+color12 = "#7da6ff"
+color13 = "#bb9af7"
+color14 = "#0db9d7"
+color15 = "#acb0d0"
diff --git a/themes/tokyo-night/keyboard.rgb b/themes/tokyo-night/keyboard.rgb
new file mode 100644
index 0000000..c9f4a7c
--- /dev/null
+++ b/themes/tokyo-night/keyboard.rgb
@@ -0,0 +1 @@
+ff00ff
diff --git a/themes/tokyo-night/preview-unlock.png b/themes/tokyo-night/preview-unlock.png
new file mode 100644
index 0000000..bb4897a
Binary files /dev/null and b/themes/tokyo-night/preview-unlock.png differ
diff --git a/themes/tokyo-night/preview.png b/themes/tokyo-night/preview.png
new file mode 100644
index 0000000..8f5f7e3
Binary files /dev/null and b/themes/tokyo-night/preview.png differ
diff --git a/themes/tokyo-night/unlock.png b/themes/tokyo-night/unlock.png
new file mode 100644
index 0000000..f554441
Binary files /dev/null and b/themes/tokyo-night/unlock.png differ
diff --git a/themes/tokyo-night/vscode.json b/themes/tokyo-night/vscode.json
new file mode 100644
index 0000000..89af98c
--- /dev/null
+++ b/themes/tokyo-night/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Tokyo Night",
+ "extension": "enkia.tokyo-night"
+}
diff --git a/themes/vantablack/backgrounds/0-dot-hands.jpg b/themes/vantablack/backgrounds/0-dot-hands.jpg
new file mode 100644
index 0000000..b76792c
Binary files /dev/null and b/themes/vantablack/backgrounds/0-dot-hands.jpg differ
diff --git a/themes/vantablack/backgrounds/1-twisted-stairs.jpg b/themes/vantablack/backgrounds/1-twisted-stairs.jpg
new file mode 100644
index 0000000..ad81cf1
Binary files /dev/null and b/themes/vantablack/backgrounds/1-twisted-stairs.jpg differ
diff --git a/themes/vantablack/backgrounds/2-layers-deep.jpg b/themes/vantablack/backgrounds/2-layers-deep.jpg
new file mode 100644
index 0000000..e0f04b6
Binary files /dev/null and b/themes/vantablack/backgrounds/2-layers-deep.jpg differ
diff --git a/themes/vantablack/backgrounds/3-layers-stacked.jpg b/themes/vantablack/backgrounds/3-layers-stacked.jpg
new file mode 100644
index 0000000..4a81b94
Binary files /dev/null and b/themes/vantablack/backgrounds/3-layers-stacked.jpg differ
diff --git a/themes/vantablack/backgrounds/omarchy.png b/themes/vantablack/backgrounds/omarchy.png
new file mode 100644
index 0000000..4bf3789
Binary files /dev/null and b/themes/vantablack/backgrounds/omarchy.png differ
diff --git a/themes/vantablack/btop.theme b/themes/vantablack/btop.theme
new file mode 100644
index 0000000..a1ed279
--- /dev/null
+++ b/themes/vantablack/btop.theme
@@ -0,0 +1,70 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]="#000000"
+
+# Main text color
+theme[main_fg]="#ffffff"
+
+# Title color for boxes
+theme[title]="#9b9b9b"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#b0b0b0"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#fdfdfd"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#ffffff"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#fdfdfd"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#9b9b9b"
+
+# Box outline and divider line color
+theme[cpu_box]="#b6b6b6"
+theme[mem_box]="#b6b6b6"
+theme[net_box]="#b6b6b6"
+theme[proc_box]="#b6b6b6"
+theme[div_line]="#fdfdfd"
+
+# Gradient for all meters and graphs
+theme[temp_start]="#b0b0b0"
+theme[temp_mid]="#8d8d8d"
+theme[temp_end]="#b6b6b6"
+
+
+theme[cpu_start]="#b0b0b0"
+theme[cpu_mid]="#8d8d8d"
+theme[cpu_end]="#b6b6b6"
+
+
+theme[free_start]="#8d8d8d"
+theme[free_mid]="#cecece"
+theme[free_end]="#cecece"
+
+
+theme[cached_start]="#cecece"
+theme[cached_mid]="#cecece"
+theme[cached_end]="#cecece"
+
+
+theme[available_start]="#b0b0b0"
+theme[available_mid]="#b0b0b0"
+theme[available_end]="#b0b0b0"
+
+
+theme[used_start]="#b6b6b6"
+theme[used_mid]="#b6b6b6"
+theme[used_end]="#b6b6b6"
+
+
+theme[download_start]="#cecece"
+theme[download_mid]="#b0b0b0"
+theme[download_end]="#8d8d8d"
+
+
+theme[upload_start]="#cecece"
+theme[upload_mid]="#b0b0b0"
+theme[upload_end]="#8d8d8d"
\ No newline at end of file
diff --git a/themes/vantablack/colors.toml b/themes/vantablack/colors.toml
new file mode 100644
index 0000000..45b8213
--- /dev/null
+++ b/themes/vantablack/colors.toml
@@ -0,0 +1,31 @@
+# UI Colors (extended)
+accent = "#8d8d8d"
+cursor = "#ffffff"
+
+# Primary colors
+foreground = "#ffffff"
+background = "#000000"
+
+# Selection colors
+selection_foreground = "#000000"
+selection_background = "#ffffff"
+
+# Normal colors (ANSI 0-7)
+color0 = "#404040"
+color1 = "#a4a4a4"
+color2 = "#b6b6b6"
+color3 = "#cecece"
+color4 = "#8d8d8d"
+color5 = "#9b9b9b"
+color6 = "#b0b0b0"
+color7 = "#ececec"
+
+# Bright colors (ANSI 8-15)
+color8 = "#5c5c5c"
+color9 = "#a4a4a4"
+color10 = "#b6b6b6"
+color11 = "#cecece"
+color12 = "#8d8d8d"
+color13 = "#9b9b9b"
+color14 = "#b0b0b0"
+color15 = "#ffffff"
diff --git a/themes/vantablack/icons.theme b/themes/vantablack/icons.theme
new file mode 100644
index 0000000..0bc3e2d
--- /dev/null
+++ b/themes/vantablack/icons.theme
@@ -0,0 +1 @@
+Yaru-gray
diff --git a/themes/vantablack/neovim-vimpack.lua b/themes/vantablack/neovim-vimpack.lua
new file mode 100644
index 0000000..1f94a91
--- /dev/null
+++ b/themes/vantablack/neovim-vimpack.lua
@@ -0,0 +1,4 @@
+vim.pack.add({{ src = 'https://github.com/bjarneo/vantablack.nvim' }})
+
+vim.opt.background = 'dark'
+vim.cmd("colorscheme vantablack")
diff --git a/themes/vantablack/neovim.lua b/themes/vantablack/neovim.lua
new file mode 100644
index 0000000..f9d9616
--- /dev/null
+++ b/themes/vantablack/neovim.lua
@@ -0,0 +1,12 @@
+return {
+ {
+ "bjarneo/vantablack.nvim",
+ priority = 1000,
+ },
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "vantablack",
+ },
+ },
+}
diff --git a/themes/vantablack/preview-unlock.png b/themes/vantablack/preview-unlock.png
new file mode 100644
index 0000000..b2cd593
Binary files /dev/null and b/themes/vantablack/preview-unlock.png differ
diff --git a/themes/vantablack/preview.png b/themes/vantablack/preview.png
new file mode 100644
index 0000000..e6a3a72
Binary files /dev/null and b/themes/vantablack/preview.png differ
diff --git a/themes/vantablack/unlock.png b/themes/vantablack/unlock.png
new file mode 100644
index 0000000..87d2cec
Binary files /dev/null and b/themes/vantablack/unlock.png differ
diff --git a/themes/vantablack/vscode.json b/themes/vantablack/vscode.json
new file mode 100644
index 0000000..4221b9e
--- /dev/null
+++ b/themes/vantablack/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "Vantablack",
+ "extension": "Bjarne.vantablack-omarchy"
+}
diff --git a/themes/white/backgrounds/1-white.jpg b/themes/white/backgrounds/1-white.jpg
new file mode 100644
index 0000000..0e6121f
Binary files /dev/null and b/themes/white/backgrounds/1-white.jpg differ
diff --git a/themes/white/backgrounds/2-white.jpg b/themes/white/backgrounds/2-white.jpg
new file mode 100644
index 0000000..b8c5a7d
Binary files /dev/null and b/themes/white/backgrounds/2-white.jpg differ
diff --git a/themes/white/backgrounds/3-white.jpg b/themes/white/backgrounds/3-white.jpg
new file mode 100644
index 0000000..4ec4553
Binary files /dev/null and b/themes/white/backgrounds/3-white.jpg differ
diff --git a/themes/white/backgrounds/omarchy.png b/themes/white/backgrounds/omarchy.png
new file mode 100644
index 0000000..9b5cd0c
Binary files /dev/null and b/themes/white/backgrounds/omarchy.png differ
diff --git a/themes/white/btop.theme b/themes/white/btop.theme
new file mode 100644
index 0000000..244253a
--- /dev/null
+++ b/themes/white/btop.theme
@@ -0,0 +1,70 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]="#ffffff"
+
+# Main text color
+theme[main_fg]="#000000"
+
+# Title color for boxes
+theme[title]="#2e2e2e"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#3e3e3e"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#c0c0c0"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#000000"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#c0c0c0"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#2e2e2e"
+
+# Box outline and divider line color
+theme[cpu_box]="#3a3a3a"
+theme[mem_box]="#3a3a3a"
+theme[net_box]="#3a3a3a"
+theme[proc_box]="#3a3a3a"
+theme[div_line]="#c0c0c0"
+
+# Gradient for all meters and graphs
+theme[temp_start]="#3e3e3e"
+theme[temp_mid]="#1a1a1a"
+theme[temp_end]="#3a3a3a"
+
+
+theme[cpu_start]="#3e3e3e"
+theme[cpu_mid]="#1a1a1a"
+theme[cpu_end]="#3a3a3a"
+
+
+theme[free_start]="#1a1a1a"
+theme[free_mid]="#4a4a4a"
+theme[free_end]="#4a4a4a"
+
+
+theme[cached_start]="#4a4a4a"
+theme[cached_mid]="#4a4a4a"
+theme[cached_end]="#4a4a4a"
+
+
+theme[available_start]="#3e3e3e"
+theme[available_mid]="#3e3e3e"
+theme[available_end]="#3e3e3e"
+
+
+theme[used_start]="#3a3a3a"
+theme[used_mid]="#3a3a3a"
+theme[used_end]="#3a3a3a"
+
+
+theme[download_start]="#4a4a4a"
+theme[download_mid]="#3e3e3e"
+theme[download_end]="#1a1a1a"
+
+
+theme[upload_start]="#4a4a4a"
+theme[upload_mid]="#3e3e3e"
+theme[upload_end]="#1a1a1a"
\ No newline at end of file
diff --git a/themes/white/colors.toml b/themes/white/colors.toml
new file mode 100644
index 0000000..e6e072e
--- /dev/null
+++ b/themes/white/colors.toml
@@ -0,0 +1,31 @@
+# UI Colors (extended)
+accent = "#6e6e6e"
+cursor = "#000000"
+
+# Primary colors
+foreground = "#000000"
+background = "#ffffff"
+
+# Selection colors
+selection_foreground = "#ffffff"
+selection_background = "#1a1a1a"
+
+# Normal colors (ANSI 0-7)
+color0 = "#c0c0c0"
+color1 = "#2a2a2a"
+color2 = "#3a3a3a"
+color3 = "#4a4a4a"
+color4 = "#1a1a1a"
+color5 = "#2e2e2e"
+color6 = "#3e3e3e"
+color7 = "#000000"
+
+# Bright colors (ANSI 8-15)
+color8 = "#c0c0c0"
+color9 = "#2a2a2a"
+color10 = "#3a3a3a"
+color11 = "#4a4a4a"
+color12 = "#1a1a1a"
+color13 = "#2e2e2e"
+color14 = "#3e3e3e"
+color15 = "#000000"
diff --git a/themes/white/icons.theme b/themes/white/icons.theme
new file mode 100644
index 0000000..3d157d9
--- /dev/null
+++ b/themes/white/icons.theme
@@ -0,0 +1 @@
+Yaru-grey
diff --git a/themes/white/light.mode b/themes/white/light.mode
new file mode 100644
index 0000000..66bb2d0
--- /dev/null
+++ b/themes/white/light.mode
@@ -0,0 +1 @@
+# This will set "prefer-light" and use "Adwaita" as the theme
diff --git a/themes/white/neovim-vimpack.lua b/themes/white/neovim-vimpack.lua
new file mode 100644
index 0000000..8fe39ed
--- /dev/null
+++ b/themes/white/neovim-vimpack.lua
@@ -0,0 +1,6 @@
+vim.pack.add({{ src = 'https://github.com/bjarneo/white.nvim' }})
+
+require("white").setup({})
+
+vim.opt.background = 'light'
+vim.cmd("colorscheme white")
diff --git a/themes/white/neovim.lua b/themes/white/neovim.lua
new file mode 100644
index 0000000..f9afa38
--- /dev/null
+++ b/themes/white/neovim.lua
@@ -0,0 +1,12 @@
+return {
+ {
+ "bjarneo/white.nvim",
+ priority = 1000,
+ },
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "white",
+ },
+ },
+}
diff --git a/themes/white/preview-unlock.png b/themes/white/preview-unlock.png
new file mode 100644
index 0000000..71bce65
Binary files /dev/null and b/themes/white/preview-unlock.png differ
diff --git a/themes/white/preview.png b/themes/white/preview.png
new file mode 100644
index 0000000..597b3c4
Binary files /dev/null and b/themes/white/preview.png differ
diff --git a/themes/white/unlock.png b/themes/white/unlock.png
new file mode 100644
index 0000000..87d2cec
Binary files /dev/null and b/themes/white/unlock.png differ
diff --git a/themes/white/vscode.json b/themes/white/vscode.json
new file mode 100644
index 0000000..70019ac
--- /dev/null
+++ b/themes/white/vscode.json
@@ -0,0 +1,4 @@
+{
+ "name": "White",
+ "extension": "Bjarne.white-theme"
+}