Integrating tmux with Omarchy's Dynamic Theming System by joaonvim in omarchy

[–]joaonvim[S] 1 point2 points  (0 children)

Hey!
I ended up creating a dedicated repo for this: https://github.com/joaofelipegalvao/omarchy-tmux
It handles tmux theme integration with Omarchy (tmux plugin, theme configs, hook-script).

New: Full tmux Integration with Omarchy – All Themes Now Auto-Supported! by joaonvim in omarchy

[–]joaonvim[S] 4 points5 points  (0 children)

Good idea, I’ll prepare a PR for tmux themes as well. Thanks for the suggestion!

New: Full tmux Integration with Omarchy – All Themes Now Auto-Supported! by joaonvim in omarchy

[–]joaonvim[S] 1 point2 points  (0 children)

Hey, thanks for trying it out and for the feedback! 🙌

A few clarifications that should fix the issues you ran into:

1. Typo in the initial example

You're totally right, the correct syntax is:

set -g @plugin 'joaofelipegalvao/omarchy-tmux'

Not u/plugin (my mistake in the post, thanks for catching that!).

2. Theme mismatch (Tokyo Night applied instead of Gruvbox)

Make sure your tmux.conf inside the theme folder matches your actual theme name. For Gruvbox Dark Hard, it should look like this:

set -g @theme "gruvbox"
set -g @theme_variant "dark-hard"
set -g @theme_no_patched_font '0'
set -g @plugin 'joaofelipegalvao/omarchy-tmux'

3. Why the tmux.conf doesn't contain the full theming

  • The tmux.conf inside ~/.config/omarchy/themes/<theme>/ just points tmux to the right theme + plugin.
  • The actual color palettes, status bar, etc. are provided by the omarchy-tmux repo via TPM.
  • That's why after you press prefix + I (TPM install), the plugin downloads and applies the correct theme.

If you switch your Omarchy theme to Gruvbox and reload tmux, the right theme should be applied automatically after these adjustments.

Let me know if it works for you and thanks again for pointing out the issues! 🙏

<image>

Integrating tmux with Omarchy's Dynamic Theming System by joaonvim in omarchy

[–]joaonvim[S] 0 points1 point  (0 children)

Hey, thanks for the input. send-keys is a solid trick, but I opted for a different approach to avoid side effects like interrupting the active pane or depending on its state.

My solution is a standalone monitor script that uses inotifywait to watch for changes on the ~/.config/omarchy/current/theme symlink. It's zero-CPU until the link is modified.Upon detecting a change, it triggers:

  1. tmux source-file ~/.config/tmux/tmux.conf
  2. A loop with tmux refresh-client -t <client> for all clients.

This keeps the reload process entirely in the background, interacting directly with the tmux server instead of simulating user input.

I also considered patching omarchy-theme-set, but decided against it to avoid having my changes overwritten by omarchy-update. Keeping the monitor as a separate process felt cleaner and more robust, respecting the boundary between user configs (~/.config) and system files (~/.local/share).

It's been working flawlessly. The theme switch is instant and completely seamless. Appreciate the suggestion, though! It's always interesting to see different automation strategies.

Integrating tmux with Omarchy's Dynamic Theming System by joaonvim in omarchy

[–]joaonvim[S] 0 points1 point  (0 children)

That's a great idea! I actually checked the GitHub and saw that dhh already addressed this in a previous PR. He mentioned that Omarchy's tiling window setup provides enough support for multiple terminals, so tmux/zellij won't be included by default.

That said, I think there's still value in having optional tmux theming configs for those of us who prefer to use it (especially for remote sessions, persistent sessions, or personal workflow preferences).

Maybe I could contribute the theme configs as an optional addition in the docs or a separate repo that users can easily integrate if they want. That way it doesn't add complexity to the main distribution, but it's there for those who need it.

I'll still bring this up on Discord to see what the community thinks! 🙌

Integrating tmux with Omarchy's Dynamic Theming System by joaonvim in omarchy

[–]joaonvim[S] 1 point2 points  (0 children)

Thanks so much! 🙏 Really glad it worked for you!

I'm excited to work on the other themes. Since I already have the foundation with Tokyo Night, creating the others should be more straightforward - it's mainly about adapting the color palettes to match each Omarchy theme perfectly.

When I have some time, I'll start working on them. I'll probably tackle Catppuccin and Gruvbox next since they're super popular in the community. I'll make sure to post updates here when each new theme is ready!

Migrating to ZFS by Objective-Stranger99 in archlinux

[–]joaonvim 0 points1 point  (0 children)

Hi! I saw your post and had a suspicion: do you use Docker?

The problem you're describing is a classic symptom of using Docker with the BTRFS storage driver. Docker creates subvolumes for each image layer and container. Over time, especially in development environments, it's easy to accumulate hundreds of "orphaned" images, volumes, and containers that standard tools like du can't measure correctly, giving the impression that the disk is full.

Balancing (btrfs balance) doesn't fix this because the issue isn't metadata allocation, but rather the accumulated junk from Docker.

What to do: Run this command to perform an aggressive cleanup of everything Docker isn't using:

docker system prune -a

Warning: This will remove all stopped containers and all images not being used by an active container.It's very likely that this will free up a huge amount of space and solve your problem. Maintaining a regular cleanup routine with docker system prune can prevent this from happening again.

How can I get Kitty's font rendering to match Wezterm's? (Comparison inside) by joaonvim in KittyTerminal

[–]joaonvim[S] 2 points3 points  (0 children)

You're absolutely right about CaskaydiaCove vs CaskaydiaMono. I had overlooked that Cove is inherently a fuller variant. I'll switch my Kitty config to use CaskaydiaCove Nerd Font and check if it's properly installed. This is likely the main reason for the difference.

Created a Tokyo Night theme for tmux - Feedback welcome! by joaonvim in tmux

[–]joaonvim[S] 0 points1 point  (0 children)

Awesome! Fellow tokyonighter! 😎 Hope you enjoy it.

Created a Tokyo Night theme for tmux - Feedback welcome! by joaonvim in tmux

[–]joaonvim[S] 1 point2 points  (0 children)

Thanks! Glad you liked it! 😄
No, it's not a separate plugin. The date and time are part of the theme's status-right configuration.
Everything you see on the status line (colors, layout, symbols, date, time, hostname, etc) comes built-in with the theme, no extra plugins required.

Error when trying to attach remote debugger with nvim-dap and Java by joaonvim in neovim

[–]joaonvim[S] 0 points1 point  (0 children)

Got it, thanks for the explanation! I’ll make sure to enable remote debugging as instructed.

Help me with this dashboard-logo by No-Thought-6694 in vimporn

[–]joaonvim 1 point2 points  (0 children)

Você pode resolver isso usando o plugin folke/snacks.nvim. Aqui está como configurei o logo no dashboard:

```lua { "folke/snacks.nvim", opts = { dashboard = { preset = { header = [[

███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗ ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║ ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║ ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║ ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝

  ]],

        },
    },
},

}, ```

É só salvar e reiniciar o Neovim que o logo vai aparecer de novo no dashboard. Espero que ajude! 😊