<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Direnv on buildx.sh</title><link>https://buildx.sh/tags/direnv/</link><description>Recent content in Direnv on buildx.sh</description><generator>Hugo</generator><language>en</language><copyright>© buildx.sh — built with effect, performance, and fun</copyright><lastBuildDate>Sat, 09 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://buildx.sh/tags/direnv/index.xml" rel="self" type="application/rss+xml"/><item><title>Auto-load a Nix flake dev shell with direnv</title><link>https://buildx.sh/snippets/nix-flake-dev-shell-with-direnv/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://buildx.sh/snippets/nix-flake-dev-shell-with-direnv/</guid><description>&lt;p&gt;A project&amp;rsquo;s tools should appear when you enter its directory and vanish when you leave. &lt;code&gt;direnv&lt;/code&gt; + &lt;code&gt;nix-direnv&lt;/code&gt; does exactly that — this &lt;code&gt;.envrc&lt;/code&gt; loads a named flake dev shell on &lt;code&gt;cd&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# .envrc — auto-load a named Nix flake dev shell.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Needs direnv + nix-direnv: https://github.com/nix-community/nix-direnv&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; ! has nix_direnv_version &lt;span style="color:#f92672"&gt;||&lt;/span&gt; ! nix_direnv_version 3.0.0; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; source_url &lt;span style="color:#e6db74"&gt;&amp;#34;https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.0/direnvrc&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg=&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Loads devShells.&amp;lt;system&amp;gt;.myshell — drop the suffix for the default shell.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;use flake .#myshell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Untracked local overrides, if any.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt; -f .envrc.local &lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; source_env .envrc.local
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Run &lt;code&gt;direnv allow&lt;/code&gt; once; after that the shell rebuilds itself whenever &lt;code&gt;flake.nix&lt;/code&gt; changes.&lt;/p&gt;</description></item></channel></rss>