Creating a portable nvim container
Portable Neovim and Docker shenanigans
How would you like to port your Neovim between different platforms and machines using a single token and command while knowing exactly how it will behave?
Most of my Docker containers have been running services using compose instead of being temporary execution environments.
Trying out Helix in an earlier article inspired me to containerize my Neovim setup. During this process, I learned a lot and had some aha moments.
Adapting to a split keyboard
Getting a “proper” keyboard
I bought a Scylla keyboard from Bastard keyboards.
I was initially looking at Kinesis Advantage, but due to pricing and shipping, I decided to go with the Scylla, and I’m happy with my choice.
Here are my thoughts after two weeks of using the Scylla.
Why a split keyboard
My main motivator is to reduce wrist strain and improve typing comfort. Secondary motivator is, of course, the cool factor.
Setting up a NixOS server in UpCloud
How to set up a NixOS server in UpCloud
This is not about Nix, but more of a tutorial on how I set up a server using UpCloud. I decided to document the steps I took to create a NixOS playground for myself.
Requirements
- UpCloud account
- SSH keys for secure access
- At least some Linux experience
Why UpCloud
Honestly, I just checked European Alternatives and chose UpCloud, because it’s Finnish.
Neovim - Customizable Helix alternative
This a continuation to my last article about Helix.
Being inspired, but I still came back
My brief run with Helix is coming to an end for now. After using Helix for around two weeks I started having an urge to bring my Neovim config up to speed instead of launching Helix.
What I gained from trying Helix was some much-needed perspective and joy to delve into my Neovim configuration. Instead of making large changes, I mostly went through my config again trying to discover things that I had missed or forgotten about.
Helix - Preconfigured Neovim alternative
Investigation time
Helix has been on my mind for a long time, but I never got around to it. It is time to fix that.
I’m doing this comparison between Helix and Neovim, which has been my editor of choice for a long time.
This document is WIP, so it might not be completely factually correct. I’m writing this while learning.
Should you?
Yes, even if you are a hardcore Vimmer I think you should try Helix.
When NetworkManager takes over
ProtonVPN kinda broke my WireGuard config and took down dnsmasq
It’s always DNS. Well, kinda, but not really.
Symptoms
My WireGuard connection was working, but I wasn’t able to access my services.
# Everything was normal both on the client and on the server
sudo wg show
Hopping on to the server, I quickly discovered that dnsmasq wasn’t running and would not start.
sudo systemctl restart dnsmasq.service
Job for dnsmasq.service failed because the control process exited with error code.
See "systemctl status dnsmasq.service" and "journalctl -xeu dnsmasq.service" for details.
# Relevant part of journalctl
journalctl -xeu dnsmasq.service
systemd-helper[6549]: dnsmasq: unknown interface wg0
dnsmasq[6549]: unknown interface wg0
dnsmasq[6549]: FAILED to start up
Finding out the issue
For reference, my server is running Ubuntu 24.04.
How I went from Debian/Gnome to Arch/Hyrpland
Going for Arch and Hyprland
It was time to do a fresh Linux install, not because of any specific reasons, but beause it was time to try something new.
Why
My previous setup ran Debian 12 with Gnome and it had served me well for around five months.
I had made Gnome window managerish by using custom shortcuts with run or raise scripts. First by using jumpapp and then by writing my own with ChatGPT.
Performance testing an IntelliJ plugin with JMH
Performance testing Fuzzier
The time has finally come. I want to create some performance metrics for Fuzzier.
Fuzzier is a file finder plugin for JetBrains editors inspired by Telescope for Nvim that I've been developing for a little over a year now.
First, I need a plan. Fuzzier is written in Kotlin and I'm a Java developer, so I'll be leaning into the tools that I know.
IdeaVim ideas and explanation
Configuring IdeaVim to be awesome
Why do I feel this is important?
Do you really know how good you can make IntelliJ using vim bindings and the IdeaVim plugin? It took me quite a long time before I understood what it actually was capable of.
I really enjoy NeoVim, but being mainly a Java developer it still cannot beat IntelliJ in my opinion. Although I do miss the fact that the terminal is a buffer in NeoVim.
Refactoring a large part of an IntelliJ plugin
Refactoring Fuzzier score calculation
Why would I do that?
I've been working with Fuzzier for over four months now, and it is getting closer to being at 1.0/feature ready. With good amount of other things and QoL changes done since its inception.
The file path and search string comparison/score calculation is one likely the most important feature of the plugin. Having the ability to tweak and modify the search results, so it works the best for each of us is important when using a file finder.