<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Package Pinning on The Lone C++ Coder's Blog</title><link>https://www.lonecpluspluscoder.com/tags/package-pinning/</link><description>Recent content in Package Pinning on The Lone C++ Coder's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sun, 20 Feb 2022 21:15:00 -0500</lastBuildDate><atom:link href="https://www.lonecpluspluscoder.com/tags/package-pinning/index.xml" rel="self" type="application/rss+xml"/><item><title>How can I pin dependent packages when using use-package?</title><link>https://www.lonecpluspluscoder.com/2022/02/20/can-i-pin-dependent-packages-use-package/</link><pubDate>Sun, 20 Feb 2022 21:15:00 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2022/02/20/can-i-pin-dependent-packages-use-package/</guid><description>&lt;p>I&amp;rsquo;ve been trying to up my &lt;code>use-package&lt;/code> game recently and converted my hand rolled package check and installer to &lt;code>use-package&lt;/code>. I usually prefer to use packages from &lt;code>melpa-stable&lt;/code> so I pin the default package source used by &lt;code>use-package&lt;/code> to &lt;code>melpa-stable&lt;/code> and override it where necessary That&amp;rsquo;s working well in general and looks something like this:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-elisp" data-lang="elisp">&lt;span style="display:flex;">&lt;span>(&lt;span style="color:#366">setq&lt;/span> &lt;span style="color:#033">use-package-always-pin&lt;/span> &lt;span style="color:#c30">&amp;#34;melpa-stable&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(&lt;span style="color:#366">use-package&lt;/span> &lt;span style="color:#033">js2-mode&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#366">:ensure&lt;/span> &lt;span style="color:#360">t&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#366">:defer&lt;/span> &lt;span style="color:#360">t&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#366">:custom&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> (&lt;span style="color:#366">progn&lt;/span> (&lt;span style="color:#033">js-indent-level&lt;/span> &lt;span style="color:#f60">2&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> (&lt;span style="color:#033">js2-include-node-externs&lt;/span> &lt;span style="color:#360">t&lt;/span>)))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(&lt;span style="color:#366">use-package&lt;/span> &lt;span style="color:#033">kotlin-mode&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#366">:ensure&lt;/span> &lt;span style="color:#360">t&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#366">:pin&lt;/span> &lt;span style="color:#033">melpa&lt;/span>)&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;p>So in other words, if I&amp;rsquo;m on a machine that doesn&amp;rsquo;t have &lt;code>js2-mode&lt;/code> and &lt;code>kotlin-mode&lt;/code> installed, &lt;code>use-package&lt;/code> will install &lt;code>js2-mode&lt;/code> from &lt;code>melpa-stable&lt;/code> and &lt;code>kotlin-mode&lt;/code> from &lt;code>melpa&lt;/code>. So far, so good.&lt;/p></description></item></channel></rss>