<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Zellij on 万屋猫Labs</title><link>https://yn-labs.com/en/tags/zellij/</link><description>Recent content in Zellij on 万屋猫Labs</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 04 Jul 2026 10:00:00 +0900</lastBuildDate><atom:link href="https://yn-labs.com/en/tags/zellij/index.xml" rel="self" type="application/rss+xml"/><item><title>CI for dotfiles, Too — Verifying a Destructive Installer's Idempotency in Both an Ubuntu and a Kali Role</title><link>https://yn-labs.com/en/posts/dotfiles-ci-idempotency/</link><pubDate>Sat, 04 Jul 2026 10:00:00 +0900</pubDate><guid>https://yn-labs.com/en/posts/dotfiles-ci-idempotency/</guid><description>&lt;h2 id="the-day-my-dev-environment-stops-being-reproducible"&gt;The Day My Dev Environment Stops Being Reproducible&lt;/h2&gt;
&lt;p&gt;I keep my development environment in a single script. Shell configuration, prompt, terminal multiplexer, language runtimes, and cloud CLIs all get installed in one shot with &lt;code&gt;./setup_env.sh&lt;/code&gt;. It ended up at 1,358 lines. On a new machine, or after reinstalling the OS, the same environment comes right back. It&amp;rsquo;s convenient.&lt;/p&gt;
&lt;p&gt;Convenient, but one worry remained. Now &lt;strong&gt;I have no way to notice when that script itself breaks&lt;/strong&gt;. If I accidentally write something that only works on one of the two operating systems, I won&amp;rsquo;t find out until the next time I touch that machine. If the routine that appends to a config file corrupts an existing &lt;code&gt;.zshrc&lt;/code&gt;, I only notice after the accident has already happened. By consolidating manual work into a script, I&amp;rsquo;ve now entrusted the entire reproducibility of my environment to that one script.&lt;/p&gt;</description></item></channel></rss>