toasters.rocks/arch-linux-packages/index.html

262 lines
8.9 KiB
HTML

<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/img/icon.png" type="image/png">
<meta name="generator" content="Hugo 0.78.2" />
<meta property="og:title" content="My Arch Linux packages: how to create your own repo" />
<meta property="og:description" content="As I use Arch Linux as my daily driver on my main machine now and I use a lot the AUR nowadays (most notably I maintain the packages for The 8-Bit Guy&rsquo;s Commander X16), figured I might create my own repository, right?
So there you go, after figuring it out on the Arch Wiki, here&rsquo;s a collection of software I maintain on the AUR, some of my own things I bothered to make a PKGBUILD for, or just software not found in other binary repos I know the users of my communities will like." />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://toasters.rocks/arch-linux-packages/" />
<meta property="article:published_time" content="2020-02-22T07:41:21+00:00" />
<meta property="article:modified_time" content="2020-02-22T21:49:44+00:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="My Arch Linux packages: how to create your own repo"/>
<meta name="twitter:description" content="As I use Arch Linux as my daily driver on my main machine now and I use a lot the AUR nowadays (most notably I maintain the packages for The 8-Bit Guy&rsquo;s Commander X16), figured I might create my own repository, right?
So there you go, after figuring it out on the Arch Wiki, here&rsquo;s a collection of software I maintain on the AUR, some of my own things I bothered to make a PKGBUILD for, or just software not found in other binary repos I know the users of my communities will like."/>
<title>My Arch Linux packages: how to create your own repo - toasters rocks</title>
<link rel="stylesheet" href="/css/styles.css" />
<link rel="stylesheet" href="/css/syntax.css" />
<script src="https://kit.fontawesome.com/8ced65a629.js" crossorigin="anonymous"></script>
</head><body>
<header><img src="/img/icon.png"><h1>toasters rocks</h1></header>
<main>
<aside><nav>
<a href="/">
<i class="fas fa-home"></i>
Home
</a><br/>
<a href="http://juju2143.ca/">
<i class="fas fa-user"></i>
About
</a><br/>
<a href="/fr/">
<i class="fas fa-globe"></i>
Français
</a><br/>
<a href="https://yukiis.moe/">
<i class="far fa-comment"></i>
Comics
</a><br/>
<a href="https://codewalr.us/">
<i class="far fa-folder-open"></i>
Forums
</a><br/>
</nav>
<br/>
<nav>
<a title="Twitter " href="https://twitter.com/juju2143">
<i style="color: #4da7de" class="fab fa-twitter"></i>
<span style="color: #4da7de">Twitter</span>
</a><br/>
<a title="Discord " href="https://discord.gg/cuZcfcF">
<i style="color: #7289da" class="fab fa-discord"></i>
<span style="color: #7289da">Discord</span>
</a><br/>
<a title="GitHub " href="https://github.com/juju2143">
<i style="color: #221e1b" class="fab fa-github"></i>
<span style="color: #221e1b">GitHub</span>
</a><br/>
<a title="Patreon " href="https://patreon.com/juju2143">
<i style="color: #F96854" class="fab fa-patreon"></i>
<span style="color: #F96854">Patreon</span>
</a><br/>
<a title="YouTube " href="https://youtube.com/user/julosoft">
<i style="color: #e02a20" class="fab fa-youtube"></i>
<span style="color: #e02a20">YouTube</span>
</a><br/>
<a title="YouTube 2 " href="https://youtube.com/c/juju2143">
<i style="color: #e02a20" class="fab fa-youtube"></i>
<span style="color: #e02a20">YouTube 2</span>
</a><br/>
<a title="Twitch " href="https://twitch.tv/juju2143">
<i style="color: #6441a5" class="fab fa-twitch"></i>
<span style="color: #6441a5">Twitch</span>
</a><br/>
<a title="Instagram " href="https://instagram.com/j.p.savard">
<i style="color: #d6249f" class="fab fa-instagram"></i>
<span style="color: #d6249f">Instagram</span>
</a><br/>
<a title="DeviantArt " href="https://deviantart.com/juju2143">
<i style="color: #c5d200" class="fab fa-deviantart"></i>
<span style="color: #c5d200">DeviantArt</span>
</a><br/>
<a title="SoundCloud " href="https://soundcloud.com/juju2143">
<i style="color: #fe3801" class="fab fa-soundcloud"></i>
<span style="color: #fe3801">SoundCloud</span>
</a><br/>
</nav></aside>
<article>
<div>
<h2 name="top">My Arch Linux packages: how to create your own repo</h2>
<p></p>
<i class="far fa-calendar-alt"></i>
<time datetime="2020-02-22">February 22, 2020</time><br/>
<i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href="http://toasters.rocks/tags/tech">Tech</a>
<br/>
<i class="fas fa-hourglass"></i> ~2 minutes
</div>
<p>As I use Arch Linux as my daily driver on my main machine now and I use a lot the AUR nowadays (most notably I maintain the packages for The 8-Bit Guy&rsquo;s Commander X16), figured I might create my own repository, right?</p>
<p>So there you go, after figuring it out on the Arch Wiki, here&rsquo;s a collection of software I maintain on the AUR, some of my own things I bothered to make a PKGBUILD for, or just software not found in other binary repos I know the users of my communities will like. So, as I write this, mostly Commander X16 stuff and TI-83 stuff.</p>
<pre><code>[juju]
SigLevel = Never
Server = https://repo.juju2143.ca/archlinux/$repo/os/$arch
</code></pre>
<p>Add this to your pacman.conf
Then, you can see every package I added with <code>pacman -Sl juju</code>.</p>
<p>But why? Here&rsquo;s the gory details. A friend of mine told me about this service called <a href="https://www.netlify.com/">Netlify</a>, which is pretty much for those who made their website with a site generator, it automatically builds the website each time you push it to Git. From what I understand, anyway. Kinda like GitHub, I guess. The free plan comes with custom domains, HTTPS, 300 build minutes a month, 100 GB of bandwidth and&hellip; no storage limit? Well, that&rsquo;d probably make for a good use case for this project.</p>
<p>So I follow <a href="https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Custom_local_repository">the instructions on the wiki</a>, I throw in some index.html generated from stuff I stole from the x16-emulator package, I do a manual deploy and there you go!</p>
<pre><code>repo-add archlinux/juju/os/x86_64/juju.db.tar.gz archlinux/juju/os/x86_64/some-package.pkg.tar.xz
pandoc --from gfm --to html -c github-pandoc.css --standalone --metadata pagetitle=&quot;repo.juju2143.ca&quot; README.md --output index.html
tree archlinux -P &quot;*.pkg.tar.xz&quot; -v -H &quot;https://repo.juju2143.ca/archlinux&quot; &gt; archlinux/index.html
netlify deploy --prod --dir=.
</code></pre>
<p>To do everytime I update something
Symlinks don&rsquo;t work for some reason, so you&rsquo;d need to add a file called <code>_redirects</code>:</p>
<pre><code>/archlinux/:repo/os/:arch/:repo.db /archlinux/:repo/os/:arch/:repo.db.tar.gz
/archlinux/:repo/os/:arch/:repo.files /archlinux/:repo/os/:arch/:repo.files.tar.gz
/* /404.html 404
</code></pre>
<p>Mind the very long lines
So there you go. It&rsquo;s very much in line with the principle that drives Arch Linux, the famous &ldquo;keep it simple, stupid&rdquo; (KISS), so that was pretty easy. So if you want a package I should add and/or build, feel free to suggest away :)</p>
<p><a href="https://repo.juju2143.ca">Check out the repo here!</a></p>
</article>
<ul class="pagination">
<li class="page-item">
<a class="previous" href="http://toasters.rocks/emoji-region-flags/">« Emoji region flags</a>
</li>
<li class="page-item">
<a class="next" href="http://toasters.rocks/pandemic-story/">Pandemic Story »</a>
</li>
</ul>
<article>
<div id="disqus_thread"></div>
<script type="application/javascript">
var disqus_config = function () {
};
(function() {
if (["localhost", "127.0.0.1"].indexOf(window.location.hostname) != -1) {
document.getElementById('disqus_thread').innerHTML = 'Disqus comments not available by default when the website is previewed locally.';
return;
}
var d = document, s = d.createElement('script'); s.async = true;
s.src = '//' + "juju2143" + '.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</article>
</main>
<footer>Copyright © 2020 J.P. Savard</footer>
</body>
</html>