<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>huantian.dev</title>
    <link>https://huantian.dev/</link>
    <description>Recent content on huantian.dev</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <copyright>huantian (CC BY-SA 4.0)</copyright>
    <lastBuildDate>Wed, 22 May 2024 23:14:07 -0700</lastBuildDate>
    <atom:link href="https://huantian.dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Socials</title>
      <link>https://huantian.dev/socials/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://huantian.dev/socials/</guid>
      <description>&lt;h1 id=&#34;socials&#34;&gt;Socials&lt;/h1&gt;&#xA;&lt;p&gt;If you would like to contact me, the best places would be on one of the following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Matrix&lt;/strong&gt;: &lt;code&gt;huantian:huantian.dev&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Discord&lt;/strong&gt;: &lt;code&gt;huantian&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Email&lt;/strong&gt;: [Redacted for now]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Note that if I don&amp;rsquo;t recognize your Discord account, I will likely ignore your friend request. Instead, consider messaging me on Matrix with an informative initial message.&lt;/p&gt;&#xA;&lt;p&gt;I use the following services with varying levels of activity. Feel free to message me on any of them, though I may not respond on the less often used ones. Once again, I might not respond to friend requests from users I don&amp;rsquo;t recognize.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h1 id="socials">Socials</h1>
<p>If you would like to contact me, the best places would be on one of the following:</p>
<ul>
<li><strong>Matrix</strong>: <code>huantian:huantian.dev</code></li>
<li><strong>Discord</strong>: <code>huantian</code></li>
<li><strong>Email</strong>: [Redacted for now]</li>
</ul>
<p>Note that if I don&rsquo;t recognize your Discord account, I will likely ignore your friend request. Instead, consider messaging me on Matrix with an informative initial message.</p>
<p>I use the following services with varying levels of activity. Feel free to message me on any of them, though I may not respond on the less often used ones. Once again, I might not respond to friend requests from users I don&rsquo;t recognize.</p>
<p>Listed in no particular order:</p>
<ul>
<li><strong>Mastodon</strong>: <a href="https://fosstodon.org/@huantian"><code>huantian@fosstodon.org</code></a></li>
<li><strong>Twitter</strong>: <a href="https://twitter.com/huantian_"><code>huantian</code></a></li>
<li><strong>GitHub</strong>: <a href="https://github.com/huantianad"><code>huantianad</code></a></li>
<li><strong>GitLab</strong>: <a href="https://gitlab.com/huantian"><code>huantian</code></a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>A Tiny Dolphin Bug</title>
      <link>https://huantian.dev/blog/dolphin-show-items/</link>
      <pubDate>Wed, 22 May 2024 23:14:07 -0700</pubDate>
      <guid>https://huantian.dev/blog/dolphin-show-items/</guid>
      <description>&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Just as I post this, I figure out the issue! If you&amp;rsquo;re an internet user finding this and have the same issue of Dolphin opening up a new instance when opening directories, the fix is actually just in the Dolphin settings, under Configure Dolphin &amp;gt; Interface &amp;gt; Folders &amp;amp; Tabs &amp;gt; Opening Folders &amp;gt; Keep a single Dolphin window, opening folders in new tabs. In hindsight, this should&amp;rsquo;ve been clear to me, but I&amp;rsquo;m glad I found it now.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>EDIT</strong>: Just as I post this, I figure out the issue! If you&rsquo;re an internet user finding this and have the same issue of Dolphin opening up a new instance when opening directories, the fix is actually just in the Dolphin settings, under Configure Dolphin &gt; Interface &gt; Folders &amp; Tabs &gt; Opening Folders &gt; Keep a single Dolphin window, opening folders in new tabs. In hindsight, this should&rsquo;ve been clear to me, but I&rsquo;m glad I found it now.</p>
<p>Just wanted to write a blog post about a bug I found in Dolphin quite a while ago, which I&rsquo;ve reported here: <a href="https://bugs.kde.org/show_bug.cgi?id=448188">https://bugs.kde.org/show_bug.cgi?id=448188</a>.</p>
<p>A common action that applications might want to do is to open up a folder in whatever file manager you happen to use. This can be used to show you where, say, a file you just downloaded is, or where exactly the file you&rsquo;re editing in your text editor is. Often times, for these tasks, it&rsquo;s benificial to actually open up that folder and select exactly the file you want the user to pay attention to. That&rsquo;s exactly what the <code>ShowItems</code> method in the <code>org.freedesktop.FileManager1</code> DBus interface is for!</p>
<p>If you&rsquo;re unaware, DBus is a fancy way for applications on Linux to communicate with one another. In this case, file managers can implement this interface so applications know how to perform this action, and have it work across distros and desktop environements. You can find more info on this specific interface and method here: <a href="https://www.freedesktop.org/wiki/Specifications/file-manager-interface/">https://www.freedesktop.org/wiki/Specifications/file-manager-interface/</a>.</p>
<p>As an aside, why don&rsquo;t desktop portals have a way of doing this? We can tell the file manager to open up to a specific place, yes, but not a specific folder. It seems that for Dolphin though, it suffers the same bug I&rsquo;ll describe below when you show a folder through portals too. Perhaps this bug is already reported under there, I&rsquo;ll have to look.</p>
<p>The actual bug happens when you try and show a folder when Dolphin is already open, and it needs to open up a new tab to show you this location you tell it to. If the file you&rsquo;re trying to show isn&rsquo;t in a folder that&rsquo;s already open, instead of opening up that folder in the existing Dolphin window, it will instead create a new Dolphin window, sometimes with an old Dolphin state, and show you the file there!</p>
<p>As you can expect, this is quite annoying. It&rsquo;s also been quite a long standing bug for me, and I&rsquo;m not sure if it&rsquo;s due to a configuration error on my end at this point. I&rsquo;ll be looking for more bug reports of this issue, but for now, I&rsquo;ll simply cope with this bug and maybe try and fix it some day myself.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Unity3D Development on NixOS with Rider</title>
      <link>https://huantian.dev/blog/unity3d-rider-nixos/</link>
      <pubDate>Wed, 06 Sep 2023 19:32:29 -0700</pubDate>
      <guid>https://huantian.dev/blog/unity3d-rider-nixos/</guid>
      <description>&lt;p&gt;The joys of Unity&amp;hellip; how can such a big and popular game engine be so finnicky? Even if I knew the answer, this probably is not the place to put it. Instead, let&amp;rsquo;s talk about how we can get game-making on the much more pleasant NixOS!&lt;/p&gt;&#xA;&lt;p&gt;Because we&amp;rsquo;re using this wonderfully esoteric Linux distribution, the recommended installation methods for both Unity Hub and JetBrains Rider will not work. Thankfully, both the packages we&amp;rsquo;ll need are packaged in Nixpkgs and ready for you to use!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The joys of Unity&hellip; how can such a big and popular game engine be so finnicky? Even if I knew the answer, this probably is not the place to put it. Instead, let&rsquo;s talk about how we can get game-making on the much more pleasant NixOS!</p>
<p>Because we&rsquo;re using this wonderfully esoteric Linux distribution, the recommended installation methods for both Unity Hub and JetBrains Rider will not work. Thankfully, both the packages we&rsquo;ll need are packaged in Nixpkgs and ready for you to use!</p>
<p>Well, mostly. We&rsquo;ll want to do a bit of configuring to make sure that everything is working properly.</p>
<h2 id="unity-hub">Unity Hub</h2>
<p><a href="https://unity.com/unity-hub">Unity Hub</a> is the program that Unity3D recommends you use for installing different versions of Unity3D on your systems. The latest version is available in Nixpkgs as <a href="https://search.nixos.org/packages?channel=unstable&amp;show=unityhub"><code>unityhub</code></a> and can be installed by adding it to your <code>environment.systemPackages</code> like any other program:</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nix" data-lang="nix"><span class="line"><span class="ln">1</span><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl">  <span class="n">environment</span><span class="o">.</span><span class="n">systemPackages</span> <span class="o">=</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">    <span class="n">pkgs</span><span class="o">.</span><span class="n">unityhub</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">  <span class="p">];</span>
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><p>Once you have it installed, you can simply launch it, log in, and use it as you would on any other Linux distribution!</p>
<p>This derivation can also be overridden if you need any other system libraries or packages available for your Unity game. For example, I have this in my system configuration for development on <a href="https://rhythmdr.com/">Rhythm Doctor</a>:</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nix" data-lang="nix"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">  <span class="n">environment</span><span class="o">.</span><span class="n">systemPackages</span> <span class="o">=</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">    <span class="p">(</span><span class="n">pkgs</span><span class="o">.</span><span class="n">unityhub</span><span class="o">.</span><span class="n">override</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">      <span class="n">extraPkgs</span> <span class="o">=</span> <span class="n">fhsPkgs</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">        <span class="n">fhsPkgs</span><span class="o">.</span><span class="n">harfbuzz</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">        <span class="n">fhsPkgs</span><span class="o">.</span><span class="n">libogg</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">      <span class="p">];</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">    <span class="p">})</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">  <span class="p">];</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><h3 id="openssl-woes">OpenSSL Woes</h3>
<p>Unity Editor versions before 2022 depend on an older version of OpenSSL that is now marked as insecure. Running any of those versions without any tweaks will give the annoying error message <code>No usable version of libssl was found</code> and prevent you from running your game.</p>
<p>The ideal workaround would be to update your Unity editor to a version that works with OpenSSL 3, but if that&rsquo;s not a solution, for now you can manually add the insecure version of OpenSSL to your Unity Hub:</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nix" data-lang="nix"><span class="line"><span class="ln">1</span><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl">  <span class="n">environment</span><span class="o">.</span><span class="n">systemPackages</span> <span class="o">=</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">    <span class="p">(</span><span class="n">pkgs</span><span class="o">.</span><span class="n">unityhub</span><span class="o">.</span><span class="n">override</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">      <span class="n">extraLibs</span> <span class="o">=</span> <span class="n">fhsPkgs</span><span class="p">;</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln">5</span><span class="cl">        <span class="n">fhsPkgs</span><span class="o">.</span><span class="n">openssl_1_1</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl">      <span class="p">];</span>
</span></span><span class="line"><span class="ln">7</span><span class="cl">    <span class="p">})</span>
</span></span><span class="line"><span class="ln">8</span><span class="cl">  <span class="p">];</span>
</span></span><span class="line"><span class="ln">9</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><p>See <a href="https://github.com/NixOS/nixpkgs/issues/205019">this GitHub issue</a> for more information.</p>
<h3 id="login-page-not-opening">Login page not opening?</h3>
<p>Unity Hub is packaged in a FHS environment, which causes a bug where <code>xdg-open</code> simply does not work. This program is often used to open pages in the users browser, such as what Unity Hub does in order to allow you to sign in. To work around this, we can use the <code>xdgOpenUsePortal</code> option to enable an alternate implementation that works:</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nix" data-lang="nix"><span class="line"><span class="ln">1</span><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl">  <span class="n">xdg</span><span class="o">.</span><span class="n">portal</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">    <span class="n">enable</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">    <span class="n">xdgOpenUsePortal</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">5</span><span class="cl">  <span class="p">};</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><p>See <a href="https://github.com/NixOS/nixpkgs/issues/237581">this issue</a> and <a href="https://github.com/NixOS/nixpkgs/issues/160923">this broader issue</a> for more info.</p>
<h2 id="jetbrains-rider">JetBrains Rider</h2>
<p>JetBrains recommends using JetBrains Toolbox in order to install Rider, and Toolbox is available in Nixpkgs. I personally have not used this much, but it should work if you prefer the traditional method of installing JetBrains products.</p>
<p>Alternatively, you can use the version of Rider directly provided by Nixpkgs at <code>jetbrains.rider</code>. This will require some tweaking to get it to work perfectly with the Unity Editor integration though.</p>
<p>The first step is to add some extra tools and libraries to Rider&rsquo;s <code>PATH</code> and <code>LD_LIBRARY_PATH</code>, and the second is to modify Rider&rsquo;s file structure to match what the Unity plugin expects:</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nix" data-lang="nix"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="k">let</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">  <span class="n">extra-path</span> <span class="o">=</span> <span class="k">with</span> <span class="n">pkgs</span><span class="p">;</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">    <span class="n">dotnetCorePackages</span><span class="o">.</span><span class="n">sdk_6_0</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">    <span class="n">dotnetPackages</span><span class="o">.</span><span class="n">Nuget</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">    <span class="n">mono</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">    <span class="n">msbuild</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">    <span class="c1"># Add any extra binaries you want accessible to Rider here</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">  <span class="p">];</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl">  <span class="n">extra-lib</span> <span class="o">=</span> <span class="k">with</span> <span class="n">pkgs</span><span class="p">;[</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">    <span class="c1"># Add any extra libraries you want accessible to Rider here</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">  <span class="p">];</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl">  <span class="n">rider</span> <span class="o">=</span> <span class="n">pkgs</span><span class="o">.</span><span class="n">jetbrains</span><span class="o">.</span><span class="n">rider</span><span class="o">.</span><span class="n">overrideAttrs</span> <span class="p">(</span><span class="n">attrs</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl">    <span class="n">postInstall</span> <span class="o">=</span> <span class="s1">&#39;&#39;
</span></span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="s1">      # Wrap rider with extra tools and libraries
</span></span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="s1">      mv $out/bin/rider $out/bin/.rider-toolless
</span></span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="s1">      makeWrapper $out/bin/.rider-toolless $out/bin/rider \
</span></span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="s1">        --argv0 rider \
</span></span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="s1">        --prefix PATH : &#34;</span><span class="si">${</span><span class="n">lib</span><span class="o">.</span><span class="n">makeBinPath</span> <span class="n">extra-path</span><span class="si">}</span><span class="s1">&#34; \
</span></span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="s1">        --prefix LD_LIBRARY_PATH : &#34;</span><span class="si">${</span><span class="n">lib</span><span class="o">.</span><span class="n">makeLibraryPath</span> <span class="n">extra-lib</span><span class="si">}</span><span class="s1">&#34;
</span></span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="s1">
</span></span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="s1">      # Making Unity Rider plugin work!
</span></span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="s1">      # The plugin expects the binary to be at /rider/bin/rider,
</span></span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="s1">      # with bundled files at /rider/
</span></span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="s1">      # It does this by going up two directories from the binary path
</span></span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="s1">      # Our rider binary is at $out/bin/rider, so we need to link $out/rider/ to $out/
</span></span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="s1">      shopt -s extglob
</span></span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="s1">      ln -s $out/rider/!(bin) $out/
</span></span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="s1">      shopt -u extglob
</span></span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="s1">    &#39;&#39;</span> <span class="o">+</span> <span class="n">attrs</span><span class="o">.</span><span class="n">postInstall</span> <span class="n">or</span> <span class="s2">&#34;&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl">  <span class="p">});</span>
</span></span><span class="line"><span class="ln">33</span><span class="cl"><span class="k">in</span>
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="ln">35</span><span class="cl">  <span class="n">environment</span><span class="o">.</span><span class="n">systemPackages</span> <span class="o">=</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln">36</span><span class="cl">    <span class="n">rider</span>
</span></span><span class="line"><span class="ln">37</span><span class="cl">  <span class="p">];</span>
</span></span><span class="line"><span class="ln">38</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><p>In addition, you&rsquo;ll need to create a dummy <code>.desktop</code> file in <code>.local/share</code> to allow the extension to find the application. (This is because this is where JetBrains Toolbox would create a <code>.desktop</code> file for the application). You can do this via home-manager if you&rsquo;d wish:</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nix" data-lang="nix"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># Unity Rider plugin looks here for a .desktop file,</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="c1"># which it uses to find the path to the rider binary.</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">  <span class="n">environment</span><span class="o">.</span><span class="n">systemPackages</span> <span class="o">=</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">    <span class="n">rider</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">  <span class="p">];</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">  <span class="n">home-manager</span><span class="o">.</span><span class="n">users</span><span class="o">.</span><span class="n">huantian</span><span class="o">.</span><span class="n">home</span><span class="o">.</span><span class="n">file</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">    <span class="s2">&#34;.local/share/applications/jetbrains-rider.desktop&#34;</span><span class="o">.</span><span class="n">source</span> <span class="o">=</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">      <span class="k">let</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">        <span class="n">desktopFile</span> <span class="o">=</span> <span class="n">pkgs</span><span class="o">.</span><span class="n">makeDesktopItem</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">          <span class="n">name</span> <span class="o">=</span> <span class="s2">&#34;jetbrains-rider&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl">          <span class="n">desktopName</span> <span class="o">=</span> <span class="s2">&#34;Rider&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl">          <span class="n">exec</span> <span class="o">=</span> <span class="s2">&#34;</span><span class="se">\&#34;</span><span class="si">${</span><span class="n">rider</span><span class="si">}</span><span class="s2">/bin/rider</span><span class="se">\&#34;</span><span class="s2">&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl">          <span class="n">icon</span> <span class="o">=</span> <span class="s2">&#34;rider&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl">          <span class="n">type</span> <span class="o">=</span> <span class="s2">&#34;Application&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl">          <span class="c1"># Don&#39;t show desktop icon in search or run launcher</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">          <span class="n">extraConfig</span><span class="o">.</span><span class="n">NoDisplay</span> <span class="o">=</span> <span class="s2">&#34;true&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl">        <span class="p">};</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl">      <span class="k">in</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl">      <span class="s2">&#34;</span><span class="si">${</span><span class="n">desktopFile</span><span class="si">}</span><span class="s2">/share/applications/jetbrains-rider.desktop&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl">  <span class="p">};</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><h2 id="wrap-up">Wrap-up</h2>
<p>That&rsquo;s all you should need to get started for making games on NixOS! As always, if there are any issues or improvements that you notice could be made, feel free to let me know.</p>
<p>I&rsquo;ll also link to the relevant <a href="https://github.com/huantianad/nixos-config/blob/master/modules/dev/unity.nix">Unity Hub</a> and <a href="https://github.com/huantianad/nixos-config/blob/master/modules/editors/rider.nix">Rider</a> configs in my personal NixOS config for reference.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
