<?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&gt;I&amp;rsquo;ve been trying to up my &lt;code&gt;use-package&lt;/code&gt; game recently and converted my hand rolled package check and installer to &lt;code&gt;use-package&lt;/code&gt;. I usually prefer to use packages from &lt;code&gt;melpa-stable&lt;/code&gt; so I pin the default package source used by &lt;code&gt;use-package&lt;/code&gt; to &lt;code&gt;melpa-stable&lt;/code&gt; and override it where necessary That&amp;rsquo;s working well in general and looks something like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-elisp" data-lang="elisp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#366"&gt;setq&lt;/span&gt; &lt;span style="color:#033"&gt;use-package-always-pin&lt;/span&gt; &lt;span style="color:#c30"&gt;&amp;#34;melpa-stable&amp;#34;&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:#366"&gt;use-package&lt;/span&gt; &lt;span style="color:#033"&gt;js2-mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#366"&gt;:ensure&lt;/span&gt; &lt;span style="color:#360"&gt;t&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#366"&gt;:defer&lt;/span&gt; &lt;span style="color:#360"&gt;t&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#366"&gt;:custom&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (&lt;span style="color:#366"&gt;progn&lt;/span&gt; (&lt;span style="color:#033"&gt;js-indent-level&lt;/span&gt; &lt;span style="color:#f60"&gt;2&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (&lt;span style="color:#033"&gt;js2-include-node-externs&lt;/span&gt; &lt;span style="color:#360"&gt;t&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:#366"&gt;use-package&lt;/span&gt; &lt;span style="color:#033"&gt;kotlin-mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#366"&gt;:ensure&lt;/span&gt; &lt;span style="color:#360"&gt;t&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#366"&gt;:pin&lt;/span&gt; &lt;span style="color:#033"&gt;melpa&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;So in other words, if I&amp;rsquo;m on a machine that doesn&amp;rsquo;t have &lt;code&gt;js2-mode&lt;/code&gt; and &lt;code&gt;kotlin-mode&lt;/code&gt; installed, &lt;code&gt;use-package&lt;/code&gt; will install &lt;code&gt;js2-mode&lt;/code&gt; from &lt;code&gt;melpa-stable&lt;/code&gt; and &lt;code&gt;kotlin-mode&lt;/code&gt; from &lt;code&gt;melpa&lt;/code&gt;. So far, so good.&lt;/p&gt;</description></item></channel></rss>