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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It is typical to use env in portable scripts  to locate the executable, in this case “bash” on the users path.</p>
<pre data-code-wrap="sh"><code class="lang-sh">#!/usr/bin/env bash
</code></pre>
<p>It probably should be fixed upstream.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310305" 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/neovim-elixir-setup-configuration-from-scratch-guide/46310/42">Post #41</a>
	                </div>
	            </div>
              <div id="likers-container-310305" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310305"
                     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 #41"></div>
  </section>
</div>
    <div class="postbit" id="310309" data-post-id="310309">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yeah that, but the greatest problem is the use of bash syntax but specifying (I assume) Bourne shell in the hashbang</p>
<p>If everything else is intended to work with sh - the upstream fix would perhaps be to use a ‘sh’ replacement for ‘&lt;&lt;&lt;’-operator.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310309" 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/neovim-elixir-setup-configuration-from-scratch-guide/46310/43">Post #42</a>
	                </div>
	            </div>
              <div id="likers-container-310309" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310309"
                     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 #42"></div>
  </section>
</div>
    <div class="postbit" id="314407" data-post-id="314407">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi there! Thanks for the guide, it was really useful. I’m relatively new to Elixir and Phoenix and I’m seriously considering them for my next big project… The ecosystem looks fantastic!</p>
<p>Anyways, if someone is using <code>credo</code> for linting I’d recommend using the nvim packages <code>"mfussenegger/nvim-lint"</code>, <code>"dgagn/diagflow.nvim"</code> and <code>"folke/trouble.nvim"</code>.</p>
<p>Together they provide a very nice coding experience.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="314407" 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/neovim-elixir-setup-configuration-from-scratch-guide/46310/44">Post #43</a>
	                </div>
	            </div>
              <div id="likers-container-314407" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="314407"
                     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 #43"></div>
  </section>
</div>
    <div class="postbit" id="314448" data-post-id="314448">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ve never heard of any of these packages. I’m going to look into them, but would you mind explaining why they are particularly useful when paired with Credo?</p>
<p><a href="https://github.com/mfussenegger/nvim-lint" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/mfussenegger/nvim-lint</a></p>
<p><a href="https://github.com/dgagn/diagflow.nvim" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/dgagn/diagflow.nvim</a></p>
<p><a href="https://github.com/folke/trouble.nvim" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/folke/trouble.nvim</a></p>
<p>EDIT: So I use <a href="https://github.com/neoclide/coc.nvim" rel="noopener nofollow ugc">coc.nvim</a> and <a href="https://github.com/elixir-lsp/coc-elixir" rel="noopener nofollow ugc">coc-elixir</a>. I’ve been looking to ditch CoC for a while (because why have some bloated npm mess running in the background when I could avoid that), but it’s already set up so so I’ve kept it around. Plus, holy hell are there ever a lot of neo/vim plugins related to LSP/IDE stuff.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="314448" 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/neovim-elixir-setup-configuration-from-scratch-guide/46310/45">Post #44</a>
	                </div>
	            </div>
              <div id="likers-container-314448" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="314448"
                     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 #44"></div>
  </section>
</div>
    <div class="postbit" id="314456" data-post-id="314456">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<ul>
<li><code>nvim-lint</code> you can manage all your linters and <code>credo</code> is on the list of supported ones.</li>
</ul>
<ul>
<li><code>diagflow</code> provides a very nice UI to expose nvim’s <code>virtual_text</code> (text for diagnostics from the linterns / LSPs).</li>
<li><code>trouble</code> is great for showing in one place all your diagnostics.</li>
</ul>
<p>This is how it looks on my setup:<br>
</p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/6/e/6e56e602a617590375edafc726a4e6b9a65a7122.png" data-download-href="https://forum.elixirforum.com/uploads/default/6e56e602a617590375edafc726a4e6b9a65a7122" title="Screenshot 2024-01-13 110911" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/6/e/6e56e602a617590375edafc726a4e6b9a65a7122_2_690x218.png" alt="Screenshot 2024-01-13 110911" data-base62-sha1="fK6HsbfIB894juzJ9IpggYJIPia" width="690" height="218" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/6/e/6e56e602a617590375edafc726a4e6b9a65a7122_2_690x218.png, https://forum.elixirforum.com/uploads/default/optimized/3X/6/e/6e56e602a617590375edafc726a4e6b9a65a7122_2_1035x327.png 1.5x, https://forum.elixirforum.com/uploads/default/original/3X/6/e/6e56e602a617590375edafc726a4e6b9a65a7122.png 2x" data-dominant-color="1E1C1D"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">Screenshot 2024-01-13 110911</span><span class="informations">1253×396 26.5 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<p>Cheers</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="314456" data-batch-url="/posts/batch_likers">
                        3
                      </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/neovim-elixir-setup-configuration-from-scratch-guide/46310/46">Post #45</a>
	                </div>
	            </div>
              <div id="likers-container-314456" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="314456"
                     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 #45"></div>
  </section>
</div>
    <div class="postbit" id="314491" data-post-id="314491">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="linusdm" data-post="36" data-topic="46310">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/linusdm/48/30659_2.png" class="avatar"> linusdm:</div>
<blockquote>
<p>I’m on lunarvim right</p>
</blockquote>
</aside>
<p>And I just switched from LazyVim to LunarVim and I think I like it more. It’s uzing Lazy.nvim as a plugin manager but it’s coming with less by default, less keymappings and plugins enabled and more vanilla Vim experience.</p>
<p>I’m sorry, but after 20 years of using mostly plain Vim, the default keybindings are embedded. LazyVim does too much. Also, LunarVim’s documentation is superior, the whole Lua thing is new to me and it’s been super helpful together with configuration videos. Also, it somehow installed Elixir language server on it’s own when I opened elixir file for the first time, it just works.</p>
<p>You can say I’m too lazy for LazyVim</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="314491" 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/neovim-elixir-setup-configuration-from-scratch-guide/46310/47">Post #46</a>
	                </div>
	            </div>
              <div id="likers-container-314491" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="314491"
                     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 #46"></div>
  </section>
</div>
    <div class="postbit" id="314495" data-post-id="314495">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Haha, nice!</p>
<p>I actually switched the other way around two weeks ago. It seemed to me that LunarVim does more magic behind the scenes than LazyVim. But I can be wrong. It’s interesting to see the set of plugins being chosen, which helps developing your own taste on the matter.</p>
<p>Even more interesting than the difference between Lunar and Lazy was my discovery of the <code>NVIM_APPNAME</code> environment variable. It allows you to switch between vim distro’s easily, without moving your config files back and forth.<br>
This is <a href="https://github.com/LunarVim/LunarVim/blob/e85637c2408264f2591b9c9bca073cd58d314a97/utils/bin/lvim.template#L3" rel="noopener nofollow ugc">the magic</a> behind how LunarVim isolates its own config, using the <code>lvim</code> command (instead of the default <code>nvim</code> binary).</p>
<p>This blogpost does a good job at explaining how this works: <a href="https://michaeluloth.com/neovim-switch-configs/" class="inline-onebox" rel="noopener nofollow ugc">Switching configs in Neovim • Michael Uloth</a></p>
<p>The neovim documentation about the variable: <a href="https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME" class="inline-onebox" rel="noopener nofollow ugc">https://neovim.io/doc/user/starting/</a> (afaik this was a new feature since last year).</p>
<p>This will lower the bar for trying even anotother vim flavour (like <a href="https://github.com/nvim-lua/kickstart.nvim" rel="noopener nofollow ugc">kickstart</a> for example).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="314495" data-batch-url="/posts/batch_likers">
                        4
                      </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/neovim-elixir-setup-configuration-from-scratch-guide/46310/48">Post #47</a>
	                </div>
	            </div>
              <div id="likers-container-314495" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="314495"
                     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 #47"></div>
  </section>
</div>
    <div class="postbit" id="314496" data-post-id="314496">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>oh, nice tip, I’ll try it on the next switch. I already nuked my LazyVim setup, unfortunately, I’m too impulsive. <img src="https://forum.elixirforum.com/images/emoji/apple/rofl.png?v=15" title=":rofl:" class="emoji" alt=":rofl:" loading="lazy" width="20" height="20"></p>
<p>But the set up kinda works out of the box for Elixir. I just added a few treesitter plugins and Copilot one within <code>config.lua</code> and I am happy for now:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">lvim.builtin.treesitter.ensure_installed = { "comment", "markdown_inline", "regex", "eex", "elixir", "heex", "surface", "erlang", "html", "graphql" } 
</code></pre>
<p>Also, I’m doing this b/c I will mess it up otherwise<br>
alias vim=“nvim”</p>
<p><img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji only-emoji" alt=":smiley:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="314496" 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/neovim-elixir-setup-configuration-from-scratch-guide/46310/49">Post #48</a>
	                </div>
	            </div>
              <div id="likers-container-314496" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="314496"
                     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 #48"></div>
  </section>
</div>
    <div class="postbit" id="314554" data-post-id="314554">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I did the opposite of that over a year ago. LunarVim was a nightmare compared to the clean configuration and control of LazyVim.</p>
<p>I also much prefer the documentation of LazyVim by far, it is completely transparent and well documented. Every plugin and it’s default configuration is clearly defined.</p>
<p>If I was to do it myself I couldn’t imagine it being much different than what lazy does. No magic, explicit plugin configuration and <strong>not</strong> inventing a separate config system on top.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="314554" 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/neovim-elixir-setup-configuration-from-scratch-guide/46310/50">Post #49</a>
	                </div>
	            </div>
              <div id="likers-container-314554" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="314554"
                     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 #49"></div>
  </section>
</div>
    <div class="postbit" id="314556" data-post-id="314556">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>we’ll see how it goes. I got tired disabling LazyVim features over and over again. Less is more.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="314556" 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/neovim-elixir-setup-configuration-from-scratch-guide/46310/51">Post #50</a>
	                </div>
	            </div>
              <div id="likers-container-314556" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="314556"
                     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 #50"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/46310/load_more?page=6">Load more posts (64 remaining)</a>
</div></template></turbo-stream>