Catppuccin (Mocha): Uniforn Syntax Highlighting Across IDE's
Mon, Dec 22, 2025 in /coder/One theme to rule them all…
One theme to rule them all…
I’m still enjoying my Helix experience, as it enables a workflow that I think is quite cool. With my dev-on-server setup, I can’t believe how effective I can be even when using Termux on my phone, paired with my ssh-into-tmux-script.
This is what it looks like doing actual (expo) mobile development with Helix IDE from my mobile (via the termux app) while sitting in Oliver Sandwich:

While working on my expo app, I began to miss how WebStorm would automatically add closing tags, and update tag pairs as I renamed one of them, etc.
I’ve learnt a few methods to work with tags, which, for now, seem quite adequate.
Keen on using this machine in a ‘primarily Rust context’, I’m working through the process of adding the foundational packages and, following guides, updating the
underlying configuration.nix file and others.
One remarkable feature of NixOS is the atomic upgrades. Applying changes, I can easily roll them back to previously saved states. To summarise:
flake.nix file from one project to anotherI thought that I could replicate the nix-flake defined environment of one folder(project) by copying flake.nix and .envrc into a new folder. When I do that, I’m asked to run direnv allow on the new folder, but under a particular circumstance, something weird happens; you’ll get an error like this:
direnv: loading ~/proj/project-name/.envrc
direnv: using flake .
error: path '/nix/store/0cc..nm8-source/flake.nix' does not exist
I loved Vim; the keybindings, simplicity, and modal style usage. I could use plugins to achieve almost anything, enabling smooth workflows and tooling that others have pioneered.
However, as someone who jumps between frameworks, languages and projects, many past chosen plugins become redundant and forgotten. The last thing anyone needs is technical debt from their IDE, and so I entered a period of using JetBrains IDEs a couple of years ago when my role required me to focus on React.
Recently, I stumbled upon Helix IDE at the same time as Nix Flakes, and that spurred the realisation of this powerful but simple setup.
I like the idea of SSH’ing into a tmux session when doing work on a remote machine so that I can reconnect right where I left off.
However, I don’t like it when the internet connection is unstable, and you must reconnect whenever you drop off. Or, when I close my laptop for a couple of hours and open it back up to a crashed terminal emulator. I tried using mosh as I’ve done with IRC before, but I didn’t like how the terminal scrolling & copy/paste behaviour was affected unintuitively by mosh & tmux.