<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="189431" data-post-id="189431">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="chulkilee" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/chulkilee/120/6207_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  chulkilee
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Elixir 1.11 is coming with <code>config/runtime.exs</code>  and <code>mix app.config</code>.</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://github.com/elixir-lang/elixir/releases/tag/v1.11.0-rc.0">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/elixir-lang/elixir/releases/tag/v1.11.0-rc.0" target="_blank" rel="noopener nofollow ugc">GitHub</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/344;"><img src="https://opengraph.githubassets.com/fa146b2ebb823dab6590ad7085532f59ed6950a175455552920a2faa7779acfa/elixir-lang/elixir/releases/tag/v1.11.0-rc.0" class="thumbnail" alt="" width="690" height="345"></div>

<h3><a href="https://github.com/elixir-lang/elixir/releases/tag/v1.11.0-rc.0" target="_blank" rel="noopener nofollow ugc">Release v1.11.0-rc.0 · elixir-lang/elixir</a></h3>

  <p>Checksums

Precompiled.zip SHA1: 5d70b6254d7a89930e09c85718d99deddd186092
Precompiled.zip SHA512: bc2bb21b5dd8fadc8bbd9b53ba676e31af3b13fcaca776ee0b461acef55964ee453fb7e1e95cc3c4bbfd12d6cd68c02034c...</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<aside class="onebox allowlistedgeneric" data-onebox-src="https://mix.hexdocs.pm/1.11.0-rc.0/Mix.Tasks.App.Config.html">
  <header class="source">

      <a href="https://mix.hexdocs.pm/1.11.0-rc.0/Mix.Tasks.App.Config.html" target="_blank" rel="noopener nofollow ugc">mix.hexdocs.pm</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://mix.hexdocs.pm/1.11.0-rc.0/Mix.Tasks.App.Config.html" target="_blank" rel="noopener nofollow ugc">mix app.config — Mix v1.11.0-rc.0</a></h3>



  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<blockquote>
<p>Loads and configures all registered apps.</p>
<p>This is done by loading <code>config/runtime.exs</code> if one exists.</p>
</blockquote>
<p>It means.. if we move config validation from when the app starts to <code>config/runtime.exs</code> .. we can use this task to check the config issue upfront.</p>
<p>For example, I usually have a helper function on supervisor to read config and pass it to child specs. That is only executed when the supervisor starts (so requires app start).</p>
<hr>
<p>Also… I recently found <a href="https://github.com/dashbitco/nimble_options" class="inline-onebox" rel="noopener nofollow ugc">GitHub - dashbitco/nimble_options: A tiny library for validating and documenting high-level options · GitHub</a> which is kind of related here.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="189431" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/runtime-configuration-library-with-casting-validation-etc-for-native-releases/29365/32">Post #31</a>
	                </div>
	            </div>
              <div id="likers-container-189431" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="189431"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #31"></div>
  </section>
</div>
    <div class="postbit" id="340525" data-post-id="340525">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="samrose" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/samrose/120/9675_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  samrose
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/hauleth" rel="nofollow">@hauleth</a> I realize this 4 years old, so sorry in advance if you did not want to pull old posts back from the dead, but I am also interested. At least, I am interested in dhall to elixir exs conf to be able to use dhall code to generate elixir exs confs.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="340525" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/runtime-configuration-library-with-casting-validation-etc-for-native-releases/29365/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-340525" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="340525"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #32"></div>
  </section>
</div>
    <div class="postbit" id="340532" data-post-id="340532">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="danj" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  danj
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>try jetenv you can configure everything from the environment with type support. i use it extensively in production. it has plenty of docs too!</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://hex.pm/packages/jetenv">
  <header class="source">
      <img src="https://hex.pm/images/hex-full-a8183c4f9adac71516516d107d402b18.svg?vsn=d" class="site-icon" alt="" width="136" height="120">

      <a href="https://hex.pm/packages/jetenv" target="_blank" rel="noopener nofollow">Hex</a>
  </header>

  <article class="onebox-body">
    <img width="160" height="160" src="https://hex.pm/images/favicon-160-3770bc59f1f8ba7656b4db5a1eacd8e3.png?vsn=d" class="thumbnail onebox-avatar" alt="">

<h3><a href="https://hex.pm/packages/jetenv" target="_blank" rel="noopener nofollow">jetenv</a></h3>

  <p>Full, single source runtime configuration from the ENV</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="340532" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/runtime-configuration-library-with-casting-validation-etc-for-native-releases/29365/34">Post #33</a>
	                </div>
	            </div>
              <div id="likers-container-340532" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="340532"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #33"></div>
  </section>
</div>
    <div class="postbit" id="387800" data-post-id="387800">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="gtcode" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/gtcode/120/234_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  gtcode
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Reviving this thread during a period of humble self-reflection in prep for serious refactoring efforts across various projects.</p>
<p>Here are a few libs that are being actively maintained:</p>
<p>In the past week: <a href="https://github.com/gmtprime/skogsra" rel="noopener nofollow ugc">skogsra</a></p>
<p>Two weeks ago: <a href="https://github.com/lud/nvir" rel="noopener nofollow ugc">nvir</a></p>
<p>Last commit Dec 2025: <a href="https://github.com/fireproofsocks/dotenvy" rel="noopener nofollow ugc">dotenvy</a></p>
<p>Vapor hasn’t seen commits in years. That’s not necessarily a disqualifier, but it would likely need refreshing for current Elixir.</p>
<p>Curious if anyone has thoughts on the above or any other libraries, or standard approaches.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387800" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/runtime-configuration-library-with-casting-validation-etc-for-native-releases/29365/35">Post #34</a>
	                </div>
	            </div>
              <div id="likers-container-387800" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387800"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>