<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tools on Sam's Blog</title><link>https://blog.samplayskeys.com/categories/tools/</link><description>Recent content in Tools on Sam's Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 01 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.samplayskeys.com/categories/tools/index.xml" rel="self" type="application/rss+xml"/><item><title>Faster Hack Fonts</title><link>https://blog.samplayskeys.com/p/faster-hack-fonts/</link><pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate><guid>https://blog.samplayskeys.com/p/faster-hack-fonts/</guid><description>&lt;p&gt;I rage created a new repo on my Github, all because I couldn&amp;rsquo;t remember how the heck to install a machine-wide font.&lt;/p&gt;&#10;&lt;p&gt;Picture this: it&amp;rsquo;s 2 AM, I&amp;rsquo;m setting up a new development environment, and I just want to install the Hack font because—let&amp;rsquo;s be honest—it&amp;rsquo;s the only monospace font that doesn&amp;rsquo;t make my ADHD brain want to set everything on fire. Simple request, right?&lt;/p&gt;&#10;&lt;h2 id="the-font-installation-dance-of-death"&gt;The Font Installation Dance of Death&#10;&lt;/h2&gt;&lt;p&gt;Wrong. So very wrong.&lt;/p&gt;&#10;&lt;p&gt;First, I have to go to the official Hack repository on GitHub. Then I need to navigate through their releases, find the right version, download a ZIP file that&amp;rsquo;s named something like &amp;ldquo;hack-v3.003-ttf.zip&amp;rdquo; (which, by the way, tells me nothing about whether this includes all the variants I need). Then I extract it, and now I have a folder full of individual TTF files that I need to manually copy to &lt;code&gt;/usr/share/fonts/truetype/&lt;/code&gt; or &lt;code&gt;~/.local/share/fonts/&lt;/code&gt; depending on whether I want system-wide or user-local installation.&lt;/p&gt;&#10;&lt;p&gt;But wait, there&amp;rsquo;s more! Now I need to run &lt;code&gt;fc-cache -f -v&lt;/code&gt; to update the font cache. And if I&amp;rsquo;m on macOS, it&amp;rsquo;s a different dance entirely—drag files to Font Book, or copy them to &lt;code&gt;/Library/Fonts/&lt;/code&gt;, and pray that the system actually picks them up.&lt;/p&gt;&#10;&lt;p&gt;By the time I finally had Hack installed and working, I was wide awake, frustrated, and thinking: &amp;ldquo;There has to be a better way.&amp;rdquo;&lt;/p&gt;&#10;&lt;h2 id="the-git-clone-epiphany"&gt;The Git Clone Epiphany&#10;&lt;/h2&gt;&lt;p&gt;See, here&amp;rsquo;s the thing about my ADHD brain—it loves patterns. And I realized I was doing this same font installation dance every time I set up a new machine, every time I spun up a new Docker container for development, every time I helped a colleague get their environment configured.&lt;/p&gt;&#10;&lt;p&gt;And then it hit me: what if installing fonts could be as simple as cloning a repository?&lt;/p&gt;&#10;&lt;p&gt;What if, instead of all that manual downloading and extracting and copying, you could just open MacOS Terminal and run:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /Library/Fonts &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git clone https://github.com/SamPlaysKeys/hack-fonts.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;Or, if it was on a Linux machine like my RHEL10 dev instance:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo git clone https://github.com/SamPlaysKeys/hack-fonts.git /usr/share/fonts/hack-fonts &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo fc-cache -f -v&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;That&amp;rsquo;s it. One command. Boom. Fonts installed.&lt;/p&gt;&#10;&lt;h2 id="building-the-solution-because-i-apparently-hate-myself"&gt;Building the Solution (Because I Apparently Hate Myself)&#10;&lt;/h2&gt;&lt;p&gt;So naturally, instead of going to bed like a normal person, I built exactly that.&lt;/p&gt;&#10;&lt;p&gt;I created &lt;a class="link" href="https://github.com/SamPlaysKeys/hack-fonts" target="_blank" rel="noopener"&#10; &gt;https://github.com/SamPlaysKeys/hack-fonts&lt;/a&gt; This is a repo that&amp;rsquo;s literally just the Hack font family organized in a way that makes installation brain-dead simple.&lt;/p&gt;&#10;&lt;p&gt;The structure is pretty straightforward:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 2&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 3&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 4&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 5&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 6&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 7&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 8&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 9&#10;&lt;/span&gt;&lt;span class="lnt"&gt;10&#10;&lt;/span&gt;&lt;span class="lnt"&gt;11&#10;&lt;/span&gt;&lt;span class="lnt"&gt;12&#10;&lt;/span&gt;&lt;span class="lnt"&gt;13&#10;&lt;/span&gt;&lt;span class="lnt"&gt;14&#10;&lt;/span&gt;&lt;span class="lnt"&gt;15&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;hack&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;fonts&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;ttf&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="c1"&gt;# Original Hack TTF files&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;Hack&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Regular&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ttf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;Hack&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Bold&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ttf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;Hack&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Italic&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ttf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="n"&gt;Hack&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;BoldItalic&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ttf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;otf&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="c1"&gt;# Nerd Font variants with extra glyphs&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;HackNerdFont&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Regular&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;otf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;HackNerdFont&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Bold&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;otf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;HackNerdFont&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Italic&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;otf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="n"&gt;HackNerdFont&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;BoldItalic&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;otf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="c1"&gt;# Web font files for projects&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;demo&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;html&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;stylesheet&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;css&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="o"&gt;*.&lt;/span&gt;&lt;span class="n"&gt;woff&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;woff2&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;The beautiful thing is that when you clone this directly into your system&amp;rsquo;s font directory, everything just works. The OS font system picks up the files automatically, and you&amp;rsquo;re done.&lt;/p&gt;&#10;&lt;h2 id="the-but-wait-theres-more-problem"&gt;The &amp;ldquo;But Wait, There&amp;rsquo;s More&amp;rdquo; Problem&#10;&lt;/h2&gt;&lt;p&gt;Of course, because I have ADHD and apparently can&amp;rsquo;t do anything halfway, I didn&amp;rsquo;t stop at just the basic TTF files. I also included the Nerd Font variants—you know, the ones with all the extra glyphs for terminal icons and PowerLine symbols and all that jazz that makes your terminal look like something from the future.&lt;/p&gt;&#10;&lt;p&gt;And then I thought, &amp;ldquo;You know what developers also need? Web fonts.&amp;rdquo; So I threw in WOFF and WOFF2 versions with a ready-to-use CSS file. Because why solve one problem when you can solve three?&lt;/p&gt;&#10;&lt;p&gt;I even built a demo page at &lt;a class="link" href="https://samplayskeys.com/shared/2025/hack_font_demo.html" target="_blank" rel="noopener"&#10; &gt;samplayskeys.com/shared/2025/hack_font_demo.html&lt;/a&gt; so you can see all the variants in action before installing anything.&lt;/p&gt;&#10;&lt;h2 id="the-attribution-thing-because-im-not-a-monster"&gt;The Attribution Thing (Because I&amp;rsquo;m Not a Monster)&#10;&lt;/h2&gt;&lt;p&gt;Now, here&amp;rsquo;s where the responsible adult in me had to step in.&#10;Christopher Simpkins created the Hack font based on Bitstream Vera Sans Mono. It&amp;rsquo;s got proper open source licensing, and I wanted to make absolutely sure I wasn&amp;rsquo;t stepping on anyone&amp;rsquo;s toes.&lt;/p&gt;&#10;&lt;p&gt;As a way to do this properly, I included all the original license files, attribution documents, and links back to the official repository at &lt;a class="link" href="https://github.com/source-foundry/Hack" target="_blank" rel="noopener"&#10; &gt;source-foundry/Hack&lt;/a&gt;. This isn&amp;rsquo;t about taking credit for someone else&amp;rsquo;s work—it&amp;rsquo;s about making that excellent work more accessible.&lt;/p&gt;&#10;&lt;p&gt;Think of it like&amp;hellip; a font delivery service. The original creators did the hard work of designing beautiful, readable monospace characters. I just figured out a more convenient way to get them onto your machine.&lt;/p&gt;&#10;&lt;h2 id="the-broader-point-about-developer-experience"&gt;The Broader Point About Developer Experience&#10;&lt;/h2&gt;&lt;p&gt;The thing is, this isn&amp;rsquo;t really about fonts, is it? It&amp;rsquo;s about all the tiny friction points in our development workflows that I just&amp;hellip; accept. Because that&amp;rsquo;s how it&amp;rsquo;s always been done.&lt;/p&gt;&#10;&lt;p&gt;I will spend hours configuring development environments, manually downloading and installing tools, copying config files around, and act like this is normal. Like it&amp;rsquo;s just the cost of doing business as a developer.&lt;/p&gt;&#10;&lt;p&gt;But my ADHD brain refuses to accept &amp;ldquo;that&amp;rsquo;s just how it is&amp;rdquo; as an answer. Every manual step is a place where I&amp;rsquo;m going to get distracted, make a mistake, or just give up and use a suboptimal default because the proper setup is too much friction.&lt;/p&gt;&#10;&lt;p&gt;Font installation is just one example. How many times have you needed to set up a new machine and spent half a day just getting your terminal to look and feel the way you want it? How many times have you helped a new team member and watched them struggle through the same setup steps you&amp;rsquo;ve done dozens of times?&lt;/p&gt;&#10;&lt;h2 id="the-philosophy-of-small-improvements"&gt;The Philosophy of Small Improvements&#10;&lt;/h2&gt;&lt;p&gt;I&amp;rsquo;m not claiming this repository is going to change the world. It&amp;rsquo;s not revolutionary technology. It&amp;rsquo;s just&amp;hellip; slightly better than the status quo.&lt;/p&gt;&#10;&lt;p&gt;But you know what? Sometimes that&amp;rsquo;s enough. Sometimes making something go from &amp;ldquo;annoying and manual&amp;rdquo; to &amp;ldquo;one command and done&amp;rdquo; is a meaningful improvement, even if it&amp;rsquo;s not going to win any innovation awards.&lt;/p&gt;&#10;&lt;p&gt;The idealist in me believes that if we can eliminate enough of these small friction points, we can spend more time on the work that actually matters. The jaded industry veteran in me knows that for every problem we solve, three new ones will appear.&lt;/p&gt;&#10;&lt;p&gt;But I&amp;rsquo;d rather be solving problems than just complaining about them.&lt;/p&gt;&#10;&lt;h2 id="the-simple-install-commands"&gt;The Simple Install Commands&#10;&lt;/h2&gt;&lt;p&gt;So here&amp;rsquo;s how it works in practice:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;macOS (system-wide):&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo git clone https://github.com/SamPlaysKeys/hack-fonts.git /Library/Fonts/hack-fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;macOS (user-only):&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/SamPlaysKeys/hack-fonts.git ~/Library/Fonts/hack-fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Linux (system-wide):&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo git clone https://github.com/SamPlaysKeys/hack-fonts.git /usr/share/fonts/hack-fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo fc-cache -f -v&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Linux (user-only):&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p ~/.local/share/fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/SamPlaysKeys/hack-fonts.git ~/.local/share/fonts/hack-fonts&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fc-cache -f -v&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;That&amp;rsquo;s it. No ZIP files to download. No manual extraction. No hunting through folder structures to find the right files. Just clone and go.&lt;/p&gt;&#10;&lt;h2 id="try-it-out-or-dont-im-not-your-boss"&gt;Try It Out (Or Don&amp;rsquo;t, I&amp;rsquo;m Not Your Boss)&#10;&lt;/h2&gt;&lt;p&gt;If any of this resonates with you, go ahead and try the hack-fonts repository. The worst-case scenario is that you waste thirty seconds cloning a repository. The best-case scenario is that you never have to manually install fonts again.&lt;/p&gt;&#10;&lt;p&gt;And if you find issues, or have ideas for improvement, or want to extend this approach to other tools—well, that&amp;rsquo;s what GitHub is for, right?&lt;/p&gt;&#10;&lt;p&gt;Because here&amp;rsquo;s the thing: I built this for me, to solve my own font installation frustrations. But if it helps other developers avoid the same 2 AM font configuration rage, then maybe we&amp;rsquo;ve made the world slightly less annoying.&lt;/p&gt;&#10;&lt;p&gt;And in a world full of complex problems, sometimes making things slightly less annoying is a pretty good day&amp;rsquo;s work.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;em&gt;Check out the &lt;a class="link" href="https://github.com/SamPlaysKeys/hack-fonts" target="_blank" rel="noopener"&#10; &gt;hack-fonts repository&lt;/a&gt; on GitHub, or try the &lt;a class="link" href="https://samplayskeys.com/shared/2025/hack_font_demo.html" target="_blank" rel="noopener"&#10; &gt;live font demo&lt;/a&gt; to see all the variants in action.&lt;/em&gt;&lt;/p&gt;&#10;</description></item></channel></rss>