Budiman JoJo

Life Journey of My Geeky Needs.

The Pain and Peculiarity of NixOS Networking with systemd-networkd

2025-03-06 6 min read Linux Networking Systemd Budimanjojo

Setting up networking on NixOS with systemd-networkd should, in theory, be a straightforward and declarative process. Just define your network configurations in Nix, let systemd-networkd handle the interfaces, and enjoy a seamless, reproducible setup. But reality hits differently. My journey with systemd-networkd on NixOS has been a mix of frustration, debugging marathons, and the occasional victory that feels more like luck than mastery. In this article, I’ll go over some of the quirks I’ve encountered, the pitfalls that made me question my sanity, and the workarounds that (sometimes) saved the day.

Continue reading

My Journey Containerizing Fullstack Java GUI App

2024-02-01 7 min read Linux Docker Container Budimanjojo

Do you find yourself stuck with an outdated application, due to the absence of viable alternatives or work requirements? Well, you’re not alone. In this blog post, I’ll share my experience dealing with an old Java application that not only require an obsolete version but also demanded a specific environment setup, including a Postgres server and a CUPS server. To liberate my system from these complexity, I embarked on the journey of containerizing the entire stack. Join me as I recount the challenges faced and the valuable lessons learned along the way.

Continue reading

How I Write Kubernetes Manifests

While tools like Helm and kustomize can significantly reduce the amount of manual Kubernetes manifests writing, it’s often impossible to completely avoid it (even (kustomization.yaml file is itself a Kubernetes manifest). For instance, you may need to create a basic ingress because the chart you’re using doesn’t provide a template for it, or generate a certificate for your domain with cert-manager. In this post, I’ll describe how I leverage VSCode snippets and yaml-language-server to write Kubernetes manifests.

Continue reading

Neovim Is Awesome

neovim-is-awesome

I was a long time Vim user, long before Neovim was born. I was sold to Neovim when CoC came out and there were some features that don’t work with Vim. At that time, Neovim was marketed as Vim but with more sane default experience. As time goes by, now Neovim is more than just Vim with better defaults. In this post, I will share my two cents on why Neovim is so much better than Vim, at least for me.

Continue reading

How I GitOps Home Assistant Configurations

2021-11-04 4 min read Kubernetes Linux Self Hosted Budimanjojo

home assistant gitops

I always love the idea of GitOps, where everything I have in a git repo represents the current state of my application. But not everything are made for GitOps, so we have to sort of “make it work”. In this post, I will show you how I manage to GitOps my Home Assistant configurations. Spoiler, this is hacky and messy at the same time, so please bear this in mind before continuing.

Continue reading
Older posts