diff --git a/.cache/plugin/social/c98d37a6c272ecc6aafb4404ec490800.png b/.cache/plugin/social/c98d37a6c272ecc6aafb4404ec490800.png new file mode 100644 index 0000000..6e3f81c Binary files /dev/null and b/.cache/plugin/social/c98d37a6c272ecc6aafb4404ec490800.png differ diff --git a/docs/priv/current-situation.md b/docs/priv/current-situation.md new file mode 100644 index 0000000..21b9ec1 --- /dev/null +++ b/docs/priv/current-situation.md @@ -0,0 +1,41 @@ +--- +title: Current Situation +tags: + - War + - Lebanon + - Situation + - Struggles +--- +### Hello everyone, + +Today is one of those days where words fall short. The past few days have been incredibly difficult for us here in **Lebanon**, and it feels like things are only getting worse with each passing moment. Both the political and economic situation are spiraling out of control, and it’s impacting every single person here. Close friends, people I’ve known for years, have been injured, and some have even been forced to flee their homes. We’re now living in a reality where technology, something we all rely on daily, has become a source of fear. Can you imagine? Tech warfare? Exploding pagers and phones? It’s something straight out of a dystopian novel, but it's happening right here, right now. + +We are terrified to carry even the most basic tech devices, and it's surreal to say the least. + +![type:video](https://www.youtube.com/embed/OmeKpICXiBA) + +In the video below, you’ll see just how grim the situation has become. Just yesterday, a town not far from where I live was hit. I didn’t just hear it, I *felt* it. The windows shook violently as multiple, deafening sonic booms erupted overhead. I don’t exaggerate when I say my heart sank. The sound alone brought back memories of the 1970s and 80s, when I lived through a different war, but the fear is just as real now as it was then. I’m still shaking as I write this. This kind of fear paralyzes you. You never know if the next blast will be the one that hits your home. + +![type:video](https://www.youtube.com/embed/tC1a3kk8jKQ) + +For the first time in my life, I genuinely don’t know what to do. Should I flee? Should I stay? Do I hide and pray it doesn’t get worse? I’ve been praying for things to calm down for over a year now, ever since the violence in the south started, but each day feels heavier, as if we’re on the edge of something catastrophic. + +### Safety 1st + +With everything that’s happening, I need to prioritize my safety and that of my family. If the situation continues to deteriorate, I may be forced to stop everything I’m doing just to focus on survival. We’re actively searching for potential shelters, just in case things take an even darker turn. It’s heartbreaking, but these are the conversations we’re having right now—finding a safe place to hide from the chaos. + +I know many of you are eagerly waiting for updates on the **XeroLinux** project, and believe me, I haven’t forgotten about it. But I hope you understand that it’s nearly impossible to work under these conditions. My mind is constantly racing, wondering if we’ll be the next to face the violence, or if a full-scale war will erupt before we even have a chance to react. + +### How to help + +As most of you are aware, my financial situation has been precarious for quite some time. If I do have to flee the country, I’m going to need resources to make that happen. Right now, I have about $320 to my name. That’s not nearly enough to cover the costs of leaving Lebanon if things continue to worsen. + +If you want to help, please know that this is separate from any funds raised for the XeroLinux project. I’ve made sure to keep the project’s funds separate so they are used exclusively for its development and survival. The funds I need now are for a different, more personal cause—ensuring my safety and the safety of my family. + +If you’re able and willing to contribute, your help could make a real difference in what happens next. No amount is too small, and every bit helps in these uncertain times. + +To do so head on over to [**FundRazr**](https://fundrazr.com/XeroLinux?ref=ab_eBckkc). + +Thanks for all your help & support ! + + diff --git a/site/404.html b/site/404.html index e3245f7..a31bce0 100644 --- a/site/404.html +++ b/site/404.html @@ -510,6 +510,8 @@ + + @@ -570,6 +572,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/SUMMARY/index.html b/site/SUMMARY/index.html index f380251..2bcbafd 100644 --- a/site/SUMMARY/index.html +++ b/site/SUMMARY/index.html @@ -547,6 +547,8 @@ + + @@ -607,6 +609,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/assets/images/social/priv/current-situation.png b/site/assets/images/social/priv/current-situation.png new file mode 100644 index 0000000..6e3f81c Binary files /dev/null and b/site/assets/images/social/priv/current-situation.png differ diff --git a/site/docs/affinity-linux/index.html b/site/docs/affinity-linux/index.html index 8253cb4..dfc8460 100644 --- a/site/docs/affinity-linux/index.html +++ b/site/docs/affinity-linux/index.html @@ -621,6 +621,8 @@ + + @@ -681,6 +683,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/docs/build-archiso/index.html b/site/docs/build-archiso/index.html index 62ab2e7..04cdc61 100644 --- a/site/docs/build-archiso/index.html +++ b/site/docs/build-archiso/index.html @@ -612,6 +612,8 @@ + + @@ -672,6 +674,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/docs/ffmpeg-cheats/index.html b/site/docs/ffmpeg-cheats/index.html index 0996301..50a7741 100644 --- a/site/docs/ffmpeg-cheats/index.html +++ b/site/docs/ffmpeg-cheats/index.html @@ -786,6 +786,8 @@ + + @@ -846,6 +848,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/docs/linux-explained/index.html b/site/docs/linux-explained/index.html index b892fdb..500f055 100644 --- a/site/docs/linux-explained/index.html +++ b/site/docs/linux-explained/index.html @@ -630,6 +630,8 @@ + + @@ -690,6 +692,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/docs/mkdocs-install/index.html b/site/docs/mkdocs-install/index.html index 7ea77bf..e76fe5b 100644 --- a/site/docs/mkdocs-install/index.html +++ b/site/docs/mkdocs-install/index.html @@ -621,6 +621,8 @@ + + @@ -681,6 +683,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/docs/passwd-reset/index.html b/site/docs/passwd-reset/index.html index c46e341..c785025 100644 --- a/site/docs/passwd-reset/index.html +++ b/site/docs/passwd-reset/index.html @@ -612,6 +612,8 @@ + + @@ -672,6 +674,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/feed.xml b/site/feed.xml index cbe0db9..9f742af 100644 --- a/site/feed.xml +++ b/site/feed.xml @@ -1 +1 @@ - DarkXero's BytesThoughts, Opinions, Documentation, and more...https://bytes.xerolinux.xyz/en Tue, 17 Sep 2024 11:32:30 -0000 Tue, 17 Sep 2024 11:32:30 -0000 60 MkDocs RSS plugin - v1.15.0 https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png DarkXero's Byteshttps://bytes.xerolinux.xyz/ Reset Password Linux Recovery Reset <h3 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h3><p>I have lost my root pass on <strong>Linux</strong> more times than I can count. This guide is here so I do not have to <em>Google</em> it lol. Might be useful to you I dunno. But it's here.</p><p align="center"> <img src="https://i.imgur.com/VFXV09r.jpeg"></p><h3 id="lets-do-this">Let's do this 🚀<a class="headerlink" href="#lets-do-this" title="Permanent link">&para;</a></h3><p>How to reset forgotten root password in a <strong>GNU/Linux</strong> distribution with <code>GRUB</code>?</p><p>If this is a laptop or a desktop which you have next to you then follow these steps.</p><ol><li>Shut down the device.</li><li>Start it again. When you see GRUB menu, press the <code>e</code> key on the keyboard before the system starts booting.</li><li>In the <code>GRUB</code> boot options, scroll down and locate the line that begins with <code>linux</code>. In this line move the cursor to the end, right after <code>ro quiet</code>. Delete everything after that. Change <code>ro</code> to <code>rw</code>. Append the parameter <code>init=/bin/bash</code></li><li>Press Ctrl+x, or F10, to boot.</li><li>You will see a root prompt.</li></ol><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>:#</span></code></pre></div><p>Remount the filesystem in read/write mode:</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>:#<span class="w"> </span>mount<span class="w"> </span>-no<span class="w"> </span>remount,rw<span class="w"> </span>/</span></code></pre></div><ol><li>Set the password of any user(s).</li></ol><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>:#<span class="w"> </span>passwd<span class="w"> </span>joe</span></code></pre></div><ol><li>Reboot with the command <code>reboot -f</code>.</li></ol><p>That's it ! The new password should work now.</p>https://bytes.xerolinux.xyz/docs/passwd-reset/ Tue, 17 Sep 2024 12:47:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/passwd-reset/ FFmpeg Cheat Sheet CheatSheet FFmpeg Linux <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the use of <a href="https://www.ffmpeg.org/ffmpeg.html" target="_blank"><strong>FFmpeg</strong></a> on <strong>Linux</strong>.</p><p align="center"> <img src="https://i.imgur.com/TweW8fW.png"></p><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>First we will need to install <code>FFmpeg</code>. I will be doing it on <strong>ArchLinux</strong> since that's what I use. Look for packages on your distro if you don't use it.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo<span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>--needed<span class="w"> </span>ffmpeg<span class="w"> </span>ffmpegthumbnailer<span class="w"> </span>ffmpegthumbs<span class="w"> </span>qt6-multimedia-ffmpeg</span></code></pre></div><p>Now that we have it, it's time for the cheat sheet.</p><hr /><h1 align="center">.// The Cheat Sheet \\.</h1><h2 id="basic-conversion">Basic conversion<a class="headerlink" href="#basic-conversion" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>ffmpeg -i in.mp4 out.avi</span></code></pre></div><h3 id="remux-an-mkv-file-into-mp4">Remux an MKV file into MP4<a class="headerlink" href="#remux-an-mkv-file-into-mp4" title="Permanent link">&para;</a></h3><div class="language-text highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4</span></code></pre></div><h3 id="high-quality-encoding">High-quality encoding<a class="headerlink" href="#high-quality-encoding" title="Permanent link">&para;</a></h3><p>Use the <code>crf</code> (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to <code>-crf 18</code>. Use the <code>preset</code> parameter to control the speed of the compression process. <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" target="_blank"><strong>Additional info</strong></a>.</p><div class="language-text highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4</span></code></pre></div><h2 id="trimming">Trimming<a class="headerlink" href="#trimming" title="Permanent link">&para;</a></h2><p>Without re-encoding:<div class="language-text highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4</span></code></pre></div>- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-ss</code></a> specifies the start time, e.g. <code>00:01:23.000</code> or <code>83</code> (in seconds)- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-t</code></a> specifies the duration of the clip (same format).- Recent <code>ffmpeg</code> also has a flag to supply the end time with <code>-to</code>.- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-c</code></a> copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.</p><p>With re-encoding:</p><p>If you leave out the <code>-c copy</code> option, <code>ffmpeg</code> will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the <a href="https://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide" target="_blank"><strong>x264 Encoding Guide</strong></a> and the <a href="http://ffmpeg.org/trac/ffmpeg/wiki/AACEncodingGuide" target="_blank"><strong>AAC Encoding Guide</strong></a>, respectively.</p><p>For example:<div class="language-text highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4</span></code></pre></div></p><h2 id="mux-video-and-audio-from-another-video">Mux video and audio from another video<a class="headerlink" href="#mux-video-and-audio-from-another-video" title="Permanent link">&para;</a></h2><p>To copy the video from in0.mp4 and audio from in1.mp4:<div class="language-text highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4</span></code></pre></div>- With <a href="http://ffmpeg.org/ffmpeg.html#Stream-copy" target="_blank">-c copy</a> the streams will be <code>stream copied</code>, not re-encoded, so there will be no quality loss. If you want to re-encode, see <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" target="_blank"><strong>FFmpeg Wiki: H.264 Encoding Guide</strong></a>.- The <code>-shortest</code> option will cause the output duration to match the duration of the shortest input stream.- See the <a href="http://ffmpeg.org/ffmpeg.html#Advanced-options" target="_blank"><code>-map</code> option documentation</a> for more info.</p><h2 id="concat-demuxer">Concat demuxer<a class="headerlink" href="#concat-demuxer" title="Permanent link">&para;</a></h2><p>First, make a text file.<div class="language-text highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>file &#39;in1.mp4&#39;</span><span id="__span-7-2"><a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>file &#39;in2.mp4&#39;</span><span id="__span-7-3"><a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a>file &#39;in3.mp4&#39;</span><span id="__span-7-4"><a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a>file &#39;in4.mp4&#39;</span></code></pre></div>Then, run <code>ffmpeg</code>:<div class="language-text highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>ffmpeg -f concat -i list.txt -c copy out.mp4</span></code></pre></div></p><h2 id="delay-audiovideo">Delay audio/video<a class="headerlink" href="#delay-audiovideo" title="Permanent link">&para;</a></h2><p>Delay video by 3.84 seconds:<div class="language-text highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4</span></code></pre></div>Delay audio by 3.84 seconds:<div class="language-text highlight"><pre><span></span><code><span id="__span-10-1"><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4</span></code></pre></div></p><h2 id="burn-subtitles">Burn subtitles<a class="headerlink" href="#burn-subtitles" title="Permanent link">&para;</a></h2><p>Use the <a href="http://ffmpeg.org/ffmpeg.html#ass" target="_blank">libass</a> library (make sure your ffmpeg install has the library in the configuration <code>--enable-libass</code>).</p><p>First convert the subtitles to .ass format:<div class="language-text highlight"><pre><span></span><code><span id="__span-11-1"><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>ffmpeg -i sub.srt sub.ass</span></code></pre></div>Then add them using a video filter:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-12-1"><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4</span></code></pre></div><h2 id="extract-the-frames-from-a-video">Extract the frames from a video<a class="headerlink" href="#extract-the-frames-from-a-video" title="Permanent link">&para;</a></h2><p>To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-13-1"><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>ffmpeg -i in.mp4 -vf select=&#39;between(t,1,5)+between(t,11,15)&#39; -vsync 0 out%d.png</span></code></pre></div><p>To extract one frame per second only:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-14-1"><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png</span></code></pre></div><h2 id="rotate-a-video">Rotate a video<a class="headerlink" href="#rotate-a-video" title="Permanent link">&para;</a></h2><p>Rotate 90 clockwise:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-15-1"><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>ffmpeg -i in.mov -vf &quot;transpose=1&quot; out.mov</span></code></pre></div><p>For the transpose parameter you can pass:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-16-1"><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>0 = 90CounterCLockwise and Vertical Flip (default)</span><span id="__span-16-2"><a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>1 = 90Clockwise</span><span id="__span-16-3"><a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a>2 = 90CounterClockwise</span><span id="__span-16-4"><a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a>3 = 90Clockwise and Vertical Flip</span></code></pre></div><p>Use <code>-vf "transpose=2,transpose=2"</code> for 180 degrees.</p><h2 id="download-transport-stream-video-streams">Download "Transport Stream" video streams<a class="headerlink" href="#download-transport-stream-video-streams" title="Permanent link">&para;</a></h2><ol><li>Locate the playlist file, e.g. using Chrome &gt; F12 &gt; Network &gt; Filter: m3u8</li><li>Download and concatenate the video fragments:</li></ol><div class="language-text highlight"><pre><span></span><code><span id="__span-17-1"><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>ffmpeg -i &quot;path_to_playlist.m3u8&quot; -c copy -bsf:a aac_adtstoasc out.mp4</span></code></pre></div><p>If you get a "Protocol 'https not on whitelist 'file,crypto'!" error, add the <code>protocol_whitelist</code> option:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-18-1"><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>ffmpeg -protocol_whitelist &quot;file,http,https,tcp,tls&quot; -i &quot;path_to_playlist.m3u8&quot; -c copy -bsf:a aac_adtstoasc out.mp4</span></code></pre></div><h2 id="mute-some-of-the-audio">Mute some of the audio<a class="headerlink" href="#mute-some-of-the-audio" title="Permanent link">&para;</a></h2><p>To replace the first 90 seconds of audio with silence:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-19-1"><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>ffmpeg -i in.mp4 -vcodec copy -af &quot;volume=enable=&#39;lte(t,90)&#39;:volume=0&quot; out.mp4</span></code></pre></div><p>To replace all audio between 1'20" and 1'30" with silence:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-20-1"><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>ffmpeg -i in.mp4 -vcodec copy -af &quot;volume=enable=&#39;between(t,80,90)&#39;:volume=0&quot; out.mp4</span></code></pre></div><h2 id="deinterlace">Deinterlace<a class="headerlink" href="#deinterlace" title="Permanent link">&para;</a></h2><p>Deinterlacing using "yet another deinterlacing filter".</p><div class="language-text highlight"><pre><span></span><code><span id="__span-21-1"><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>ffmpeg -i in.mp4 -vf yadif out.mp4</span></code></pre></div><h2 id="create-a-video-slideshow-from-images">Create a video slideshow from images<a class="headerlink" href="#create-a-video-slideshow-from-images" title="Permanent link">&para;</a></h2><p>Parameters: <code>-r</code> marks the image framerate (inverse time of each image); <code>-vf fps=25</code> marks the true framerate of the output.</p><div class="language-text highlight"><pre><span></span><code><span id="__span-22-1"><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4</span></code></pre></div><h2 id="extract-images-from-a-video">Extract images from a video<a class="headerlink" href="#extract-images-from-a-video" title="Permanent link">&para;</a></h2><ul><li>Extract all frames: <code>ffmpeg -i input.mp4 thumb%04d.jpg -hide_banner</code></li><li>Extract a frame each second: <code>ffmpeg -i input.mp4 -vf fps=1 thumb%04d.jpg -hide_banner</code></li><li>Extract only one frame: <code>ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 thumb.jpg</code></li></ul><h2 id="display-the-frame-number-on-each-frame">Display the frame number on each frame<a class="headerlink" href="#display-the-frame-number-on-each-frame" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-23-1"><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>ffmpeg -i in.mov -vf &quot;drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72&quot; -y out.mov</span></code></pre></div><h2 id="metadata-change-the-title">Metadata: Change the title<a class="headerlink" href="#metadata-change-the-title" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-24-1"><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>ffmpeg -i in.mp4 -map_metadata -1 -metadata title=&quot;My Title&quot; -c:v copy -c:a copy out.mp4</span></code></pre></div><h3 id="wrap-up">Wrap up<a class="headerlink" href="#wrap-up" title="Permanent link">&para;</a></h3><p>That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.</p>https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ Tue, 17 Sep 2024 12:36:31 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ My Cosmic Experience ArchLinux Cosmic Linux <div class="admonition note"><p class="admonition-title">Note</p><p>Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.</p></div><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>The <a href="https://xerolinux.xyz/posts/arch-cosmic/" target="_blank"><strong>Cosmic DE</strong></a> hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.</p><p align="center"> <img src="https://i.imgur.com/Fvl9uRU.png"></p><p>Since I am an avid <strong>ArchLinux</strong> user, that's how I installed it. I did not use the <strong>Pop!_OS 24.04 LTS alpha</strong> ISO from &gt;&gt; <a href="https://system76.com/cosmic" target="_blank"><strong>Cosmic Downloads</strong></a>. So my views come from there. So I cannot compare.</p><p>Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the <strong>ArchInstall</strong> profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.</p><p>Now on to the more detailed things I have done to install <strong>Cosmic</strong>. I first installed <strong>Arch Minimal</strong> using the <strong>ArchInstall</strong> script, meaning that I avoided the profiles, &amp; drivers sections completely, I always choose <code>Grub</code> as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in <code>chroot</code> I installed the DE the following way, knowing that, we can skip the use of <code>sudo</code> since we are still logged in as root...</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>pacman<span class="w"> </span>-Syy<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>cosmic<span class="w"> </span>linux-headers<span class="w"> </span>pacman-contrib<span class="w"> </span>xdg-user-dirs<span class="w"> </span>power-profiles-daemon<span class="w"> </span>wayland-protocols<span class="w"> </span>wayland-utils</span></code></pre></div><p align="center"> <img src="https://i.imgur.com/tR8WJJI.png"></p><p>Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because <a href="https://archlinux.org/packages/?sort=&amp;q=cosmic&amp;maintainer=&amp;flagged=" target="_blank"><strong>cosmic</strong></a> is not a single one, it's a <em>Group</em> of packages or a <em>meta-package</em> as it is known as. That said, the reason I installed <code>linux-headers</code> is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially <code>xdg-user-dirs</code> without which no <code>Documents, Pictures, Videos...</code> folders will be created. Strange I know.</p><p>What I also found weird, is the fact that <code>cosmic-greeter</code> service was not being enabled after install which was netting me a boot to <code>TTY</code> session. So I had to enable it while at the same time generating the <code>user-dirs</code> via...</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>cosmic-greeter.service<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>xdg-user-dirs-update</span></code></pre></div><p>Keep in mind that I am doing all this while still in <code>chroot</code> post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.</p><h3 id="experience">Experience<a class="headerlink" href="#experience" title="Permanent link">&para;</a></h3><p>Now on to what y'all came here for. All was good, well sorta, system rebooted into <code>Grub</code>, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some <code>TTY dmsg</code> errors, flickering on and off. But after a few seconds I finally saw the <strong>Cosmic Greeter</strong> login screen, relief finally.</p><p align="center"> <img src="https://i.imgur.com/TPjWMjR.png"></p><p>I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an <strong>nVidia</strong> user, I thought could be a driver issue since on first boot it uses the not so great <code>nouveau</code> ones. That's why my first reflex was to install them, so I did.</p><p align="center"> <img src="https://i.imgur.com/VotUyBS.jpeg"></p><p>After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about <code>EGL drm</code> crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?</p><p>As it turns out I had forgotten to include the <code>nVidia drm kernel modules</code> lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span><span class="s1">&#39;/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/&#39;</span><span class="w"> </span>/etc/mkinitcpio.conf</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>sudo<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>nvidia-suspend.service<span class="w"> </span>nvidia-hibernate.service<span class="w"> </span>nvidia-resume.service<span class="w"> </span>nvidia-powerd.service</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nb">echo</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02&#39;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>-a<span class="w"> </span>/etc/modprobe.d/nvidia.conf</span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="nb">echo</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;options nvidia_drm modeset=1 fbdev=1&#39;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>-a<span class="w"> </span>/etc/modprobe.d/nvidia.conf<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>sudo<span class="w"> </span>mkinitcpio<span class="w"> </span>-P</span></code></pre></div><p>After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like <strong>XFCE</strong>. Fired up <code>top</code> to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than <strong>KDE Plasma</strong> ! Nice !</p><p>Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run <code>nmtui</code> and deactivate it from there making sure it doesn't automatically reconnect on login.</p><p>Now on to the <code>System Settings</code>. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..</p><p>That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.</p><p>Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean <strong>Cosmic-Notes</strong> was there, just not handling documents...</p><p>I try to right-click &gt; open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself "It's Alpha Software, calm down Steve".</p><p>To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a <code>CLI</code> and no default app set ? I dunno.</p><p>Finally I decided to try out the thing that almost everyone's raving about, <strong>Tiling/Stacking</strong>. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...</p><p>That's where I gave up and decided to go back home to <strong>KDE Plasma</strong>.</p><h3 id="final-words">Final words<a class="headerlink" href="#final-words" title="Permanent link">&para;</a></h3><p>Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.</p><p>It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.</p><p>I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. <strong>Cosmic</strong> has come a long way in such a short time. I mean, writing a DE from scratch using <strong>Rust</strong> a sorta new programming language is no easy feat.</p><p>I will end the post by congratulating the <strong>System76</strong> dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a <strong>XeroCosmic</strong> to the family.. Just don't hold your breath on that, it ain't set in stone.</p>https://bytes.xerolinux.xyz/tech/cosmic-experience/ Wed, 11 Sep 2024 12:33:00 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/tech/cosmic-experience/ Affinity on Linux Affinity Linux Photoshop <div class="admonition warning"><p class="admonition-title">Warning</p><p>I am aware that these apps are what's called "<strong>Proprietary</strong>" and require us to purchase a one-time <em>License</em> in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.</p></div><h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the installation of <a href="https://affinity.serif.com/en-us/" target="_blank"><strong>Affinity Apps</strong></a> on <strong>Linux</strong> with the help of some scripts I found thanks to <a href="https://github.com/Twig6943" target="_blank"><strong>Twig6943</strong></a> who went out of his way to create them.</p><p align="center"> <img src="https://i.imgur.com/MABHj31.jpeg"></p><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>First we will need to download the <a href="https://store.serif.com/update/windows/photo/2/" target="_blank"><strong>Photo</strong></a>, <a href="https://store.serif.com/update/windows/designer/2/" target="_blank"><strong>Designer</strong></a> or <a href="https://store.serif.com/update/windows/publisher/2/" target="_blank"><strong>Publisher</strong></a> <code>exe</code> from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a <strong>Discreet GPU</strong> is highly recommended for Hardware Acceleration &amp; good performance.</p><div class="admonition note"><p class="admonition-title">Note</p><p>Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required <a href="https://github.com/Twig6943/AffinityOnLinux/blob/main/Guide/Guide.md#required-dependencies" target="_blank"><strong>Dependencies</strong></a></p></div><p align="center"> <img src="https://i.imgur.com/YPXV9bc.png"></p><ul><li><a href="https://affinity.serif.com/en-gb/photo/?#top" target="_blank"><strong>Affinity Photo</strong></a></li></ul><p>Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><ul><li><a href="https://affinity.serif.com/en-us/designer/?#top" target="_blank"><strong>Affinity Designer</strong></a></li></ul><p>Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><ul><li><a href="https://affinity.serif.com/en-us/designer/?#top" target="_blank"><strong>Affinity Publisher</strong></a></li></ul><p>Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><h3 id="wrap-up">Wrap up<a class="headerlink" href="#wrap-up" title="Permanent link">&para;</a></h3><div class="admonition tip"><p class="admonition-title">Tip</p><p>Check the <a href="https://github.com/Twig6943/AffinityOnLinux/blob/main/Guide/Guide.md" target="_blank"><strong>Written Guide</strong></a> if you prefer doing it manually. Also the author posted his scripts on the <strong>Affinity</strong>'s forums, who knows maybe in the future a <strong>Linux</strong> native version ? Let's all cross our fingers 🤞</p></div><p>That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to <strong>Photoshop</strong> I have ever gotten, without having to go through <em>WinBlows</em> if ya know what I mean.</p><p>Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.</p>https://bytes.xerolinux.xyz/docs/affinity-linux/ Tue, 10 Sep 2024 21:53:38 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/affinity-linux/ Cosmic Install Script ArchLinux CosmicDE Linux XeroLinux <h2 align="center">.//Updated on Sep. 15th 2024\\.</h2><div class="admonition info"><p class="admonition-title">Info</p><p>This project has moved to the <a href="https://wiki.xerolinux.xyz/cosmic/" target="_blank"><strong>XeroLinux Wiki</strong></a>. Will keep this page around for updates. Keep in mind it's in <strong>Alpha</strong>.</p></div><h3 id="script-info">Script info<a class="headerlink" href="#script-info" title="Permanent link">&para;</a></h3><p>Well, it does what title says, it installs <strong>Cosmic</strong> in one of 3 ways, similar to how my <a href="https://xerolinux.xyz/news/xerolinux-plasma/" target="_blank"><strong>Plasma Install</strong></a> script does.</p><ul><li><strong>Complete</strong> : Installs Cosmic from Extra Repos.</li><li><strong>Selective</strong> : Select pkgs you want yourselves.</li><li><strong>Development</strong> : Commit-based Install -DANGER-.</li></ul><p align="center"> <img src="https://i.imgur.com/Fvl9uRU.png"></p><p>Included are some useful packages, like a freaking web browser eg. <strong>Firefox</strong>, an archive manager, <strong>Meld</strong> and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official <strong>Arch Repositories</strong> are supported, none from the <strong>AUR</strong>.</p><h3 id="wrapping-up">Wrapping up<a class="headerlink" href="#wrapping-up" title="Permanent link">&para;</a></h3><p><strong>Cosmic</strong> is shaping up to be the DE that <em>might</em> break the current <em>Top 2</em> (KDE and Gnome) making it the <em>Top 3</em> DEs of all time. Who knows ? I wish the <strong>System76</strong> team all the best.</p><p>Cheers !</p>https://bytes.xerolinux.xyz/projects/cosmic-script/ Sun, 08 Sep 2024 16:08:55 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/cosmic-script/ SUMMARY <ul><li><a href="../">🏠Home</a></li><li><a href="/docs/">🗒️Documentation</a></li><li><a href="/fund/">💰Fundraising</a></li><li><a href="/priv/">🗨️Thoughts</a></li><li><a href="/projects/">💻Projects</a></li><li><a href="/tech/">⚙️Technology</a></li></ul>https://bytes.xerolinux.xyz/SUMMARY/ Thu, 05 Sep 2024 19:30:45 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/SUMMARY/ Linux in a Nutshell Kernel Linux Packages <p>I thought I'd share this explanation about <strong>Linux</strong> a good friend and fellow Linux enthusiast <a href="https://github.com/REALERvolker1" target="_blank"><strong>REALERvolker1</strong></a> recently posted on <strong>Discord</strong>.</p><div class="admonition tip"><p class="admonition-title">Tip</p><p>The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various <em>Desktop Environments</em> or <em>Window Managers</em>. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...</p></div><h3 id="what-is-linux">What is Linux ?<a class="headerlink" href="#what-is-linux" title="Permanent link">&para;</a></h3><p>Since not everyone's super familiar with Linux, here's a quick crash course.</p><p>Linux is a <a href="https://en.wikipedia.org/wiki/Monolithic_kernel#:~:text=A%20monolithic%20kernel%20is%20an,virtual%20interface%20over%20computer%20hardware." target="_blank"><strong>Monolithic Kernel</strong></a>, so all the drivers and whatnot are compiled into the binary. The <a href="https://www.fsf.org/about/what-is-free-software" target="_blank"><strong>Nonfree software</strong></a> is usually put in the actual source repo as binary blobs, or in the case of <strong>nVidia</strong> drivers, built using a system called <a href="https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support" target="_blank"><strong>DKMS</strong></a> and compiled into the kernel binary.</p><p>Once the computer boots up, an init process is started (the default is <code>/sbin/init</code>, usually a symlink to your init system), which is <code>PID 1</code>. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having <em>too</em> much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.</p><p>Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being <a href="https://en.wikipedia.org/wiki/POSIX" target="_blank"><strong>POSIX</strong></a> compliant, and not really caring about file extensions.</p><p align="center"> <img width="600" src="https://i.imgur.com/Mu7NHx9.png" alt="logo"></p><h3 id="distros-pkg-managers">Distros &amp; PKG Managers<a class="headerlink" href="#distros-pkg-managers" title="Permanent link">&para;</a></h3><p>On <a href="https://www.debian.org" target="_blank"><strong>Debian</strong></a>, you install packages with <code>apt</code>. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a <em>GUI</em> frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the <a href="https://wiki.debian.org/DontBreakDebian" target="_blank"><strong>Debian Wiki</strong></a> is pretty mid, but the <a href="https://wiki.archlinux.org" target="_blank"><strong>Arch Wiki</strong></a> is amazing.</p><p>Since <a href="https://archlinux.org" target="_blank"><strong>Arch Linux</strong></a> aims to be the most generic <em>Linux distro</em> ever, information written for it should also help with <strong>Debian</strong>, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:</p><ul><li><strong>Flatpak:</strong> Sandboxed apps that "just work" on every distribution.</li><li><strong>Snap:</strong> <em>Ubuntu</em>'s sandboxed apps that are supposed to work on every distribution but have had mixed results.</li><li><strong>AppImages:</strong> These are like <code>.exe</code> files on <strong>Windows</strong>, but they require adding executable permissions and manually launching them. They also won't have a desktop entry by default.</li></ul><h3 id="filesystem-updates">Filesystem &amp; Updates<a class="headerlink" href="#filesystem-updates" title="Permanent link">&para;</a></h3><p>If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not—it might fix a bug.</p><p>As for the filesystem:</p><ul><li><code>/etc</code> is where your Editable Text Configurations go.</li><li><code>/usr</code> is where program files go.</li><li><code>/usr/local</code> is where program files go for programs you manually installed.</li><li><code>/home</code> is where your personal files go.</li><li><code>/dev</code> is for device files.</li><li>There is no <code>C</code> or <code>D</code> drive; instead, you mount external drives to a location, like <code>/mnt</code>. A GUI file manager mounts flash drives somewhere in <code>/run</code> since it is temporary.</li><li><code>/opt</code> is where miscellaneous stuff goes.</li><li><code>/var</code> is for variable data like system logs.</li><li><code>/tmp</code> is for temporary files.</li><li><code>/dev/null</code> is a "black hole" for data you want to discard.</li><li><code>/dev/urandom</code> is an IO-based random number generator.</li></ul><p>In <a href="https://en.wikipedia.org/wiki/Unix" target="_blank"><strong>UNIX</strong></a>, everything is a file. This means you can:</p><ul><li>See process details by reading files in <code>/proc</code>.</li><li>Check system settings or driver configurations in <code>/sys</code>.</li><li>View your bootloader in <code>/boot</code>.</li></ul><h3 id="wrapping-it-all-up">Wrapping it all up<a class="headerlink" href="#wrapping-it-all-up" title="Permanent link">&para;</a></h3><p>This was a quick run-through explaining what <strong>GNU/Linux</strong> is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.</p>https://bytes.xerolinux.xyz/docs/linux-explained/ Thu, 05 Sep 2024 19:30:45 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/linux-explained/ ArchISO Build ArchISO ArchLinux Linux <h3 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h3><p>This guide was written by following the <strong>ArchWiki</strong>. It's for my own use. The public version can be found on the official <a href="https://xerolinux.xyz/posts/build-archiso/" target="_blank"><strong>XeroLinux</strong></a>. This version will always be updated. Sometimes need to remind myself which files to modify...</p><p align="center"> <img src="https://i.imgur.com/QWqMIsr.png" alt="logo"></p><h3 id="lets-do-this">Let's do this 🚀<a class="headerlink" href="#lets-do-this" title="Permanent link">&para;</a></h3><p>First off we need to grab a few packages in order to be able to build the ISO.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo<span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>archiso</span></code></pre></div><p>Now we need create two folders in our home directory or anywhere else, up to you, one called <code>XeroWork</code> for placing extracted files, another called <code>XeroOut</code> where final ISO will be located.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>mkdir<span class="w"> </span>~/XeroWork<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>mkdir<span class="w"> </span>~/XeroOut</span></code></pre></div><p>Modify the <code>packages.x86_64</code> inside <code>releng</code> folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new &amp; updated <strong>ArchISO</strong>. Just use the command below and watch the magic happen.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo<span class="w"> </span>mkarchiso<span class="w"> </span>-v<span class="w"> </span>-w<span class="w"> </span>~/XeroWork<span class="w"> </span>-o<span class="w"> </span>~/XeroOut<span class="w"> </span>/usr/share/archiso/configs/releng</span></code></pre></div><p>Finally we can delete the work directory to save space. just do <code>sudo rm -rf ~/XeroWork/</code>.</p><p>That's it !</p>https://bytes.xerolinux.xyz/docs/build-archiso/ Thu, 05 Sep 2024 12:57:14 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/build-archiso/ MKDocs Install Blogging Linux MKDocs <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the installation of <a href="https://www.mkdocs.org" target="_blank"><strong>MKDocs</strong></a> the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for <strong>ArchLinux</strong> if you don't use that distro, well, their site shows how to install for your distro.</p><p><img alt="type:video" src="https://www.youtube.com/embed/9V0NpLPXS-Y" /></p><h3 id="installing-mkdocs">Installing MKDocs<a class="headerlink" href="#installing-mkdocs" title="Permanent link">&para;</a></h3><p>We will need to install it with some extras. The 2 main packages exist on the <strong>Arch</strong> repos. The rest are on the <strong>AUR</strong>, so to grab everything in one go, I will be using <strong>Paru</strong>. Compiling might take a while, so sit back wile it finishes.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>paru<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>mkdocs<span class="w"> </span>mkdocs-get-deps<span class="w"> </span>mkdocs-material<span class="w"> </span>python-pipx</span></code></pre></div><p>Donce that's done we need to create the site. There's a command for that.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>mkdocs<span class="w"> </span>new<span class="w"> </span>my-project</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="nb">cd</span><span class="w"> </span>my-project</span></code></pre></div><p>Now that we initialized the new site we need to configure it. We do so by editing the <code>mkdocs.yml</code> file putting in the following info :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">site_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Sitename</span></span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a></span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nt">theme</span><span class="p">:</span></span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">material</span></span><span id="__span-2-5"><a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">logo</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">assets/Tux.gif</span></span><span id="__span-2-6"><a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="nt">favicon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">assets/favicon.ico</span></span><span id="__span-2-7"><a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="nt">palette</span><span class="p">:</span></span><span id="__span-2-8"><a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="nt">scheme</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">slate</span></span><span id="__span-2-9"><a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="nt">primary</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">deep purple</span></span><span id="__span-2-10"><a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="w"> </span><span class="nt">features</span><span class="p">:</span></span><span id="__span-2-11"><a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.top</span></span><span id="__span-2-12"><a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.footer</span></span><span id="__span-2-13"><a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.indexes</span></span><span id="__span-2-14"><a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">content.code.copy</span></span><span id="__span-2-15"><a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.suggest</span></span><span id="__span-2-16"><a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.highlight</span></span><span id="__span-2-17"><a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.share</span></span><span id="__span-2-18"><a id="__codelineno-2-18" name="__codelineno-2-18" href="#__codelineno-2-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.expand</span></span></code></pre></div><p>This will make it use the <strong>Slate Material</strong> Theme with <strong>Deep Purple</strong> accents. To know more about the theme check the <a href="https://squidfunk.github.io/mkdocs-material/getting-started/" target="_blank"><strong>MKDocs Material Wiki</strong></a>. That's it go from there.</p><h3 id="plugins-extra-stuff">Plugins &amp; Extra Stuff<a class="headerlink" href="#plugins-extra-stuff" title="Permanent link">&para;</a></h3><p>I have found a few that I liked on the <strong>AUR</strong>, let's install them via :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>paru<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>mkdocs-autorefs<span class="w"> </span>mkdocs-section-index<span class="w"> </span>mkdocs-glightbox<span class="w"> </span>mkdocs-backlinks-plugin<span class="w"> </span>mkdocs-redirects<span class="w"> </span>mkdocs-ezlinks-plugin<span class="w"> </span>mkdocs-literate-nav</span></code></pre></div><p>For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...</p><ul><li>MKDocs-Video</li></ul><div class="language-Bash highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>wget<span class="w"> </span>https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz</span></code></pre></div><p>Extract &amp; <code>cd</code> into it then run the following command :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>sudo<span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>install</span></code></pre></div><ul><li>MKDocs-RSS</li></ul><div class="language-Bash highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/Guts/mkdocs-rss-plugin.git</span></code></pre></div><p>Now we <code>cd</code> into it then run the following command :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>sudo<span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>install</span></code></pre></div><p>To activate them we edit the same <code>mkdocs.yml</code> file as before like so :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="nt">plugins</span><span class="p">:</span></span><span id="__span-8-2"><a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rss</span></span><span id="__span-8-3"><a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">social</span></span><span id="__span-8-4"><a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search</span></span><span id="__span-8-5"><a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">autorefs</span></span><span id="__span-8-6"><a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">glightbox</span></span></code></pre></div><p>There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nt">markdown_extensions</span><span class="p">:</span></span><span id="__span-9-2"><a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a></span><span id="__span-9-3"><a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="c1"># Python Markdown</span></span><span id="__span-9-4"><a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">abbr</span></span><span id="__span-9-5"><a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">admonition</span></span><span id="__span-9-6"><a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">attr_list</span></span><span id="__span-9-7"><a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">def_list</span></span><span id="__span-9-8"><a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">footnotes</span></span><span id="__span-9-9"><a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">md_in_html</span></span><span id="__span-9-10"><a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">toc</span><span class="p">:</span></span><span id="__span-9-11"><a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a><span class="w"> </span><span class="nt">permalink</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-12"><a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a></span><span id="__span-9-13"><a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a><span class="w"> </span><span class="c1"># Python Markdown Extensions</span></span><span id="__span-9-14"><a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.arithmatex</span><span class="p">:</span></span><span id="__span-9-15"><a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a><span class="w"> </span><span class="nt">generic</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-16"><a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.betterem</span><span class="p">:</span></span><span id="__span-9-17"><a id="__codelineno-9-17" name="__codelineno-9-17" href="#__codelineno-9-17"></a><span class="w"> </span><span class="nt">smart_enable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">all</span></span><span id="__span-9-18"><a id="__codelineno-9-18" name="__codelineno-9-18" href="#__codelineno-9-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.caret</span></span><span id="__span-9-19"><a id="__codelineno-9-19" name="__codelineno-9-19" href="#__codelineno-9-19"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.details</span></span><span id="__span-9-20"><a id="__codelineno-9-20" name="__codelineno-9-20" href="#__codelineno-9-20"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.emoji</span><span class="p">:</span></span><span id="__span-9-21"><a id="__codelineno-9-21" name="__codelineno-9-21" href="#__codelineno-9-21"></a><span class="w"> </span><span class="nt">emoji_index</span><span class="p">:</span><span class="w"> </span><span class="kt">!!python/name:material.extensions.emoji.twemoji</span></span><span id="__span-9-22"><a id="__codelineno-9-22" name="__codelineno-9-22" href="#__codelineno-9-22"></a><span class="w"> </span><span class="nt">emoji_generator</span><span class="p">:</span><span class="w"> </span><span class="kt">!!python/name:material.extensions.emoji.to_svg</span></span><span id="__span-9-23"><a id="__codelineno-9-23" name="__codelineno-9-23" href="#__codelineno-9-23"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.highlight</span><span class="p">:</span></span><span id="__span-9-24"><a id="__codelineno-9-24" name="__codelineno-9-24" href="#__codelineno-9-24"></a><span class="w"> </span><span class="nt">anchor_linenums</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-25"><a id="__codelineno-9-25" name="__codelineno-9-25" href="#__codelineno-9-25"></a><span class="w"> </span><span class="nt">line_spans</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">__span</span></span><span id="__span-9-26"><a id="__codelineno-9-26" name="__codelineno-9-26" href="#__codelineno-9-26"></a><span class="w"> </span><span class="nt">pygments_lang_class</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-27"><a id="__codelineno-9-27" name="__codelineno-9-27" href="#__codelineno-9-27"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.inlinehilite</span></span><span id="__span-9-28"><a id="__codelineno-9-28" name="__codelineno-9-28" href="#__codelineno-9-28"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.keys</span></span><span id="__span-9-29"><a id="__codelineno-9-29" name="__codelineno-9-29" href="#__codelineno-9-29"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.mark</span></span><span id="__span-9-30"><a id="__codelineno-9-30" name="__codelineno-9-30" href="#__codelineno-9-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.smartsymbols</span></span><span id="__span-9-31"><a id="__codelineno-9-31" name="__codelineno-9-31" href="#__codelineno-9-31"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.superfences</span></span><span id="__span-9-32"><a id="__codelineno-9-32" name="__codelineno-9-32" href="#__codelineno-9-32"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.tabbed</span><span class="p">:</span></span><span id="__span-9-33"><a id="__codelineno-9-33" name="__codelineno-9-33" href="#__codelineno-9-33"></a><span class="w"> </span><span class="nt">alternate_style</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-34"><a id="__codelineno-9-34" name="__codelineno-9-34" href="#__codelineno-9-34"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.tasklist</span><span class="p">:</span></span><span id="__span-9-35"><a id="__codelineno-9-35" name="__codelineno-9-35" href="#__codelineno-9-35"></a><span class="w"> </span><span class="nt">custom_checkbox</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-36"><a id="__codelineno-9-36" name="__codelineno-9-36" href="#__codelineno-9-36"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.tilde</span></span><span id="__span-9-37"><a id="__codelineno-9-37" name="__codelineno-9-37" href="#__codelineno-9-37"></a></span><span id="__span-9-38"><a id="__codelineno-9-38" name="__codelineno-9-38" href="#__codelineno-9-38"></a><span class="nt">extra</span><span class="p">:</span></span><span id="__span-9-39"><a id="__codelineno-9-39" name="__codelineno-9-39" href="#__codelineno-9-39"></a><span class="w"> </span><span class="nt">social</span><span class="p">:</span></span><span id="__span-9-40"><a id="__codelineno-9-40" name="__codelineno-9-40" href="#__codelineno-9-40"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/github</span></span><span id="__span-9-41"><a id="__codelineno-9-41" name="__codelineno-9-41" href="#__codelineno-9-41"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://github.com/darkxero-dev</span></span><span id="__span-9-42"><a id="__codelineno-9-42" name="__codelineno-9-42" href="#__codelineno-9-42"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/youtube</span></span><span id="__span-9-43"><a id="__codelineno-9-43" name="__codelineno-9-43" href="#__codelineno-9-43"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://youtube.com/XeroLinuxOfficial</span></span><span id="__span-9-44"><a id="__codelineno-9-44" name="__codelineno-9-44" href="#__codelineno-9-44"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/x-twitter</span></span><span id="__span-9-45"><a id="__codelineno-9-45" name="__codelineno-9-45" href="#__codelineno-9-45"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://twitter.com/xerolinuxop</span></span><span id="__span-9-46"><a id="__codelineno-9-46" name="__codelineno-9-46" href="#__codelineno-9-46"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/mastodon</span></span><span id="__span-9-47"><a id="__codelineno-9-47" name="__codelineno-9-47" href="#__codelineno-9-47"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://fosstodon.org/@xerolinux</span></span></code></pre></div><p>That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to <a href="https://github.com/drewgrif" target="_blank"><strong>@JustAGuyLinux</strong></a> for helping out a little hehe.</p>https://bytes.xerolinux.xyz/docs/mkdocs-install/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/mkdocs-install/ FOSS Fundraising ArchLinux Fundraising Linux <h3 id="backstory">Backstory<a class="headerlink" href="#backstory" title="Permanent link">&para;</a></h3><p>Before I begin, I would like to clarify that, when I say <strong>Linux</strong> in this context I mean <strong>Desktop Linux</strong>.</p><p>When I started this whole <strong>Linux</strong> endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with <a href="https://kde.org" target="_blank"><strong>KDE Plasma</strong></a> while using the now infamous <a href="https://manjaro.org" target="_blank"><strong>Manjaro</strong></a> Distrobution. Yes, this is when I got hooked to <strong>Linux</strong>. Now don't get me wrong, I have since tried many DEs and WMs. But alas only <strong>KDE Plasma</strong> answered my needs.</p><p>Since then I started getting the urge to build my own <em>Distro</em> my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called <a href="https://arcolinux.info" target="_blank"><strong>ArcoLinux</strong></a>. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro <a href="https://archlinux.org" target="_blank"><strong>ArchLinux</strong></a>.</p><h3 id="fundraising">Fundraising<a class="headerlink" href="#fundraising" title="Permanent link">&para;</a></h3><p>Now we get to the meat and potatoes of this post, why ask for money when it's <strong>FOSS</strong> ? Well in case you did not know, the <em>Free</em> in <em>Free Open Source</em> does <strong>NOT</strong> mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our <strong>TIME</strong>.</p><p>Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a <em>real</em> job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.</p><p>Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the <em>Fundraising</em> or <em>Donation</em> methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the <strong>Donate</strong> button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)</p><h3 id="hate-in-foss">Hate in FOSS<a class="headerlink" href="#hate-in-foss" title="Permanent link">&para;</a></h3><p>Now let's address the <em>other</em> elephant in the room, the hate in the <strong>FOSS</strong> community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word <em>Free</em> in <em>Free Open Source</em>. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they <em>despise</em> others, the ones we call <em>Protest Distros</em>. Now am not going to name any names here, but the longer this goes on, the slower <strong>Linux</strong> will grow.</p><p>So if you love <strong>Linux</strong> as much as you say you do, please help your favorite projects grow in any way shape or form, either <em>Donating</em> for financial support if you can and are not a developer, or by simply <em>Reporting Issues</em> upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.</p><p>Anyways, thanks for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p><p>See ya there</p>https://bytes.xerolinux.xyz/fund/foss-fundraising/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/fund/foss-fundraising/ GPU &/or CPU Fund ArchLinux Fundraising Hardware Linux Upgrade <h4 id="whats-this">What's this ?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h4><p>My PC could really use an upgrade. I’m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the <strong>CPU</strong> and <strong>GPU</strong>. With the <strong>XeroLinux</strong> Distro not coming back anytime soon, it’s crucial to put funds towards these upgrades where they truly matter.</p><p align="center"> <img width="600" src="https://i.imgur.com/sy5D8T0.png" alt="logo"></p><p>As you can see from image above, the <strong>GTX 1080</strong> (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As <em>nVidia</em> just announced it's going full Open-Source. You can read more on &gt;&gt; <a href="https://www.phoronix.com/news/NVIDIA-Transitions-OSS-KMD" target="_blank"><strong>This Article</strong></a></p><h4 id="what-cpu">What CPU ?<a class="headerlink" href="#what-cpu" title="Permanent link">&para;</a></h4><p>Well, I’m not looking for much. For the CPU, I’m considering an upgrade to either the <a href="https://www.lebanonstores.com/shop-1/amd-ryzen-7-5800x3d-socket-am4" target="_blank"><strong>Ryzen 7 5800X3D</strong></a> valued at $330 or the <a href="https://global.microless.com/product/amd-ryzen-9-5950x-16-core-3-4-ghz-socket-am4-105w-desktop-processor-100-100000059wof/" target="_blank"><strong>Ryzen 9 5950X</strong></a> valued at $452. Honestly, it doesn’t matter which one—I just need that extra boost for compiling stuff.</p><p><img alt="type:video" src="https://www.youtube.com/embed/4IJCsxeCJ6o" /></p><h4 id="what-gpu">What GPU ?<a class="headerlink" href="#what-gpu" title="Permanent link">&para;</a></h4><p>That’s where things get a bit tricky. I’m still undecided between sticking with <strong>nVidia</strong> or switching to <strong>AMD</strong>. I am currently torn between the two. Now, I know most of you would recommend <strong>AMD</strong> because it’s hassle-free on <strong>Linux</strong>—and you’d be right. But as a content creator who relies on <a href="https://docs.nvidia.com/cuda/" target="_blank"><strong>Cuda</strong></a> and <strong>nVidia</strong>'s <a href="https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/" target="_blank"><strong>nVenc Encoder</strong></a>, I’m leaning towards sticking with nVidia.</p><p><img alt="type:video" src="https://www.youtube.com/embed/0VbzHckdHNE" /></p><p>However, if I do decide to switch to Team Red, I’d go for the <a href="https://www.lebanonstores.com/shop-1/amd-radeon-rx-6950xt-16gb" target="_blank"><strong>RX 6950XT</strong></a> currently valued at $400 here. Otherwise, if I stay with Team-Green, it’s going to be the <a href="https://www.lebanonstores.com/shop-1/rtx-3090-msi-suprim-x-24gb" target="_blank"><strong>RTX 3090</strong></a> valued at $595.</p><h4 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h4><p>Upgrading the <strong>GPU</strong> is my top priority right now, as it will make the most significant impact. My current <strong>GTX 1080</strong> is nearing its end-of-life, and I can manage with my <strong>Ryzen 5 3600X</strong> for a bit longer. So, if you can help me raise enough funds to upgrade the <strong>GPU</strong> and stay ahead in the <strong>Linux</strong> world, I’d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.</p><p>Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we’ll reach the goal in no time. Your support means the world to me, and it’ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.</p><p><center><script type='text/javascript' src='https://storage.ko-fi.com/cdn/widget/Widget_2.js'></script><script type='text/javascript'>kofiwidget2.init('Support Me on Ko-fi', '#9d28e0', 'I2I4K55AA');kofiwidget2.draw();</script></center></p>https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ Be Thankful Content Creation Linux YouTube <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.</p><h3 id="content-creators">Content Creators<a class="headerlink" href="#content-creators" title="Permanent link">&para;</a></h3><p>Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.</p><p>YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.</p><p>Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.</p><h3 id="writers-blog-posters">Writers / Blog Posters<a class="headerlink" href="#writers-blog-posters" title="Permanent link">&para;</a></h3><p>This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.</p><p>One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I’ve learned to improve, and I thank them for that.</p><h3 id="appreciating-ccs-and-writers">Appreciating CCs and Writers<a class="headerlink" href="#appreciating-ccs-and-writers" title="Permanent link">&para;</a></h3><p>We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.</p><p>Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.</p><p>As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.</p><h3 id="fostering-a-positive-community">Fostering a Positive Community<a class="headerlink" href="#fostering-a-positive-community" title="Permanent link">&para;</a></h3><p>The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.</p><p>When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.</p><p>Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.</p><h3 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h3><p>Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.</p>https://bytes.xerolinux.xyz/priv/be-thankful/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/be-thankful/ Developing is fun Developer Development Linux <h3 id="am-i-a-developer">Am I a Developer ?<a class="headerlink" href="#am-i-a-developer" title="Permanent link">&para;</a></h3><p>Lol, yeah, I know—it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code—specifically <strong>Bash</strong>. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.</p><p><img alt="type:video" src="https://www.youtube.com/embed/8_K-NOu-STs" /></p><p>And if it does work, I'm happy and share the result with the <strong>FOSS</strong> community.</p><h3 id="its-fun-until">It's fun until...<a class="headerlink" href="#its-fun-until" title="Permanent link">&para;</a></h3><p>Doing this is super fun and fulfilling—until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.</p><p>Now, I know I can reach out to the <strong>FOSS</strong> community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.</p><p>Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere—not just in <strong>FOSS</strong>. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.</p><p>Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.</p><h3 id="sharing-is-caring">Sharing is caring<a class="headerlink" href="#sharing-is-caring" title="Permanent link">&para;</a></h3><p>This is the part where I say: please, don't keep your work to yourself. Share it with the community—who knows, maybe you'll find someone who can help take your project to another level.</p><p>I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.</p><p>"Sharing is caring," as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)</p>https://bytes.xerolinux.xyz/priv/developing-is-fun-but/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/developing-is-fun-but/ FOSS Struggles FOSS Fundraising Health Linux Struggles <h3 id="hello-everyone">Hello everyone,<a class="headerlink" href="#hello-everyone" title="Permanent link">&para;</a></h3><p>Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.</p><p>Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.</p><blockquote><p>P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let’s dive in.</p></blockquote><p><img alt="type:video" src="https://www.youtube.com/embed/BpmAFwZy0Gg" /></p><h3 id="my-frustration">My Frustration<a class="headerlink" href="#my-frustration" title="Permanent link">&para;</a></h3><p>Recently, I’ve been investing a lot of time and effort into my projects and contributing to <strong>FOSS</strong> (Free and Open Source Software) wherever possible. While I find this work rewarding, it’s also been increasingly frustrating. Why? Let me explain.</p><p>I spend countless hours working behind the scenes to make everyone’s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it’s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I’m making a real impact.</p><h3 id="seeking-purpose">Seeking Purpose<a class="headerlink" href="#seeking-purpose" title="Permanent link">&para;</a></h3><p>Initially, I embarked on this journey for fun and to learn new things. However, lately, I’ve been questioning the purpose behind my efforts. It feels like I’m stuck in a cycle of constant work with little to show for it. This isn’t about blaming anyone; it’s about seeking the motivation to keep going.</p><h3 id="monetization-attempts">Monetization Attempts<a class="headerlink" href="#monetization-attempts" title="Permanent link">&para;</a></h3><p>As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a "pay what you can" model, hoping it would help sustain my work. However, this didn’t go as planned.</p><p>The <strong>FOSS</strong> community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It’s a complex issue, and while some have been supportive, overall, the response hasn’t been enough to make a significant difference.</p><h3 id="health-concerns">Health Concerns<a class="headerlink" href="#health-concerns" title="Permanent link">&para;</a></h3><p>On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn’t cheap, and without stable income, it’s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.</p><h3 id="mental-health-struggles">Mental Health Struggles<a class="headerlink" href="#mental-health-struggles" title="Permanent link">&para;</a></h3><p>The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.</p><h3 id="the-way-forward">The Way Forward<a class="headerlink" href="#the-way-forward" title="Permanent link">&para;</a></h3><p>Given these circumstances, I’m focusing more on forums and this blog. Writing provides a creative outlet that isn’t constrained by algorithms or view counts. I’ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.</p><p>My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.</p><h3 id="closing-thoughts">Closing Thoughts<a class="headerlink" href="#closing-thoughts" title="Permanent link">&para;</a></h3><p>I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.</p><p>For now, I need to prioritize my well-being and financial stability. Once those are in place, I’ll be back with future projects. Right now, I’m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.</p><p>Thank you for understanding and supporting me through this journey.</p>https://bytes.xerolinux.xyz/priv/real-foss-struggles/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/real-foss-struggles/ Docker A Love Story Containers Docker Linux <h3 id="what-is-docker">What is Docker ?<a class="headerlink" href="#what-is-docker" title="Permanent link">&para;</a></h3><p><a href="https://docker.com/" target="_blank"><strong>Docker</strong></a> is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.</p><p align="center"> <img width="500" src="https://i.imgur.com/bbD4JDy.png" alt="logo"></p><h3 id="how-it-all-started">How it all started<a class="headerlink" href="#how-it-all-started" title="Permanent link">&para;</a></h3><p>It all started with <a href="https://distrobox.it/" target="_blank"><strong>Distrobox</strong></a>. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered <strong>Docker</strong> containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like <a href="https://immich.app/" target="_blank"><strong>Immich</strong></a> for images and videos, which would allow me to sync my devices locally rather than with <a href="https://icloud.com" target="_blank"><strong>Apple iCloud</strong></a> or <strong>Google</strong> making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...</p><p>With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3<sup>rd</sup> party conglomerates made me fall in love more and more as time went by...</p><h3 id="my-setup-so-far">My setup so far<a class="headerlink" href="#my-setup-so-far" title="Permanent link">&para;</a></h3><p>Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive <strong>MY</strong> setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.</p><p align="center"> <img width="500" src="https://i.imgur.com/DhfbUBs.png" alt="logo"></p><ul><li><strong>Homepage</strong></li></ul><p>To start off, let me tell you what am using for the page you see in the image, it's simply called <a href="https://gethomepage.dev" target="_blank"><strong>Homepage</strong></a>. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via <a href="https://en.wikipedia.org/wiki/YAML" target="_blank"><strong>YAML</strong></a> configurations files, and that the community behind it are so damn friendly ! Yep, there is no <em>dumb</em> question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their <a href="https://discord.gg/k4ruYNrudu" target="_blank"><strong>Discord Server</strong></a>.</p><ul><li><strong>File Browser</strong></li></ul><p>As for the File Browser I use to share files between PCs, it's also has a <em>creative</em> name lol, just called <a href="https://filebrowser.org" target="_blank"><strong>FileBrowser</strong></a>, it serves one purpose, browsing files, with ability to upload &amp; download from/to any PC. That's it. It just works nothing else to say about that.</p><ul><li><strong>Search Engine (Xoogle)</strong></li></ul><p>Hehe, the only reason I called it <em>Xoogle</em> is coz it's Xero + Google, get it ? Anyway, this is using something called <a href="https://whoogle.io" target="_blank"><strong>Whoogle</strong></a>, weird name I know, loogs damn ugly too. It's just a search engine that uses <strong>Google</strong> stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of <strong>Google</strong> the way it was back in the day..</p><ul><li><strong>Vaultwarden</strong></li></ul><p>That's a 3<sup>rd</sup>-party <a href="https://bitwarden.com" target="_blank"><strong>Bitwarden</strong></a> server-as-a-container, endorsed by them so can be trusted called <a href="https://github.com/dani-garcia/vaultwarden" target="_blank"><strong>Vaultwarden</strong></a>. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.</p><ul><li><strong>ShareX</strong></li></ul><p>This one is not for everyone. It uses <a href="https://zipline.diced.sh" target="_blank"><strong>Zipline</strong></a>. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.</p><ul><li><strong>My Comics</strong></li></ul><p>I am a big fan of comic books, especially the ones from my childhood. This container uses <a href="https://kavitareader.com/" target="_blank"><strong>Kavita</strong></a>. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their <a href="https://discord.gg/b52wT37kt7" target="_blank"><strong>Discord Server</strong></a>.</p><ul><li><strong>Audiobookshelf</strong></li></ul><p>I guess I do not need to explain that one. It's just a docker container for <a href="https://www.audiobookshelf.org" target="_blank"><strong>Audiobookshelf</strong></a>. In case you have some Audio books or podcasts. Have fun.</p><ul><li><strong>FreshRSS</strong></li></ul><p>That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called <a href="https://www.freshrss.org" target="_blank"><strong>FreshRSS</strong></a>. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.</p><ul><li><strong>Immich</strong></li></ul><p>Now, this is one of the big ones, <a href="https://immich.app" target="_blank"><strong>Immich</strong></a> is an amazing image cloud like service. Allowing you to move away from <strong>Apple</strong> and <strong>Google</strong>. I love that as I said at the beginning of this long post. They even have companion apps for both <a href="https://play.google.com/store/apps/details?id=app.alextran.immich" target="_blank"><strong>Android</strong></a> and <a href="https://apps.apple.com/sg/app/immich/id1613945652" target="_blank"><strong>iOS</strong></a> which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.</p><h3 id="you-get-the-idea">You get the idea<a class="headerlink" href="#you-get-the-idea" title="Permanent link">&para;</a></h3><p>Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's <strong>BIG</strong> rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.</p><ul><li><a href="https://plex.tv" target="_blank"><strong>Plex Server</strong></a></li><li><a href="https://github.com/alexta69/metube" target="_blank"><strong>meTube</strong></a></li><li><a href="https://koel.dev" target="_blank"><strong>Koel</strong></a></li><li><a href="https://tautulli.com" target="_blank"><strong>Tautulli</strong></a></li><li><a href="https://www.portainer.io" target="_blank"><strong>Portainer</strong></a></li><li><a href="https://github.com/schlagmichdoch/pairdrop" target="_blank"><strong>PairDrop</strong></a></li><li><a href="https://github.com/CorentinTh/it-tools" target="_blank"><strong>IT-Tools</strong></a></li><li><a href="https://cockpit-project.org" target="_blank"><strong>Cockpit</strong></a></li></ul><h3 id="where-to-find-more-containers">Where to find more containers ?<a class="headerlink" href="#where-to-find-more-containers" title="Permanent link">&para;</a></h3><p>Well, there are many places, but my favorite has to be <a href="https://selfh.st/apps/" target="_blank"><strong>Selfh.st</strong></a> hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.</p><h3 id="closing-words">Closing words<a class="headerlink" href="#closing-words" title="Permanent link">&para;</a></h3><p>Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.</p><p>Thanks again for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p>https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ XeroLinux Channel ArchLinux Linux XeroLinux YouTube <h3 id="youtube-channel">YouTube Channel ?<a class="headerlink" href="#youtube-channel" title="Permanent link">&para;</a></h3><p>Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, <strong>Nice!</strong>.</p><p>But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.</p><h3 id="what-now-xero">What now Xero ?<a class="headerlink" href="#what-now-xero" title="Permanent link">&para;</a></h3><p>Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since <strong>YouTube</strong> and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.</p><h3 id="whats-the-catch">What's the Catch ?<a class="headerlink" href="#whats-the-catch" title="Permanent link">&para;</a></h3><p>This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the <a href="https://ko-fi.com/XeroLinux" target="_blank"><strong>XeroLinux Ko-Fi</strong></a> fundraiser for the forseeable future.</p><p>Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to <em>donate</em>, however would be highly appreciated if you do.</p><h3 id="future-plans">Future Plans<a class="headerlink" href="#future-plans" title="Permanent link">&para;</a></h3><p>When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.</p><p>Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.</p><p>Anyways, thanks again for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p>https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ Wed, 04 Sep 2024 20:51:54 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ Why Revive XeroLinux ArchLinux Distribution Linux XeroLinux <div class="admonition info"><p class="admonition-title">Info</p><p>This post will explain why I decided to bring back <strong>XeroLinux</strong> and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the <a href="https://wiki.xerolinux.xyz/distro/" target="_blank"><strong>XeroLinux Wiki</strong></a></p></div><h3 id="what-is-xerolinux">What is XeroLinux<a class="headerlink" href="#what-is-xerolinux" title="Permanent link">&para;</a></h3><p>In short, it's just an alternative to the <a href="https://wiki.xerolinux.xyz/plasma/" target="_blank"><strong>Plasma Install Script</strong></a>, making it easier to install <strong>Arch</strong>, bypassing the need for <strong>ArchInstall</strong>. The ISO includes my toolkit as well as my famous <a href="https://wiki.xerolinux.xyz/rice/" target="_blank"><strong>Xero Layan Rice</strong></a> all-in-one shot.</p><p align="center"> <img src="https://i.imgur.com/ejZ1ZQv.png"></p><p>You can use the included <a href="https://wiki.xerolinux.xyz/xlapit/" target="_blank"><strong>Xero Toolkit</strong></a>, 1<sup>st</sup> icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the <a href="https://aur.chaotic.cx" target="_blank"><strong>Chaotic-AUR</strong></a> repository so it's easier for you to install <strong>AUR</strong> packages rather from having to compile them.</p><h3 id="why-is-xerolinux-back">Why is XeroLinux back<a class="headerlink" href="#why-is-xerolinux-back" title="Permanent link">&para;</a></h3><p>To explain why, let me set the stage. As you may already know, I’m going through significant financial difficulties. Living in Lebanon, finding a job—especially a remote one—is extremely challenging, and the situation continues to worsen. I won’t rehash the entire story here, but if you’re not familiar, you can read more about it in this <a href="https://blog.techxero.com/index.php/2024/06/07/actively-looking-for-a-job/" target="_blank"><strong>BlogPost</strong></a>.</p><p>After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro’s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it—and make it a way to sustain myself?</p><p><img alt="type:video" src="https://www.youtube.com/embed/lsYg6-wUWXw" /></p><p>Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the <a href="https://distrowatch.com" target="_blank"><strong>DistroWatch</strong></a> rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!</p><p>That answers the why.</p><h3 id="how-to-get-it">How to get it<a class="headerlink" href="#how-to-get-it" title="Permanent link">&para;</a></h3><p>I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO—a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the <a href="https://xerolinux.xyz/iso/" target="_blank"><strong>Release Post</strong></a></p><p>Now, I know that some of you will say, "But it's FOSS; you shouldn't charge for it." To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the <a href="https://github.com/XeroLinuxDev" target="_blank"><strong>Source Code</strong></a> and do with it as you wish. I am simply charging for my time.</p><p>The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up… well, let's not dwell on that. Let’s focus on keeping it alive and thriving for a long and happy journey together!</p><h3 id="is-it-any-special">Is it any Special<a class="headerlink" href="#is-it-any-special" title="Permanent link">&para;</a></h3><p>This is a common question I get. To be honest, there’s no groundbreaking advantage—it simply provides an easier way to install <strong>Arch</strong> with a polished <strong>KDE</strong> experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.</p><p>Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that <strong>XeroLinux</strong> is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.</p><h3 id="how-to-get-it-for-free">How to get it for free<a class="headerlink" href="#how-to-get-it-for-free" title="Permanent link">&para;</a></h3><p>If you can’t support me financially but still want <strong>XeroLinux</strong>, while the ISO isn't available for free right now, you can still achieve similar results with my <a href="https://xerolinux.xyz/news/xerolinux-plasma/" target="_blank"><strong>PlasmaInstall</strong></a> script, which will always be free of charge. It just requires a bit more elbow grease on your part—that’s all there is to it!</p><h3 id="i-dont-like-arch">I don't like Arch<a class="headerlink" href="#i-dont-like-arch" title="Permanent link">&para;</a></h3><p>In case you don't like <strong>Arch</strong> for whatever reason, but still want to support me, I have put up a <a href="https://shop.xerolinux.xyz" target="_blank"><strong>Merch Store</strong></a> where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.</p><h3 id="private-donations">Private Donations<a class="headerlink" href="#private-donations" title="Permanent link">&para;</a></h3><p>Did you know I have a private fundraiser account? It’s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at <a href="https://fundrazr.com/xerolinux" target="_blank"><strong>FundRazr</strong></a>.</p><p>Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving <strong>XeroLinux</strong>, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn’t been getting much support. Ideally, I’d love to keep these funds separate, but ultimately, it’s your choice.</p><h3 id="wrapping-up">Wrapping up<a class="headerlink" href="#wrapping-up" title="Permanent link">&para;</a></h3><p>That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.</p><p>Thank you to each and everyone for the support.</p>https://bytes.xerolinux.xyz/projects/why-is-distro-back/ Wed, 04 Sep 2024 20:51:54 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/why-is-distro-back/ 🏠Home <h1 id="welcome">Welcome<a class="headerlink" href="#welcome" title="Permanent link">&para;</a></h1><div class="admonition info"><p class="admonition-title">Info</p><p>All the documentation found herein, will be for <strong>ArchLinux</strong> since that's the distro I use. Some will be general <strong>Linux</strong> ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.</p></div><p>Welcome to <strong>DarkXero's Bytes</strong> ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the <a href="https://xerolinux.xyz" target="_blank"><strong>XeroLinux</strong></a> main site.</p><p align="center"> <img src="https://i.imgur.com/ZAvPAkx.png" alt="logo"></p><p>Documenting my learning journey has become an essential part of my <strong>Linux</strong> experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.</p><p align="center"> <img src="https://i.imgur.com/TgVQf9z.png" alt="ArchPorn"></p>https://bytes.xerolinux.xyz/ Wed, 04 Sep 2024 18:37:45 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/ \ No newline at end of file + DarkXero's BytesThoughts, Opinions, Documentation, and more...https://bytes.xerolinux.xyz/en Sat, 21 Sep 2024 09:17:20 -0000 Sat, 21 Sep 2024 09:17:20 -0000 60 MkDocs RSS plugin - v1.15.0 https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png DarkXero's Byteshttps://bytes.xerolinux.xyz/ Current Situation Lebanon Situation Struggles War <h3 id="hello-everyone">Hello everyone,<a class="headerlink" href="#hello-everyone" title="Permanent link">&para;</a></h3><p>Today is one of those days where words fall short. The past few days have been incredibly difficult for us here in <strong>Lebanon</strong>, and it feels like things are only getting worse with each passing moment. Both the political and economic situation are spiraling out of control, and it’s impacting every single person here. Close friends, people I’ve known for years, have been injured, and some have even been forced to flee their homes. We’re now living in a reality where technology, something we all rely on daily, has become a source of fear. Can you imagine? Tech warfare? Exploding pagers and phones? It’s something straight out of a dystopian novel, but it's happening right here, right now.</p><p>We are terrified to carry even the most basic tech devices, and it's surreal to say the least.</p><p><img alt="type:video" src="https://www.youtube.com/embed/OmeKpICXiBA" /></p><p>In the video below, you’ll see just how grim the situation has become. Just yesterday, a town not far from where I live was hit. I didn’t just hear it, I <em>felt</em> it. The windows shook violently as multiple, deafening sonic booms erupted overhead. I don’t exaggerate when I say my heart sank. The sound alone brought back memories of the 1970s and 80s, when I lived through a different war, but the fear is just as real now as it was then. I’m still shaking as I write this. This kind of fear paralyzes you. You never know if the next blast will be the one that hits your home.</p><p><img alt="type:video" src="https://www.youtube.com/embed/tC1a3kk8jKQ" /></p><p>For the first time in my life, I genuinely don’t know what to do. Should I flee? Should I stay? Do I hide and pray it doesn’t get worse? I’ve been praying for things to calm down for over a year now, ever since the violence in the south started, but each day feels heavier, as if we’re on the edge of something catastrophic.</p><h3 id="safety-1st">Safety 1<sup>st</sup><a class="headerlink" href="#safety-1st" title="Permanent link">&para;</a></h3><p>With everything that’s happening, I need to prioritize my safety and that of my family. If the situation continues to deteriorate, I may be forced to stop everything I’m doing just to focus on survival. We’re actively searching for potential shelters, just in case things take an even darker turn. It’s heartbreaking, but these are the conversations we’re having right now—finding a safe place to hide from the chaos.</p><p>I know many of you are eagerly waiting for updates on the <strong>XeroLinux</strong> project, and believe me, I haven’t forgotten about it. But I hope you understand that it’s nearly impossible to work under these conditions. My mind is constantly racing, wondering if we’ll be the next to face the violence, or if a full-scale war will erupt before we even have a chance to react.</p><h3 id="how-to-help">How to help<a class="headerlink" href="#how-to-help" title="Permanent link">&para;</a></h3><p>As most of you are aware, my financial situation has been precarious for quite some time. If I do have to flee the country, I’m going to need resources to make that happen. Right now, I have about $320 to my name. That’s not nearly enough to cover the costs of leaving Lebanon if things continue to worsen.</p><p>If you want to help, please know that this is separate from any funds raised for the XeroLinux project. I’ve made sure to keep the project’s funds separate so they are used exclusively for its development and survival. The funds I need now are for a different, more personal cause—ensuring my safety and the safety of my family.</p><p>If you’re able and willing to contribute, your help could make a real difference in what happens next. No amount is too small, and every bit helps in these uncertain times.</p><p>To do so head on over to <a href="https://fundrazr.com/XeroLinux?ref=ab_eBckkc"><strong>FundRazr</strong></a>.</p><p>Thanks for all your help &amp; support !</p>https://bytes.xerolinux.xyz/priv/current-situation/ Sat, 21 Sep 2024 09:17:21 +0000DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/current-situation/ Reset Password Linux Recovery Reset <h3 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h3><p>I have lost my root pass on <strong>Linux</strong> more times than I can count. This guide is here so I do not have to <em>Google</em> it lol. Might be useful to you I dunno. But it's here.</p><p align="center"> <img src="https://i.imgur.com/VFXV09r.jpeg"></p><h3 id="lets-do-this">Let's do this 🚀<a class="headerlink" href="#lets-do-this" title="Permanent link">&para;</a></h3><p>How to reset forgotten root password in a <strong>GNU/Linux</strong> distribution with <code>GRUB</code>?</p><p>If this is a laptop or a desktop which you have next to you then follow these steps.</p><ol><li>Shut down the device.</li><li>Start it again. When you see GRUB menu, press the <code>e</code> key on the keyboard before the system starts booting.</li><li>In the <code>GRUB</code> boot options, scroll down and locate the line that begins with <code>linux</code>. In this line move the cursor to the end, right after <code>ro quiet</code>. Delete everything after that. Change <code>ro</code> to <code>rw</code>. Append the parameter <code>init=/bin/bash</code></li><li>Press Ctrl+x, or F10, to boot.</li><li>You will see a root prompt.</li></ol><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>:#</span></code></pre></div><p>Remount the filesystem in read/write mode:</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>:#<span class="w"> </span>mount<span class="w"> </span>-no<span class="w"> </span>remount,rw<span class="w"> </span>/</span></code></pre></div><ol><li>Set the password of any user(s).</li></ol><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>:#<span class="w"> </span>passwd<span class="w"> </span>joe</span></code></pre></div><ol><li>Reboot with the command <code>reboot -f</code>.</li></ol><p>That's it ! The new password should work now.</p>https://bytes.xerolinux.xyz/docs/passwd-reset/ Tue, 17 Sep 2024 12:47:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/passwd-reset/ FFmpeg Cheat Sheet CheatSheet FFmpeg Linux <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the use of <a href="https://www.ffmpeg.org/ffmpeg.html" target="_blank"><strong>FFmpeg</strong></a> on <strong>Linux</strong>.</p><p align="center"> <img src="https://i.imgur.com/TweW8fW.png"></p><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>First we will need to install <code>FFmpeg</code>. I will be doing it on <strong>ArchLinux</strong> since that's what I use. Look for packages on your distro if you don't use it.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo<span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>--needed<span class="w"> </span>ffmpeg<span class="w"> </span>ffmpegthumbnailer<span class="w"> </span>ffmpegthumbs<span class="w"> </span>qt6-multimedia-ffmpeg</span></code></pre></div><p>Now that we have it, it's time for the cheat sheet.</p><hr /><h1 align="center">.// The Cheat Sheet \\.</h1><h2 id="basic-conversion">Basic conversion<a class="headerlink" href="#basic-conversion" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>ffmpeg -i in.mp4 out.avi</span></code></pre></div><h3 id="remux-an-mkv-file-into-mp4">Remux an MKV file into MP4<a class="headerlink" href="#remux-an-mkv-file-into-mp4" title="Permanent link">&para;</a></h3><div class="language-text highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4</span></code></pre></div><h3 id="high-quality-encoding">High-quality encoding<a class="headerlink" href="#high-quality-encoding" title="Permanent link">&para;</a></h3><p>Use the <code>crf</code> (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to <code>-crf 18</code>. Use the <code>preset</code> parameter to control the speed of the compression process. <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" target="_blank"><strong>Additional info</strong></a>.</p><div class="language-text highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4</span></code></pre></div><h2 id="trimming">Trimming<a class="headerlink" href="#trimming" title="Permanent link">&para;</a></h2><p>Without re-encoding:<div class="language-text highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4</span></code></pre></div>- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-ss</code></a> specifies the start time, e.g. <code>00:01:23.000</code> or <code>83</code> (in seconds)- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-t</code></a> specifies the duration of the clip (same format).- Recent <code>ffmpeg</code> also has a flag to supply the end time with <code>-to</code>.- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-c</code></a> copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.</p><p>With re-encoding:</p><p>If you leave out the <code>-c copy</code> option, <code>ffmpeg</code> will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the <a href="https://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide" target="_blank"><strong>x264 Encoding Guide</strong></a> and the <a href="http://ffmpeg.org/trac/ffmpeg/wiki/AACEncodingGuide" target="_blank"><strong>AAC Encoding Guide</strong></a>, respectively.</p><p>For example:<div class="language-text highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4</span></code></pre></div></p><h2 id="mux-video-and-audio-from-another-video">Mux video and audio from another video<a class="headerlink" href="#mux-video-and-audio-from-another-video" title="Permanent link">&para;</a></h2><p>To copy the video from in0.mp4 and audio from in1.mp4:<div class="language-text highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4</span></code></pre></div>- With <a href="http://ffmpeg.org/ffmpeg.html#Stream-copy" target="_blank">-c copy</a> the streams will be <code>stream copied</code>, not re-encoded, so there will be no quality loss. If you want to re-encode, see <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" target="_blank"><strong>FFmpeg Wiki: H.264 Encoding Guide</strong></a>.- The <code>-shortest</code> option will cause the output duration to match the duration of the shortest input stream.- See the <a href="http://ffmpeg.org/ffmpeg.html#Advanced-options" target="_blank"><code>-map</code> option documentation</a> for more info.</p><h2 id="concat-demuxer">Concat demuxer<a class="headerlink" href="#concat-demuxer" title="Permanent link">&para;</a></h2><p>First, make a text file.<div class="language-text highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>file &#39;in1.mp4&#39;</span><span id="__span-7-2"><a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>file &#39;in2.mp4&#39;</span><span id="__span-7-3"><a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a>file &#39;in3.mp4&#39;</span><span id="__span-7-4"><a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a>file &#39;in4.mp4&#39;</span></code></pre></div>Then, run <code>ffmpeg</code>:<div class="language-text highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>ffmpeg -f concat -i list.txt -c copy out.mp4</span></code></pre></div></p><h2 id="delay-audiovideo">Delay audio/video<a class="headerlink" href="#delay-audiovideo" title="Permanent link">&para;</a></h2><p>Delay video by 3.84 seconds:<div class="language-text highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4</span></code></pre></div>Delay audio by 3.84 seconds:<div class="language-text highlight"><pre><span></span><code><span id="__span-10-1"><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4</span></code></pre></div></p><h2 id="burn-subtitles">Burn subtitles<a class="headerlink" href="#burn-subtitles" title="Permanent link">&para;</a></h2><p>Use the <a href="http://ffmpeg.org/ffmpeg.html#ass" target="_blank">libass</a> library (make sure your ffmpeg install has the library in the configuration <code>--enable-libass</code>).</p><p>First convert the subtitles to .ass format:<div class="language-text highlight"><pre><span></span><code><span id="__span-11-1"><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>ffmpeg -i sub.srt sub.ass</span></code></pre></div>Then add them using a video filter:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-12-1"><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4</span></code></pre></div><h2 id="extract-the-frames-from-a-video">Extract the frames from a video<a class="headerlink" href="#extract-the-frames-from-a-video" title="Permanent link">&para;</a></h2><p>To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-13-1"><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>ffmpeg -i in.mp4 -vf select=&#39;between(t,1,5)+between(t,11,15)&#39; -vsync 0 out%d.png</span></code></pre></div><p>To extract one frame per second only:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-14-1"><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png</span></code></pre></div><h2 id="rotate-a-video">Rotate a video<a class="headerlink" href="#rotate-a-video" title="Permanent link">&para;</a></h2><p>Rotate 90 clockwise:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-15-1"><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>ffmpeg -i in.mov -vf &quot;transpose=1&quot; out.mov</span></code></pre></div><p>For the transpose parameter you can pass:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-16-1"><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>0 = 90CounterCLockwise and Vertical Flip (default)</span><span id="__span-16-2"><a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>1 = 90Clockwise</span><span id="__span-16-3"><a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a>2 = 90CounterClockwise</span><span id="__span-16-4"><a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a>3 = 90Clockwise and Vertical Flip</span></code></pre></div><p>Use <code>-vf "transpose=2,transpose=2"</code> for 180 degrees.</p><h2 id="download-transport-stream-video-streams">Download "Transport Stream" video streams<a class="headerlink" href="#download-transport-stream-video-streams" title="Permanent link">&para;</a></h2><ol><li>Locate the playlist file, e.g. using Chrome &gt; F12 &gt; Network &gt; Filter: m3u8</li><li>Download and concatenate the video fragments:</li></ol><div class="language-text highlight"><pre><span></span><code><span id="__span-17-1"><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>ffmpeg -i &quot;path_to_playlist.m3u8&quot; -c copy -bsf:a aac_adtstoasc out.mp4</span></code></pre></div><p>If you get a "Protocol 'https not on whitelist 'file,crypto'!" error, add the <code>protocol_whitelist</code> option:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-18-1"><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>ffmpeg -protocol_whitelist &quot;file,http,https,tcp,tls&quot; -i &quot;path_to_playlist.m3u8&quot; -c copy -bsf:a aac_adtstoasc out.mp4</span></code></pre></div><h2 id="mute-some-of-the-audio">Mute some of the audio<a class="headerlink" href="#mute-some-of-the-audio" title="Permanent link">&para;</a></h2><p>To replace the first 90 seconds of audio with silence:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-19-1"><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>ffmpeg -i in.mp4 -vcodec copy -af &quot;volume=enable=&#39;lte(t,90)&#39;:volume=0&quot; out.mp4</span></code></pre></div><p>To replace all audio between 1'20" and 1'30" with silence:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-20-1"><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>ffmpeg -i in.mp4 -vcodec copy -af &quot;volume=enable=&#39;between(t,80,90)&#39;:volume=0&quot; out.mp4</span></code></pre></div><h2 id="deinterlace">Deinterlace<a class="headerlink" href="#deinterlace" title="Permanent link">&para;</a></h2><p>Deinterlacing using "yet another deinterlacing filter".</p><div class="language-text highlight"><pre><span></span><code><span id="__span-21-1"><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>ffmpeg -i in.mp4 -vf yadif out.mp4</span></code></pre></div><h2 id="create-a-video-slideshow-from-images">Create a video slideshow from images<a class="headerlink" href="#create-a-video-slideshow-from-images" title="Permanent link">&para;</a></h2><p>Parameters: <code>-r</code> marks the image framerate (inverse time of each image); <code>-vf fps=25</code> marks the true framerate of the output.</p><div class="language-text highlight"><pre><span></span><code><span id="__span-22-1"><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4</span></code></pre></div><h2 id="extract-images-from-a-video">Extract images from a video<a class="headerlink" href="#extract-images-from-a-video" title="Permanent link">&para;</a></h2><ul><li>Extract all frames: <code>ffmpeg -i input.mp4 thumb%04d.jpg -hide_banner</code></li><li>Extract a frame each second: <code>ffmpeg -i input.mp4 -vf fps=1 thumb%04d.jpg -hide_banner</code></li><li>Extract only one frame: <code>ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 thumb.jpg</code></li></ul><h2 id="display-the-frame-number-on-each-frame">Display the frame number on each frame<a class="headerlink" href="#display-the-frame-number-on-each-frame" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-23-1"><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>ffmpeg -i in.mov -vf &quot;drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72&quot; -y out.mov</span></code></pre></div><h2 id="metadata-change-the-title">Metadata: Change the title<a class="headerlink" href="#metadata-change-the-title" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-24-1"><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>ffmpeg -i in.mp4 -map_metadata -1 -metadata title=&quot;My Title&quot; -c:v copy -c:a copy out.mp4</span></code></pre></div><h3 id="wrap-up">Wrap up<a class="headerlink" href="#wrap-up" title="Permanent link">&para;</a></h3><p>That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.</p>https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ Tue, 17 Sep 2024 12:36:31 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ My Cosmic Experience ArchLinux Cosmic Linux <div class="admonition note"><p class="admonition-title">Note</p><p>Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.</p></div><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>The <a href="https://xerolinux.xyz/posts/arch-cosmic/" target="_blank"><strong>Cosmic DE</strong></a> hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.</p><p align="center"> <img src="https://i.imgur.com/Fvl9uRU.png"></p><p>Since I am an avid <strong>ArchLinux</strong> user, that's how I installed it. I did not use the <strong>Pop!_OS 24.04 LTS alpha</strong> ISO from &gt;&gt; <a href="https://system76.com/cosmic" target="_blank"><strong>Cosmic Downloads</strong></a>. So my views come from there. So I cannot compare.</p><p>Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the <strong>ArchInstall</strong> profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.</p><p>Now on to the more detailed things I have done to install <strong>Cosmic</strong>. I first installed <strong>Arch Minimal</strong> using the <strong>ArchInstall</strong> script, meaning that I avoided the profiles, &amp; drivers sections completely, I always choose <code>Grub</code> as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in <code>chroot</code> I installed the DE the following way, knowing that, we can skip the use of <code>sudo</code> since we are still logged in as root...</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>pacman<span class="w"> </span>-Syy<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>cosmic<span class="w"> </span>linux-headers<span class="w"> </span>pacman-contrib<span class="w"> </span>xdg-user-dirs<span class="w"> </span>power-profiles-daemon<span class="w"> </span>wayland-protocols<span class="w"> </span>wayland-utils</span></code></pre></div><p align="center"> <img src="https://i.imgur.com/tR8WJJI.png"></p><p>Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because <a href="https://archlinux.org/packages/?sort=&amp;q=cosmic&amp;maintainer=&amp;flagged=" target="_blank"><strong>cosmic</strong></a> is not a single one, it's a <em>Group</em> of packages or a <em>meta-package</em> as it is known as. That said, the reason I installed <code>linux-headers</code> is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially <code>xdg-user-dirs</code> without which no <code>Documents, Pictures, Videos...</code> folders will be created. Strange I know.</p><p>What I also found weird, is the fact that <code>cosmic-greeter</code> service was not being enabled after install which was netting me a boot to <code>TTY</code> session. So I had to enable it while at the same time generating the <code>user-dirs</code> via...</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>cosmic-greeter.service<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>xdg-user-dirs-update</span></code></pre></div><p>Keep in mind that I am doing all this while still in <code>chroot</code> post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.</p><h3 id="experience">Experience<a class="headerlink" href="#experience" title="Permanent link">&para;</a></h3><p>Now on to what y'all came here for. All was good, well sorta, system rebooted into <code>Grub</code>, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some <code>TTY dmsg</code> errors, flickering on and off. But after a few seconds I finally saw the <strong>Cosmic Greeter</strong> login screen, relief finally.</p><p align="center"> <img src="https://i.imgur.com/TPjWMjR.png"></p><p>I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an <strong>nVidia</strong> user, I thought could be a driver issue since on first boot it uses the not so great <code>nouveau</code> ones. That's why my first reflex was to install them, so I did.</p><p align="center"> <img src="https://i.imgur.com/VotUyBS.jpeg"></p><p>After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about <code>EGL drm</code> crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?</p><p>As it turns out I had forgotten to include the <code>nVidia drm kernel modules</code> lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span><span class="s1">&#39;/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/&#39;</span><span class="w"> </span>/etc/mkinitcpio.conf</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>sudo<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>nvidia-suspend.service<span class="w"> </span>nvidia-hibernate.service<span class="w"> </span>nvidia-resume.service<span class="w"> </span>nvidia-powerd.service</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nb">echo</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02&#39;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>-a<span class="w"> </span>/etc/modprobe.d/nvidia.conf</span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="nb">echo</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;options nvidia_drm modeset=1 fbdev=1&#39;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>-a<span class="w"> </span>/etc/modprobe.d/nvidia.conf<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>sudo<span class="w"> </span>mkinitcpio<span class="w"> </span>-P</span></code></pre></div><p>After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like <strong>XFCE</strong>. Fired up <code>top</code> to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than <strong>KDE Plasma</strong> ! Nice !</p><p>Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run <code>nmtui</code> and deactivate it from there making sure it doesn't automatically reconnect on login.</p><p>Now on to the <code>System Settings</code>. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..</p><p>That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.</p><p>Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean <strong>Cosmic-Notes</strong> was there, just not handling documents...</p><p>I try to right-click &gt; open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself "It's Alpha Software, calm down Steve".</p><p>To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a <code>CLI</code> and no default app set ? I dunno.</p><p>Finally I decided to try out the thing that almost everyone's raving about, <strong>Tiling/Stacking</strong>. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...</p><p>That's where I gave up and decided to go back home to <strong>KDE Plasma</strong>.</p><h3 id="final-words">Final words<a class="headerlink" href="#final-words" title="Permanent link">&para;</a></h3><p>Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.</p><p>It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.</p><p>I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. <strong>Cosmic</strong> has come a long way in such a short time. I mean, writing a DE from scratch using <strong>Rust</strong> a sorta new programming language is no easy feat.</p><p>I will end the post by congratulating the <strong>System76</strong> dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a <strong>XeroCosmic</strong> to the family.. Just don't hold your breath on that, it ain't set in stone.</p>https://bytes.xerolinux.xyz/tech/cosmic-experience/ Wed, 11 Sep 2024 12:33:00 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/tech/cosmic-experience/ Affinity on Linux Affinity Linux Photoshop <div class="admonition warning"><p class="admonition-title">Warning</p><p>I am aware that these apps are what's called "<strong>Proprietary</strong>" and require us to purchase a one-time <em>License</em> in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.</p></div><h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the installation of <a href="https://affinity.serif.com/en-us/" target="_blank"><strong>Affinity Apps</strong></a> on <strong>Linux</strong> with the help of some scripts I found thanks to <a href="https://github.com/Twig6943" target="_blank"><strong>Twig6943</strong></a> who went out of his way to create them.</p><p align="center"> <img src="https://i.imgur.com/MABHj31.jpeg"></p><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>First we will need to download the <a href="https://store.serif.com/update/windows/photo/2/" target="_blank"><strong>Photo</strong></a>, <a href="https://store.serif.com/update/windows/designer/2/" target="_blank"><strong>Designer</strong></a> or <a href="https://store.serif.com/update/windows/publisher/2/" target="_blank"><strong>Publisher</strong></a> <code>exe</code> from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a <strong>Discreet GPU</strong> is highly recommended for Hardware Acceleration &amp; good performance.</p><div class="admonition note"><p class="admonition-title">Note</p><p>Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required <a href="https://github.com/Twig6943/AffinityOnLinux/blob/main/Guide/Guide.md#required-dependencies" target="_blank"><strong>Dependencies</strong></a></p></div><p align="center"> <img src="https://i.imgur.com/YPXV9bc.png"></p><ul><li><a href="https://affinity.serif.com/en-gb/photo/?#top" target="_blank"><strong>Affinity Photo</strong></a></li></ul><p>Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><ul><li><a href="https://affinity.serif.com/en-us/designer/?#top" target="_blank"><strong>Affinity Designer</strong></a></li></ul><p>Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><ul><li><a href="https://affinity.serif.com/en-us/designer/?#top" target="_blank"><strong>Affinity Publisher</strong></a></li></ul><p>Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><h3 id="wrap-up">Wrap up<a class="headerlink" href="#wrap-up" title="Permanent link">&para;</a></h3><div class="admonition tip"><p class="admonition-title">Tip</p><p>Check the <a href="https://github.com/Twig6943/AffinityOnLinux/blob/main/Guide/Guide.md" target="_blank"><strong>Written Guide</strong></a> if you prefer doing it manually. Also the author posted his scripts on the <strong>Affinity</strong>'s forums, who knows maybe in the future a <strong>Linux</strong> native version ? Let's all cross our fingers 🤞</p></div><p>That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to <strong>Photoshop</strong> I have ever gotten, without having to go through <em>WinBlows</em> if ya know what I mean.</p><p>Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.</p>https://bytes.xerolinux.xyz/docs/affinity-linux/ Tue, 10 Sep 2024 21:53:38 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/affinity-linux/ Cosmic Install Script ArchLinux CosmicDE Linux XeroLinux <h2 align="center">.//Updated on Sep. 15th 2024\\.</h2><div class="admonition info"><p class="admonition-title">Info</p><p>This project has moved to the <a href="https://wiki.xerolinux.xyz/cosmic/" target="_blank"><strong>XeroLinux Wiki</strong></a>. Will keep this page around for updates. Keep in mind it's in <strong>Alpha</strong>.</p></div><h3 id="script-info">Script info<a class="headerlink" href="#script-info" title="Permanent link">&para;</a></h3><p>Well, it does what title says, it installs <strong>Cosmic</strong> in one of 3 ways, similar to how my <a href="https://xerolinux.xyz/news/xerolinux-plasma/" target="_blank"><strong>Plasma Install</strong></a> script does.</p><ul><li><strong>Complete</strong> : Installs Cosmic from Extra Repos.</li><li><strong>Selective</strong> : Select pkgs you want yourselves.</li><li><strong>Development</strong> : Commit-based Install -DANGER-.</li></ul><p align="center"> <img src="https://i.imgur.com/Fvl9uRU.png"></p><p>Included are some useful packages, like a freaking web browser eg. <strong>Firefox</strong>, an archive manager, <strong>Meld</strong> and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official <strong>Arch Repositories</strong> are supported, none from the <strong>AUR</strong>.</p><h3 id="wrapping-up">Wrapping up<a class="headerlink" href="#wrapping-up" title="Permanent link">&para;</a></h3><p><strong>Cosmic</strong> is shaping up to be the DE that <em>might</em> break the current <em>Top 2</em> (KDE and Gnome) making it the <em>Top 3</em> DEs of all time. Who knows ? I wish the <strong>System76</strong> team all the best.</p><p>Cheers !</p>https://bytes.xerolinux.xyz/projects/cosmic-script/ Sun, 08 Sep 2024 16:08:55 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/cosmic-script/ SUMMARY <ul><li><a href="../">🏠Home</a></li><li><a href="/docs/">🗒️Documentation</a></li><li><a href="/fund/">💰Fundraising</a></li><li><a href="/priv/">🗨️Thoughts</a></li><li><a href="/projects/">💻Projects</a></li><li><a href="/tech/">⚙️Technology</a></li></ul>https://bytes.xerolinux.xyz/SUMMARY/ Thu, 05 Sep 2024 19:30:45 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/SUMMARY/ Linux in a Nutshell Kernel Linux Packages <p>I thought I'd share this explanation about <strong>Linux</strong> a good friend and fellow Linux enthusiast <a href="https://github.com/REALERvolker1" target="_blank"><strong>REALERvolker1</strong></a> recently posted on <strong>Discord</strong>.</p><div class="admonition tip"><p class="admonition-title">Tip</p><p>The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various <em>Desktop Environments</em> or <em>Window Managers</em>. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...</p></div><h3 id="what-is-linux">What is Linux ?<a class="headerlink" href="#what-is-linux" title="Permanent link">&para;</a></h3><p>Since not everyone's super familiar with Linux, here's a quick crash course.</p><p>Linux is a <a href="https://en.wikipedia.org/wiki/Monolithic_kernel#:~:text=A%20monolithic%20kernel%20is%20an,virtual%20interface%20over%20computer%20hardware." target="_blank"><strong>Monolithic Kernel</strong></a>, so all the drivers and whatnot are compiled into the binary. The <a href="https://www.fsf.org/about/what-is-free-software" target="_blank"><strong>Nonfree software</strong></a> is usually put in the actual source repo as binary blobs, or in the case of <strong>nVidia</strong> drivers, built using a system called <a href="https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support" target="_blank"><strong>DKMS</strong></a> and compiled into the kernel binary.</p><p>Once the computer boots up, an init process is started (the default is <code>/sbin/init</code>, usually a symlink to your init system), which is <code>PID 1</code>. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having <em>too</em> much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.</p><p>Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being <a href="https://en.wikipedia.org/wiki/POSIX" target="_blank"><strong>POSIX</strong></a> compliant, and not really caring about file extensions.</p><p align="center"> <img width="600" src="https://i.imgur.com/Mu7NHx9.png" alt="logo"></p><h3 id="distros-pkg-managers">Distros &amp; PKG Managers<a class="headerlink" href="#distros-pkg-managers" title="Permanent link">&para;</a></h3><p>On <a href="https://www.debian.org" target="_blank"><strong>Debian</strong></a>, you install packages with <code>apt</code>. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a <em>GUI</em> frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the <a href="https://wiki.debian.org/DontBreakDebian" target="_blank"><strong>Debian Wiki</strong></a> is pretty mid, but the <a href="https://wiki.archlinux.org" target="_blank"><strong>Arch Wiki</strong></a> is amazing.</p><p>Since <a href="https://archlinux.org" target="_blank"><strong>Arch Linux</strong></a> aims to be the most generic <em>Linux distro</em> ever, information written for it should also help with <strong>Debian</strong>, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:</p><ul><li><strong>Flatpak:</strong> Sandboxed apps that "just work" on every distribution.</li><li><strong>Snap:</strong> <em>Ubuntu</em>'s sandboxed apps that are supposed to work on every distribution but have had mixed results.</li><li><strong>AppImages:</strong> These are like <code>.exe</code> files on <strong>Windows</strong>, but they require adding executable permissions and manually launching them. They also won't have a desktop entry by default.</li></ul><h3 id="filesystem-updates">Filesystem &amp; Updates<a class="headerlink" href="#filesystem-updates" title="Permanent link">&para;</a></h3><p>If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not—it might fix a bug.</p><p>As for the filesystem:</p><ul><li><code>/etc</code> is where your Editable Text Configurations go.</li><li><code>/usr</code> is where program files go.</li><li><code>/usr/local</code> is where program files go for programs you manually installed.</li><li><code>/home</code> is where your personal files go.</li><li><code>/dev</code> is for device files.</li><li>There is no <code>C</code> or <code>D</code> drive; instead, you mount external drives to a location, like <code>/mnt</code>. A GUI file manager mounts flash drives somewhere in <code>/run</code> since it is temporary.</li><li><code>/opt</code> is where miscellaneous stuff goes.</li><li><code>/var</code> is for variable data like system logs.</li><li><code>/tmp</code> is for temporary files.</li><li><code>/dev/null</code> is a "black hole" for data you want to discard.</li><li><code>/dev/urandom</code> is an IO-based random number generator.</li></ul><p>In <a href="https://en.wikipedia.org/wiki/Unix" target="_blank"><strong>UNIX</strong></a>, everything is a file. This means you can:</p><ul><li>See process details by reading files in <code>/proc</code>.</li><li>Check system settings or driver configurations in <code>/sys</code>.</li><li>View your bootloader in <code>/boot</code>.</li></ul><h3 id="wrapping-it-all-up">Wrapping it all up<a class="headerlink" href="#wrapping-it-all-up" title="Permanent link">&para;</a></h3><p>This was a quick run-through explaining what <strong>GNU/Linux</strong> is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.</p>https://bytes.xerolinux.xyz/docs/linux-explained/ Thu, 05 Sep 2024 19:30:45 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/linux-explained/ ArchISO Build ArchISO ArchLinux Linux <h3 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h3><p>This guide was written by following the <strong>ArchWiki</strong>. It's for my own use. The public version can be found on the official <a href="https://xerolinux.xyz/posts/build-archiso/" target="_blank"><strong>XeroLinux</strong></a>. This version will always be updated. Sometimes need to remind myself which files to modify...</p><p align="center"> <img src="https://i.imgur.com/QWqMIsr.png" alt="logo"></p><h3 id="lets-do-this">Let's do this 🚀<a class="headerlink" href="#lets-do-this" title="Permanent link">&para;</a></h3><p>First off we need to grab a few packages in order to be able to build the ISO.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo<span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>archiso</span></code></pre></div><p>Now we need create two folders in our home directory or anywhere else, up to you, one called <code>XeroWork</code> for placing extracted files, another called <code>XeroOut</code> where final ISO will be located.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>mkdir<span class="w"> </span>~/XeroWork<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>mkdir<span class="w"> </span>~/XeroOut</span></code></pre></div><p>Modify the <code>packages.x86_64</code> inside <code>releng</code> folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new &amp; updated <strong>ArchISO</strong>. Just use the command below and watch the magic happen.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo<span class="w"> </span>mkarchiso<span class="w"> </span>-v<span class="w"> </span>-w<span class="w"> </span>~/XeroWork<span class="w"> </span>-o<span class="w"> </span>~/XeroOut<span class="w"> </span>/usr/share/archiso/configs/releng</span></code></pre></div><p>Finally we can delete the work directory to save space. just do <code>sudo rm -rf ~/XeroWork/</code>.</p><p>That's it !</p>https://bytes.xerolinux.xyz/docs/build-archiso/ Thu, 05 Sep 2024 12:57:14 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/build-archiso/ MKDocs Install Blogging Linux MKDocs <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the installation of <a href="https://www.mkdocs.org" target="_blank"><strong>MKDocs</strong></a> the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for <strong>ArchLinux</strong> if you don't use that distro, well, their site shows how to install for your distro.</p><p><img alt="type:video" src="https://www.youtube.com/embed/9V0NpLPXS-Y" /></p><h3 id="installing-mkdocs">Installing MKDocs<a class="headerlink" href="#installing-mkdocs" title="Permanent link">&para;</a></h3><p>We will need to install it with some extras. The 2 main packages exist on the <strong>Arch</strong> repos. The rest are on the <strong>AUR</strong>, so to grab everything in one go, I will be using <strong>Paru</strong>. Compiling might take a while, so sit back wile it finishes.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>paru<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>mkdocs<span class="w"> </span>mkdocs-get-deps<span class="w"> </span>mkdocs-material<span class="w"> </span>python-pipx</span></code></pre></div><p>Donce that's done we need to create the site. There's a command for that.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>mkdocs<span class="w"> </span>new<span class="w"> </span>my-project</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="nb">cd</span><span class="w"> </span>my-project</span></code></pre></div><p>Now that we initialized the new site we need to configure it. We do so by editing the <code>mkdocs.yml</code> file putting in the following info :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">site_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Sitename</span></span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a></span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nt">theme</span><span class="p">:</span></span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">material</span></span><span id="__span-2-5"><a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">logo</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">assets/Tux.gif</span></span><span id="__span-2-6"><a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="nt">favicon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">assets/favicon.ico</span></span><span id="__span-2-7"><a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="nt">palette</span><span class="p">:</span></span><span id="__span-2-8"><a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="nt">scheme</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">slate</span></span><span id="__span-2-9"><a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="nt">primary</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">deep purple</span></span><span id="__span-2-10"><a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="w"> </span><span class="nt">features</span><span class="p">:</span></span><span id="__span-2-11"><a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.top</span></span><span id="__span-2-12"><a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.footer</span></span><span id="__span-2-13"><a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.indexes</span></span><span id="__span-2-14"><a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">content.code.copy</span></span><span id="__span-2-15"><a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.suggest</span></span><span id="__span-2-16"><a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.highlight</span></span><span id="__span-2-17"><a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.share</span></span><span id="__span-2-18"><a id="__codelineno-2-18" name="__codelineno-2-18" href="#__codelineno-2-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.expand</span></span></code></pre></div><p>This will make it use the <strong>Slate Material</strong> Theme with <strong>Deep Purple</strong> accents. To know more about the theme check the <a href="https://squidfunk.github.io/mkdocs-material/getting-started/" target="_blank"><strong>MKDocs Material Wiki</strong></a>. That's it go from there.</p><h3 id="plugins-extra-stuff">Plugins &amp; Extra Stuff<a class="headerlink" href="#plugins-extra-stuff" title="Permanent link">&para;</a></h3><p>I have found a few that I liked on the <strong>AUR</strong>, let's install them via :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>paru<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>mkdocs-autorefs<span class="w"> </span>mkdocs-section-index<span class="w"> </span>mkdocs-glightbox<span class="w"> </span>mkdocs-backlinks-plugin<span class="w"> </span>mkdocs-redirects<span class="w"> </span>mkdocs-ezlinks-plugin<span class="w"> </span>mkdocs-literate-nav</span></code></pre></div><p>For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...</p><ul><li>MKDocs-Video</li></ul><div class="language-Bash highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>wget<span class="w"> </span>https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz</span></code></pre></div><p>Extract &amp; <code>cd</code> into it then run the following command :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>sudo<span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>install</span></code></pre></div><ul><li>MKDocs-RSS</li></ul><div class="language-Bash highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/Guts/mkdocs-rss-plugin.git</span></code></pre></div><p>Now we <code>cd</code> into it then run the following command :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>sudo<span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>install</span></code></pre></div><p>To activate them we edit the same <code>mkdocs.yml</code> file as before like so :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="nt">plugins</span><span class="p">:</span></span><span id="__span-8-2"><a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rss</span></span><span id="__span-8-3"><a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">social</span></span><span id="__span-8-4"><a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search</span></span><span id="__span-8-5"><a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">autorefs</span></span><span id="__span-8-6"><a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">glightbox</span></span></code></pre></div><p>There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nt">markdown_extensions</span><span class="p">:</span></span><span id="__span-9-2"><a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a></span><span id="__span-9-3"><a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="c1"># Python Markdown</span></span><span id="__span-9-4"><a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">abbr</span></span><span id="__span-9-5"><a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">admonition</span></span><span id="__span-9-6"><a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">attr_list</span></span><span id="__span-9-7"><a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">def_list</span></span><span id="__span-9-8"><a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">footnotes</span></span><span id="__span-9-9"><a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">md_in_html</span></span><span id="__span-9-10"><a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">toc</span><span class="p">:</span></span><span id="__span-9-11"><a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a><span class="w"> </span><span class="nt">permalink</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-12"><a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a></span><span id="__span-9-13"><a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a><span class="w"> </span><span class="c1"># Python Markdown Extensions</span></span><span id="__span-9-14"><a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.arithmatex</span><span class="p">:</span></span><span id="__span-9-15"><a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a><span class="w"> </span><span class="nt">generic</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-16"><a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.betterem</span><span class="p">:</span></span><span id="__span-9-17"><a id="__codelineno-9-17" name="__codelineno-9-17" href="#__codelineno-9-17"></a><span class="w"> </span><span class="nt">smart_enable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">all</span></span><span id="__span-9-18"><a id="__codelineno-9-18" name="__codelineno-9-18" href="#__codelineno-9-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.caret</span></span><span id="__span-9-19"><a id="__codelineno-9-19" name="__codelineno-9-19" href="#__codelineno-9-19"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.details</span></span><span id="__span-9-20"><a id="__codelineno-9-20" name="__codelineno-9-20" href="#__codelineno-9-20"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.emoji</span><span class="p">:</span></span><span id="__span-9-21"><a id="__codelineno-9-21" name="__codelineno-9-21" href="#__codelineno-9-21"></a><span class="w"> </span><span class="nt">emoji_index</span><span class="p">:</span><span class="w"> </span><span class="kt">!!python/name:material.extensions.emoji.twemoji</span></span><span id="__span-9-22"><a id="__codelineno-9-22" name="__codelineno-9-22" href="#__codelineno-9-22"></a><span class="w"> </span><span class="nt">emoji_generator</span><span class="p">:</span><span class="w"> </span><span class="kt">!!python/name:material.extensions.emoji.to_svg</span></span><span id="__span-9-23"><a id="__codelineno-9-23" name="__codelineno-9-23" href="#__codelineno-9-23"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.highlight</span><span class="p">:</span></span><span id="__span-9-24"><a id="__codelineno-9-24" name="__codelineno-9-24" href="#__codelineno-9-24"></a><span class="w"> </span><span class="nt">anchor_linenums</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-25"><a id="__codelineno-9-25" name="__codelineno-9-25" href="#__codelineno-9-25"></a><span class="w"> </span><span class="nt">line_spans</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">__span</span></span><span id="__span-9-26"><a id="__codelineno-9-26" name="__codelineno-9-26" href="#__codelineno-9-26"></a><span class="w"> </span><span class="nt">pygments_lang_class</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-27"><a id="__codelineno-9-27" name="__codelineno-9-27" href="#__codelineno-9-27"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.inlinehilite</span></span><span id="__span-9-28"><a id="__codelineno-9-28" name="__codelineno-9-28" href="#__codelineno-9-28"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.keys</span></span><span id="__span-9-29"><a id="__codelineno-9-29" name="__codelineno-9-29" href="#__codelineno-9-29"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.mark</span></span><span id="__span-9-30"><a id="__codelineno-9-30" name="__codelineno-9-30" href="#__codelineno-9-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.smartsymbols</span></span><span id="__span-9-31"><a id="__codelineno-9-31" name="__codelineno-9-31" href="#__codelineno-9-31"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.superfences</span></span><span id="__span-9-32"><a id="__codelineno-9-32" name="__codelineno-9-32" href="#__codelineno-9-32"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.tabbed</span><span class="p">:</span></span><span id="__span-9-33"><a id="__codelineno-9-33" name="__codelineno-9-33" href="#__codelineno-9-33"></a><span class="w"> </span><span class="nt">alternate_style</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-34"><a id="__codelineno-9-34" name="__codelineno-9-34" href="#__codelineno-9-34"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.tasklist</span><span class="p">:</span></span><span id="__span-9-35"><a id="__codelineno-9-35" name="__codelineno-9-35" href="#__codelineno-9-35"></a><span class="w"> </span><span class="nt">custom_checkbox</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-36"><a id="__codelineno-9-36" name="__codelineno-9-36" href="#__codelineno-9-36"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.tilde</span></span><span id="__span-9-37"><a id="__codelineno-9-37" name="__codelineno-9-37" href="#__codelineno-9-37"></a></span><span id="__span-9-38"><a id="__codelineno-9-38" name="__codelineno-9-38" href="#__codelineno-9-38"></a><span class="nt">extra</span><span class="p">:</span></span><span id="__span-9-39"><a id="__codelineno-9-39" name="__codelineno-9-39" href="#__codelineno-9-39"></a><span class="w"> </span><span class="nt">social</span><span class="p">:</span></span><span id="__span-9-40"><a id="__codelineno-9-40" name="__codelineno-9-40" href="#__codelineno-9-40"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/github</span></span><span id="__span-9-41"><a id="__codelineno-9-41" name="__codelineno-9-41" href="#__codelineno-9-41"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://github.com/darkxero-dev</span></span><span id="__span-9-42"><a id="__codelineno-9-42" name="__codelineno-9-42" href="#__codelineno-9-42"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/youtube</span></span><span id="__span-9-43"><a id="__codelineno-9-43" name="__codelineno-9-43" href="#__codelineno-9-43"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://youtube.com/XeroLinuxOfficial</span></span><span id="__span-9-44"><a id="__codelineno-9-44" name="__codelineno-9-44" href="#__codelineno-9-44"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/x-twitter</span></span><span id="__span-9-45"><a id="__codelineno-9-45" name="__codelineno-9-45" href="#__codelineno-9-45"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://twitter.com/xerolinuxop</span></span><span id="__span-9-46"><a id="__codelineno-9-46" name="__codelineno-9-46" href="#__codelineno-9-46"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/mastodon</span></span><span id="__span-9-47"><a id="__codelineno-9-47" name="__codelineno-9-47" href="#__codelineno-9-47"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://fosstodon.org/@xerolinux</span></span></code></pre></div><p>That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to <a href="https://github.com/drewgrif" target="_blank"><strong>@JustAGuyLinux</strong></a> for helping out a little hehe.</p>https://bytes.xerolinux.xyz/docs/mkdocs-install/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/mkdocs-install/ FOSS Fundraising ArchLinux Fundraising Linux <h3 id="backstory">Backstory<a class="headerlink" href="#backstory" title="Permanent link">&para;</a></h3><p>Before I begin, I would like to clarify that, when I say <strong>Linux</strong> in this context I mean <strong>Desktop Linux</strong>.</p><p>When I started this whole <strong>Linux</strong> endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with <a href="https://kde.org" target="_blank"><strong>KDE Plasma</strong></a> while using the now infamous <a href="https://manjaro.org" target="_blank"><strong>Manjaro</strong></a> Distrobution. Yes, this is when I got hooked to <strong>Linux</strong>. Now don't get me wrong, I have since tried many DEs and WMs. But alas only <strong>KDE Plasma</strong> answered my needs.</p><p>Since then I started getting the urge to build my own <em>Distro</em> my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called <a href="https://arcolinux.info" target="_blank"><strong>ArcoLinux</strong></a>. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro <a href="https://archlinux.org" target="_blank"><strong>ArchLinux</strong></a>.</p><h3 id="fundraising">Fundraising<a class="headerlink" href="#fundraising" title="Permanent link">&para;</a></h3><p>Now we get to the meat and potatoes of this post, why ask for money when it's <strong>FOSS</strong> ? Well in case you did not know, the <em>Free</em> in <em>Free Open Source</em> does <strong>NOT</strong> mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our <strong>TIME</strong>.</p><p>Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a <em>real</em> job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.</p><p>Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the <em>Fundraising</em> or <em>Donation</em> methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the <strong>Donate</strong> button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)</p><h3 id="hate-in-foss">Hate in FOSS<a class="headerlink" href="#hate-in-foss" title="Permanent link">&para;</a></h3><p>Now let's address the <em>other</em> elephant in the room, the hate in the <strong>FOSS</strong> community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word <em>Free</em> in <em>Free Open Source</em>. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they <em>despise</em> others, the ones we call <em>Protest Distros</em>. Now am not going to name any names here, but the longer this goes on, the slower <strong>Linux</strong> will grow.</p><p>So if you love <strong>Linux</strong> as much as you say you do, please help your favorite projects grow in any way shape or form, either <em>Donating</em> for financial support if you can and are not a developer, or by simply <em>Reporting Issues</em> upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.</p><p>Anyways, thanks for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p><p>See ya there</p>https://bytes.xerolinux.xyz/fund/foss-fundraising/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/fund/foss-fundraising/ GPU &/or CPU Fund ArchLinux Fundraising Hardware Linux Upgrade <h4 id="whats-this">What's this ?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h4><p>My PC could really use an upgrade. I’m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the <strong>CPU</strong> and <strong>GPU</strong>. With the <strong>XeroLinux</strong> Distro not coming back anytime soon, it’s crucial to put funds towards these upgrades where they truly matter.</p><p align="center"> <img width="600" src="https://i.imgur.com/sy5D8T0.png" alt="logo"></p><p>As you can see from image above, the <strong>GTX 1080</strong> (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As <em>nVidia</em> just announced it's going full Open-Source. You can read more on &gt;&gt; <a href="https://www.phoronix.com/news/NVIDIA-Transitions-OSS-KMD" target="_blank"><strong>This Article</strong></a></p><h4 id="what-cpu">What CPU ?<a class="headerlink" href="#what-cpu" title="Permanent link">&para;</a></h4><p>Well, I’m not looking for much. For the CPU, I’m considering an upgrade to either the <a href="https://www.lebanonstores.com/shop-1/amd-ryzen-7-5800x3d-socket-am4" target="_blank"><strong>Ryzen 7 5800X3D</strong></a> valued at $330 or the <a href="https://global.microless.com/product/amd-ryzen-9-5950x-16-core-3-4-ghz-socket-am4-105w-desktop-processor-100-100000059wof/" target="_blank"><strong>Ryzen 9 5950X</strong></a> valued at $452. Honestly, it doesn’t matter which one—I just need that extra boost for compiling stuff.</p><p><img alt="type:video" src="https://www.youtube.com/embed/4IJCsxeCJ6o" /></p><h4 id="what-gpu">What GPU ?<a class="headerlink" href="#what-gpu" title="Permanent link">&para;</a></h4><p>That’s where things get a bit tricky. I’m still undecided between sticking with <strong>nVidia</strong> or switching to <strong>AMD</strong>. I am currently torn between the two. Now, I know most of you would recommend <strong>AMD</strong> because it’s hassle-free on <strong>Linux</strong>—and you’d be right. But as a content creator who relies on <a href="https://docs.nvidia.com/cuda/" target="_blank"><strong>Cuda</strong></a> and <strong>nVidia</strong>'s <a href="https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/" target="_blank"><strong>nVenc Encoder</strong></a>, I’m leaning towards sticking with nVidia.</p><p><img alt="type:video" src="https://www.youtube.com/embed/0VbzHckdHNE" /></p><p>However, if I do decide to switch to Team Red, I’d go for the <a href="https://www.lebanonstores.com/shop-1/amd-radeon-rx-6950xt-16gb" target="_blank"><strong>RX 6950XT</strong></a> currently valued at $400 here. Otherwise, if I stay with Team-Green, it’s going to be the <a href="https://www.lebanonstores.com/shop-1/rtx-3090-msi-suprim-x-24gb" target="_blank"><strong>RTX 3090</strong></a> valued at $595.</p><h4 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h4><p>Upgrading the <strong>GPU</strong> is my top priority right now, as it will make the most significant impact. My current <strong>GTX 1080</strong> is nearing its end-of-life, and I can manage with my <strong>Ryzen 5 3600X</strong> for a bit longer. So, if you can help me raise enough funds to upgrade the <strong>GPU</strong> and stay ahead in the <strong>Linux</strong> world, I’d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.</p><p>Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we’ll reach the goal in no time. Your support means the world to me, and it’ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.</p><p><center><script type='text/javascript' src='https://storage.ko-fi.com/cdn/widget/Widget_2.js'></script><script type='text/javascript'>kofiwidget2.init('Support Me on Ko-fi', '#9d28e0', 'I2I4K55AA');kofiwidget2.draw();</script></center></p>https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ Be Thankful Content Creation Linux YouTube <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.</p><h3 id="content-creators">Content Creators<a class="headerlink" href="#content-creators" title="Permanent link">&para;</a></h3><p>Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.</p><p>YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.</p><p>Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.</p><h3 id="writers-blog-posters">Writers / Blog Posters<a class="headerlink" href="#writers-blog-posters" title="Permanent link">&para;</a></h3><p>This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.</p><p>One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I’ve learned to improve, and I thank them for that.</p><h3 id="appreciating-ccs-and-writers">Appreciating CCs and Writers<a class="headerlink" href="#appreciating-ccs-and-writers" title="Permanent link">&para;</a></h3><p>We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.</p><p>Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.</p><p>As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.</p><h3 id="fostering-a-positive-community">Fostering a Positive Community<a class="headerlink" href="#fostering-a-positive-community" title="Permanent link">&para;</a></h3><p>The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.</p><p>When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.</p><p>Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.</p><h3 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h3><p>Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.</p>https://bytes.xerolinux.xyz/priv/be-thankful/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/be-thankful/ Developing is fun Developer Development Linux <h3 id="am-i-a-developer">Am I a Developer ?<a class="headerlink" href="#am-i-a-developer" title="Permanent link">&para;</a></h3><p>Lol, yeah, I know—it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code—specifically <strong>Bash</strong>. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.</p><p><img alt="type:video" src="https://www.youtube.com/embed/8_K-NOu-STs" /></p><p>And if it does work, I'm happy and share the result with the <strong>FOSS</strong> community.</p><h3 id="its-fun-until">It's fun until...<a class="headerlink" href="#its-fun-until" title="Permanent link">&para;</a></h3><p>Doing this is super fun and fulfilling—until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.</p><p>Now, I know I can reach out to the <strong>FOSS</strong> community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.</p><p>Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere—not just in <strong>FOSS</strong>. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.</p><p>Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.</p><h3 id="sharing-is-caring">Sharing is caring<a class="headerlink" href="#sharing-is-caring" title="Permanent link">&para;</a></h3><p>This is the part where I say: please, don't keep your work to yourself. Share it with the community—who knows, maybe you'll find someone who can help take your project to another level.</p><p>I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.</p><p>"Sharing is caring," as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)</p>https://bytes.xerolinux.xyz/priv/developing-is-fun-but/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/developing-is-fun-but/ FOSS Struggles FOSS Fundraising Health Linux Struggles <h3 id="hello-everyone">Hello everyone,<a class="headerlink" href="#hello-everyone" title="Permanent link">&para;</a></h3><p>Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.</p><p>Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.</p><blockquote><p>P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let’s dive in.</p></blockquote><p><img alt="type:video" src="https://www.youtube.com/embed/BpmAFwZy0Gg" /></p><h3 id="my-frustration">My Frustration<a class="headerlink" href="#my-frustration" title="Permanent link">&para;</a></h3><p>Recently, I’ve been investing a lot of time and effort into my projects and contributing to <strong>FOSS</strong> (Free and Open Source Software) wherever possible. While I find this work rewarding, it’s also been increasingly frustrating. Why? Let me explain.</p><p>I spend countless hours working behind the scenes to make everyone’s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it’s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I’m making a real impact.</p><h3 id="seeking-purpose">Seeking Purpose<a class="headerlink" href="#seeking-purpose" title="Permanent link">&para;</a></h3><p>Initially, I embarked on this journey for fun and to learn new things. However, lately, I’ve been questioning the purpose behind my efforts. It feels like I’m stuck in a cycle of constant work with little to show for it. This isn’t about blaming anyone; it’s about seeking the motivation to keep going.</p><h3 id="monetization-attempts">Monetization Attempts<a class="headerlink" href="#monetization-attempts" title="Permanent link">&para;</a></h3><p>As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a "pay what you can" model, hoping it would help sustain my work. However, this didn’t go as planned.</p><p>The <strong>FOSS</strong> community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It’s a complex issue, and while some have been supportive, overall, the response hasn’t been enough to make a significant difference.</p><h3 id="health-concerns">Health Concerns<a class="headerlink" href="#health-concerns" title="Permanent link">&para;</a></h3><p>On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn’t cheap, and without stable income, it’s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.</p><h3 id="mental-health-struggles">Mental Health Struggles<a class="headerlink" href="#mental-health-struggles" title="Permanent link">&para;</a></h3><p>The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.</p><h3 id="the-way-forward">The Way Forward<a class="headerlink" href="#the-way-forward" title="Permanent link">&para;</a></h3><p>Given these circumstances, I’m focusing more on forums and this blog. Writing provides a creative outlet that isn’t constrained by algorithms or view counts. I’ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.</p><p>My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.</p><h3 id="closing-thoughts">Closing Thoughts<a class="headerlink" href="#closing-thoughts" title="Permanent link">&para;</a></h3><p>I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.</p><p>For now, I need to prioritize my well-being and financial stability. Once those are in place, I’ll be back with future projects. Right now, I’m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.</p><p>Thank you for understanding and supporting me through this journey.</p>https://bytes.xerolinux.xyz/priv/real-foss-struggles/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/real-foss-struggles/ Docker A Love Story Containers Docker Linux <h3 id="what-is-docker">What is Docker ?<a class="headerlink" href="#what-is-docker" title="Permanent link">&para;</a></h3><p><a href="https://docker.com/" target="_blank"><strong>Docker</strong></a> is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.</p><p align="center"> <img width="500" src="https://i.imgur.com/bbD4JDy.png" alt="logo"></p><h3 id="how-it-all-started">How it all started<a class="headerlink" href="#how-it-all-started" title="Permanent link">&para;</a></h3><p>It all started with <a href="https://distrobox.it/" target="_blank"><strong>Distrobox</strong></a>. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered <strong>Docker</strong> containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like <a href="https://immich.app/" target="_blank"><strong>Immich</strong></a> for images and videos, which would allow me to sync my devices locally rather than with <a href="https://icloud.com" target="_blank"><strong>Apple iCloud</strong></a> or <strong>Google</strong> making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...</p><p>With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3<sup>rd</sup> party conglomerates made me fall in love more and more as time went by...</p><h3 id="my-setup-so-far">My setup so far<a class="headerlink" href="#my-setup-so-far" title="Permanent link">&para;</a></h3><p>Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive <strong>MY</strong> setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.</p><p align="center"> <img width="500" src="https://i.imgur.com/DhfbUBs.png" alt="logo"></p><ul><li><strong>Homepage</strong></li></ul><p>To start off, let me tell you what am using for the page you see in the image, it's simply called <a href="https://gethomepage.dev" target="_blank"><strong>Homepage</strong></a>. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via <a href="https://en.wikipedia.org/wiki/YAML" target="_blank"><strong>YAML</strong></a> configurations files, and that the community behind it are so damn friendly ! Yep, there is no <em>dumb</em> question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their <a href="https://discord.gg/k4ruYNrudu" target="_blank"><strong>Discord Server</strong></a>.</p><ul><li><strong>File Browser</strong></li></ul><p>As for the File Browser I use to share files between PCs, it's also has a <em>creative</em> name lol, just called <a href="https://filebrowser.org" target="_blank"><strong>FileBrowser</strong></a>, it serves one purpose, browsing files, with ability to upload &amp; download from/to any PC. That's it. It just works nothing else to say about that.</p><ul><li><strong>Search Engine (Xoogle)</strong></li></ul><p>Hehe, the only reason I called it <em>Xoogle</em> is coz it's Xero + Google, get it ? Anyway, this is using something called <a href="https://whoogle.io" target="_blank"><strong>Whoogle</strong></a>, weird name I know, loogs damn ugly too. It's just a search engine that uses <strong>Google</strong> stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of <strong>Google</strong> the way it was back in the day..</p><ul><li><strong>Vaultwarden</strong></li></ul><p>That's a 3<sup>rd</sup>-party <a href="https://bitwarden.com" target="_blank"><strong>Bitwarden</strong></a> server-as-a-container, endorsed by them so can be trusted called <a href="https://github.com/dani-garcia/vaultwarden" target="_blank"><strong>Vaultwarden</strong></a>. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.</p><ul><li><strong>ShareX</strong></li></ul><p>This one is not for everyone. It uses <a href="https://zipline.diced.sh" target="_blank"><strong>Zipline</strong></a>. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.</p><ul><li><strong>My Comics</strong></li></ul><p>I am a big fan of comic books, especially the ones from my childhood. This container uses <a href="https://kavitareader.com/" target="_blank"><strong>Kavita</strong></a>. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their <a href="https://discord.gg/b52wT37kt7" target="_blank"><strong>Discord Server</strong></a>.</p><ul><li><strong>Audiobookshelf</strong></li></ul><p>I guess I do not need to explain that one. It's just a docker container for <a href="https://www.audiobookshelf.org" target="_blank"><strong>Audiobookshelf</strong></a>. In case you have some Audio books or podcasts. Have fun.</p><ul><li><strong>FreshRSS</strong></li></ul><p>That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called <a href="https://www.freshrss.org" target="_blank"><strong>FreshRSS</strong></a>. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.</p><ul><li><strong>Immich</strong></li></ul><p>Now, this is one of the big ones, <a href="https://immich.app" target="_blank"><strong>Immich</strong></a> is an amazing image cloud like service. Allowing you to move away from <strong>Apple</strong> and <strong>Google</strong>. I love that as I said at the beginning of this long post. They even have companion apps for both <a href="https://play.google.com/store/apps/details?id=app.alextran.immich" target="_blank"><strong>Android</strong></a> and <a href="https://apps.apple.com/sg/app/immich/id1613945652" target="_blank"><strong>iOS</strong></a> which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.</p><h3 id="you-get-the-idea">You get the idea<a class="headerlink" href="#you-get-the-idea" title="Permanent link">&para;</a></h3><p>Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's <strong>BIG</strong> rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.</p><ul><li><a href="https://plex.tv" target="_blank"><strong>Plex Server</strong></a></li><li><a href="https://github.com/alexta69/metube" target="_blank"><strong>meTube</strong></a></li><li><a href="https://koel.dev" target="_blank"><strong>Koel</strong></a></li><li><a href="https://tautulli.com" target="_blank"><strong>Tautulli</strong></a></li><li><a href="https://www.portainer.io" target="_blank"><strong>Portainer</strong></a></li><li><a href="https://github.com/schlagmichdoch/pairdrop" target="_blank"><strong>PairDrop</strong></a></li><li><a href="https://github.com/CorentinTh/it-tools" target="_blank"><strong>IT-Tools</strong></a></li><li><a href="https://cockpit-project.org" target="_blank"><strong>Cockpit</strong></a></li></ul><h3 id="where-to-find-more-containers">Where to find more containers ?<a class="headerlink" href="#where-to-find-more-containers" title="Permanent link">&para;</a></h3><p>Well, there are many places, but my favorite has to be <a href="https://selfh.st/apps/" target="_blank"><strong>Selfh.st</strong></a> hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.</p><h3 id="closing-words">Closing words<a class="headerlink" href="#closing-words" title="Permanent link">&para;</a></h3><p>Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.</p><p>Thanks again for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p>https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ XeroLinux Channel ArchLinux Linux XeroLinux YouTube <h3 id="youtube-channel">YouTube Channel ?<a class="headerlink" href="#youtube-channel" title="Permanent link">&para;</a></h3><p>Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, <strong>Nice!</strong>.</p><p>But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.</p><h3 id="what-now-xero">What now Xero ?<a class="headerlink" href="#what-now-xero" title="Permanent link">&para;</a></h3><p>Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since <strong>YouTube</strong> and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.</p><h3 id="whats-the-catch">What's the Catch ?<a class="headerlink" href="#whats-the-catch" title="Permanent link">&para;</a></h3><p>This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the <a href="https://ko-fi.com/XeroLinux" target="_blank"><strong>XeroLinux Ko-Fi</strong></a> fundraiser for the forseeable future.</p><p>Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to <em>donate</em>, however would be highly appreciated if you do.</p><h3 id="future-plans">Future Plans<a class="headerlink" href="#future-plans" title="Permanent link">&para;</a></h3><p>When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.</p><p>Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.</p><p>Anyways, thanks again for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p>https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ Wed, 04 Sep 2024 20:51:54 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ Why Revive XeroLinux ArchLinux Distribution Linux XeroLinux <div class="admonition info"><p class="admonition-title">Info</p><p>This post will explain why I decided to bring back <strong>XeroLinux</strong> and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the <a href="https://wiki.xerolinux.xyz/distro/" target="_blank"><strong>XeroLinux Wiki</strong></a></p></div><h3 id="what-is-xerolinux">What is XeroLinux<a class="headerlink" href="#what-is-xerolinux" title="Permanent link">&para;</a></h3><p>In short, it's just an alternative to the <a href="https://wiki.xerolinux.xyz/plasma/" target="_blank"><strong>Plasma Install Script</strong></a>, making it easier to install <strong>Arch</strong>, bypassing the need for <strong>ArchInstall</strong>. The ISO includes my toolkit as well as my famous <a href="https://wiki.xerolinux.xyz/rice/" target="_blank"><strong>Xero Layan Rice</strong></a> all-in-one shot.</p><p align="center"> <img src="https://i.imgur.com/ejZ1ZQv.png"></p><p>You can use the included <a href="https://wiki.xerolinux.xyz/xlapit/" target="_blank"><strong>Xero Toolkit</strong></a>, 1<sup>st</sup> icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the <a href="https://aur.chaotic.cx" target="_blank"><strong>Chaotic-AUR</strong></a> repository so it's easier for you to install <strong>AUR</strong> packages rather from having to compile them.</p><h3 id="why-is-xerolinux-back">Why is XeroLinux back<a class="headerlink" href="#why-is-xerolinux-back" title="Permanent link">&para;</a></h3><p>To explain why, let me set the stage. As you may already know, I’m going through significant financial difficulties. Living in Lebanon, finding a job—especially a remote one—is extremely challenging, and the situation continues to worsen. I won’t rehash the entire story here, but if you’re not familiar, you can read more about it in this <a href="https://blog.techxero.com/index.php/2024/06/07/actively-looking-for-a-job/" target="_blank"><strong>BlogPost</strong></a>.</p><p>After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro’s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it—and make it a way to sustain myself?</p><p><img alt="type:video" src="https://www.youtube.com/embed/lsYg6-wUWXw" /></p><p>Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the <a href="https://distrowatch.com" target="_blank"><strong>DistroWatch</strong></a> rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!</p><p>That answers the why.</p><h3 id="how-to-get-it">How to get it<a class="headerlink" href="#how-to-get-it" title="Permanent link">&para;</a></h3><p>I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO—a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the <a href="https://xerolinux.xyz/iso/" target="_blank"><strong>Release Post</strong></a></p><p>Now, I know that some of you will say, "But it's FOSS; you shouldn't charge for it." To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the <a href="https://github.com/XeroLinuxDev" target="_blank"><strong>Source Code</strong></a> and do with it as you wish. I am simply charging for my time.</p><p>The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up… well, let's not dwell on that. Let’s focus on keeping it alive and thriving for a long and happy journey together!</p><h3 id="is-it-any-special">Is it any Special<a class="headerlink" href="#is-it-any-special" title="Permanent link">&para;</a></h3><p>This is a common question I get. To be honest, there’s no groundbreaking advantage—it simply provides an easier way to install <strong>Arch</strong> with a polished <strong>KDE</strong> experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.</p><p>Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that <strong>XeroLinux</strong> is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.</p><h3 id="how-to-get-it-for-free">How to get it for free<a class="headerlink" href="#how-to-get-it-for-free" title="Permanent link">&para;</a></h3><p>If you can’t support me financially but still want <strong>XeroLinux</strong>, while the ISO isn't available for free right now, you can still achieve similar results with my <a href="https://xerolinux.xyz/news/xerolinux-plasma/" target="_blank"><strong>PlasmaInstall</strong></a> script, which will always be free of charge. It just requires a bit more elbow grease on your part—that’s all there is to it!</p><h3 id="i-dont-like-arch">I don't like Arch<a class="headerlink" href="#i-dont-like-arch" title="Permanent link">&para;</a></h3><p>In case you don't like <strong>Arch</strong> for whatever reason, but still want to support me, I have put up a <a href="https://shop.xerolinux.xyz" target="_blank"><strong>Merch Store</strong></a> where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.</p><h3 id="private-donations">Private Donations<a class="headerlink" href="#private-donations" title="Permanent link">&para;</a></h3><p>Did you know I have a private fundraiser account? It’s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at <a href="https://fundrazr.com/xerolinux" target="_blank"><strong>FundRazr</strong></a>.</p><p>Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving <strong>XeroLinux</strong>, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn’t been getting much support. Ideally, I’d love to keep these funds separate, but ultimately, it’s your choice.</p><h3 id="wrapping-up">Wrapping up<a class="headerlink" href="#wrapping-up" title="Permanent link">&para;</a></h3><p>That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.</p><p>Thank you to each and everyone for the support.</p>https://bytes.xerolinux.xyz/projects/why-is-distro-back/ Wed, 04 Sep 2024 20:51:54 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/why-is-distro-back/ 🏠Home <h1 id="welcome">Welcome<a class="headerlink" href="#welcome" title="Permanent link">&para;</a></h1><div class="admonition info"><p class="admonition-title">Info</p><p>All the documentation found herein, will be for <strong>ArchLinux</strong> since that's the distro I use. Some will be general <strong>Linux</strong> ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.</p></div><p>Welcome to <strong>DarkXero's Bytes</strong> ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the <a href="https://xerolinux.xyz" target="_blank"><strong>XeroLinux</strong></a> main site.</p><p align="center"> <img src="https://i.imgur.com/ZAvPAkx.png" alt="logo"></p><p>Documenting my learning journey has become an essential part of my <strong>Linux</strong> experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.</p><p align="center"> <img src="https://i.imgur.com/TgVQf9z.png" alt="ArchPorn"></p>https://bytes.xerolinux.xyz/ Wed, 04 Sep 2024 18:37:45 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/ \ No newline at end of file diff --git a/site/feed_json_created.json b/site/feed_json_created.json index 2e2a898..903c857 100644 --- a/site/feed_json_created.json +++ b/site/feed_json_created.json @@ -1 +1 @@ -{"version": "https://jsonfeed.org/version/1", "title": "DarkXero's Bytes", "home_page_url": "https://bytes.xerolinux.xyz/", "feed_url": "https://bytes.xerolinux.xyz/feed_json_created.json", "description": "Thoughts, Opinions, Documentation, and more...", "icon": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png", "authors": [], "language": "en", "items": [{"id": "https://bytes.xerolinux.xyz/docs/passwd-reset/", "url": "https://bytes.xerolinux.xyz/docs/passwd-reset/", "title": "Reset Password", "content_html": "

    Information

    \n

    I have lost my root pass on Linux more times than I can count. This guide is here so I do not have to Google it lol. Might be useful to you I dunno. But it's here.

    \n

    \n \n

    \n\n

    Let's do this \ud83d\ude80

    \n

    How to reset forgotten root password in a GNU/Linux distribution with GRUB?

    \n

    If this is a laptop or a desktop which you have next to you then follow these steps.

    \n
      \n
    1. Shut down the device.
    2. \n
    3. Start it again. When you see GRUB menu, press the e key on the keyboard before the system starts booting.
    4. \n
    5. In the GRUB boot options, scroll down and locate the line that begins with linux. In this line move the cursor to the end, right after ro quiet. Delete everything after that. Change ro to rw. Append the parameter init=/bin/bash
    6. \n
    7. Press Ctrl+x, or F10, to boot.
    8. \n
    9. You will see a root prompt.
    10. \n
    \n
    :#\n
    \n

    Remount the filesystem in read/write mode:

    \n
    :# mount -no remount,rw /\n
    \n
      \n
    1. Set the password of any user(s).
    2. \n
    \n
    :# passwd joe\n
    \n
      \n
    1. Reboot with the command reboot -f.
    2. \n
    \n

    That's it ! The new password should work now.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/passwd-reset.png", "date_published": "2024-09-17T12:47:15+03:00", "authors": [], "tags": ["Linux", "Recovery", "Reset"]}, {"id": "https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/", "url": "https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/", "title": "FFmpeg Cheat Sheet", "content_html": "

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the use of FFmpeg on Linux.

    \n

    \n \n

    \n\n

    Installation

    \n

    First we will need to install FFmpeg. I will be doing it on ArchLinux since that's what I use. Look for packages on your distro if you don't use it.

    \n
    sudo pacman -S --noconfirm --needed ffmpeg ffmpegthumbnailer ffmpegthumbs qt6-multimedia-ffmpeg\n
    \n

    Now that we have it, it's time for the cheat sheet.

    \n
    \n

    .// The Cheat Sheet \\\\.

    \n\n

    Basic conversion

    \n
    ffmpeg -i in.mp4 out.avi\n
    \n

    Remux an MKV file into MP4

    \n
    ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4\n
    \n

    High-quality encoding

    \n

    Use the crf (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to -crf 18. Use the preset parameter to control the speed of the compression process. Additional info.

    \n
    ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4\n
    \n

    Trimming

    \n

    Without re-encoding:\n

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4\n
    \n- -ss specifies the start time, e.g. 00:01:23.000 or 83 (in seconds)\n- -t specifies the duration of the clip (same format).\n- Recent ffmpeg also has a flag to supply the end time with -to.\n- -c copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.

    \n

    With re-encoding:

    \n

    If you leave out the -c copy option, ffmpeg will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the x264 Encoding Guide and the AAC Encoding Guide, respectively.

    \n

    For example:\n

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4\n

    \n

    Mux video and audio from another video

    \n

    To copy the video from in0.mp4 and audio from in1.mp4:\n

    ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4\n
    \n- With -c copy the streams will be stream copied, not re-encoded, so there will be no quality loss. If you want to re-encode, see FFmpeg Wiki: H.264 Encoding Guide.\n- The -shortest option will cause the output duration to match the duration of the shortest input stream.\n- See the -map option documentation for more info.

    \n

    Concat demuxer

    \n

    First, make a text file.\n

    file 'in1.mp4'\nfile 'in2.mp4'\nfile 'in3.mp4'\nfile 'in4.mp4'\n
    \nThen, run ffmpeg:\n
    ffmpeg -f concat -i list.txt -c copy out.mp4\n

    \n

    Delay audio/video

    \n

    Delay video by 3.84 seconds:\n

    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4\n
    \nDelay audio by 3.84 seconds:\n
    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4\n

    \n

    Burn subtitles

    \n

    Use the libass library (make sure your ffmpeg install has the library in the configuration --enable-libass).

    \n

    First convert the subtitles to .ass format:\n

    ffmpeg -i sub.srt sub.ass\n
    \nThen add them using a video filter:

    \n
    ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4\n
    \n

    Extract the frames from a video

    \n

    To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:

    \n
    ffmpeg -i in.mp4 -vf select='between(t,1,5)+between(t,11,15)' -vsync 0 out%d.png\n
    \n

    To extract one frame per second only:

    \n
    ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png\n
    \n

    Rotate a video

    \n

    Rotate 90 clockwise:

    \n
    ffmpeg -i in.mov -vf "transpose=1" out.mov\n
    \n

    For the transpose parameter you can pass:

    \n
    0 = 90CounterCLockwise and Vertical Flip (default)\n1 = 90Clockwise\n2 = 90CounterClockwise\n3 = 90Clockwise and Vertical Flip\n
    \n

    Use -vf \"transpose=2,transpose=2\" for 180 degrees.

    \n

    Download \"Transport Stream\" video streams

    \n
      \n
    1. Locate the playlist file, e.g. using Chrome > F12 > Network > Filter: m3u8
    2. \n
    3. Download and concatenate the video fragments:
    4. \n
    \n
    ffmpeg -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4\n
    \n

    If you get a \"Protocol 'https not on whitelist 'file,crypto'!\" error, add the protocol_whitelist option:

    \n
    ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4\n
    \n

    Mute some of the audio

    \n

    To replace the first 90 seconds of audio with silence:

    \n
    ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='lte(t,90)':volume=0" out.mp4\n
    \n

    To replace all audio between 1'20\" and 1'30\" with silence:

    \n
    ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='between(t,80,90)':volume=0" out.mp4\n
    \n

    Deinterlace

    \n

    Deinterlacing using \"yet another deinterlacing filter\".

    \n
    ffmpeg -i in.mp4 -vf yadif out.mp4\n
    \n

    Create a video slideshow from images

    \n

    Parameters: -r marks the image framerate (inverse time of each image); -vf fps=25 marks the true framerate of the output.

    \n
    ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4\n
    \n

    Extract images from a video

    \n\n

    Display the frame number on each frame

    \n
    ffmpeg -i in.mov -vf "drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72" -y out.mov\n
    \n

    Metadata: Change the title

    \n
    ffmpeg -i in.mp4 -map_metadata -1 -metadata title="My Title" -c:v copy -c:a copy out.mp4\n
    \n

    Wrap up

    \n

    That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/ffmpeg-cheats.png", "date_published": "2024-09-17T12:36:31+03:00", "authors": [], "tags": ["CheatSheet", "FFmpeg", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/tech/cosmic-experience/", "url": "https://bytes.xerolinux.xyz/tech/cosmic-experience/", "title": "My Cosmic Experience", "content_html": "
    \n

    Note

    \n

    Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.

    \n
    \n

    Installation

    \n

    The Cosmic DE hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.

    \n

    \n \n

    \n\n

    Since I am an avid ArchLinux user, that's how I installed it. I did not use the Pop!_OS 24.04 LTS alpha ISO from >> Cosmic Downloads. So my views come from there. So I cannot compare.

    \n

    Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the ArchInstall profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.

    \n

    Now on to the more detailed things I have done to install Cosmic. I first installed Arch Minimal using the ArchInstall script, meaning that I avoided the profiles, & drivers sections completely, I always choose Grub as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in chroot I installed the DE the following way, knowing that, we can skip the use of sudo since we are still logged in as root...

    \n
    pacman -Syy && pacman -S cosmic linux-headers pacman-contrib xdg-user-dirs power-profiles-daemon wayland-protocols wayland-utils\n
    \n

    \n \n

    \n\n

    Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because cosmic is not a single one, it's a Group of packages or a meta-package as it is known as. That said, the reason I installed linux-headers is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially xdg-user-dirs without which no Documents, Pictures, Videos... folders will be created. Strange I know.

    \n

    What I also found weird, is the fact that cosmic-greeter service was not being enabled after install which was netting me a boot to TTY session. So I had to enable it while at the same time generating the user-dirs via...

    \n
    systemctl enable cosmic-greeter.service && xdg-user-dirs-update\n
    \n

    Keep in mind that I am doing all this while still in chroot post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.

    \n

    Experience

    \n

    Now on to what y'all came here for. All was good, well sorta, system rebooted into Grub, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some TTY dmsg errors, flickering on and off. But after a few seconds I finally saw the Cosmic Greeter login screen, relief finally.

    \n

    \n \n

    \n\n

    I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an nVidia user, I thought could be a driver issue since on first boot it uses the not so great nouveau ones. That's why my first reflex was to install them, so I did.

    \n

    \n \n

    \n\n

    After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about EGL drm crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?

    \n

    As it turns out I had forgotten to include the nVidia drm kernel modules lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.

    \n
    sudo sed -i '/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf\nsudo systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service nvidia-powerd.service\necho -e 'options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02' | sudo tee -a /etc/modprobe.d/nvidia.conf\necho -e 'options nvidia_drm modeset=1 fbdev=1' | sudo tee -a /etc/modprobe.d/nvidia.conf && sudo mkinitcpio -P\n
    \n

    After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like XFCE. Fired up top to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than KDE Plasma ! Nice !

    \n

    Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run nmtui and deactivate it from there making sure it doesn't automatically reconnect on login.

    \n

    Now on to the System Settings. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..

    \n

    That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.

    \n

    Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean Cosmic-Notes was there, just not handling documents...

    \n

    I try to right-click > open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself \"It's Alpha Software, calm down Steve\".

    \n

    To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a CLI and no default app set ? I dunno.

    \n

    Finally I decided to try out the thing that almost everyone's raving about, Tiling/Stacking. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...

    \n

    That's where I gave up and decided to go back home to KDE Plasma.

    \n

    Final words

    \n

    Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.

    \n

    It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.

    \n

    I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. Cosmic has come a long way in such a short time. I mean, writing a DE from scratch using Rust a sorta new programming language is no easy feat.

    \n

    I will end the post by congratulating the System76 dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a XeroCosmic to the family.. Just don't hold your breath on that, it ain't set in stone.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/tech/cosmic-experience.png", "date_published": "2024-09-11T12:33:00+03:00", "authors": [], "tags": ["ArchLinux", "Cosmic", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/docs/affinity-linux/", "url": "https://bytes.xerolinux.xyz/docs/affinity-linux/", "title": "Affinity on Linux", "content_html": "
    \n

    Warning

    \n

    I am aware that these apps are what's called \"Proprietary\" and require us to purchase a one-time License in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.

    \n
    \n

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the installation of Affinity Apps on Linux with the help of some scripts I found thanks to Twig6943 who went out of his way to create them.

    \n

    \n \n

    \n\n

    Installation

    \n

    First we will need to download the Photo, Designer or Publisher exe from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a Discreet GPU is highly recommended for Hardware Acceleration & good performance.

    \n
    \n

    Note

    \n

    Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required Dependencies

    \n
    \n

    \n \n

    \n\n\n

    Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh)"\n
    \n\n

    Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh)"\n
    \n\n

    Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh)"\n
    \n

    Wrap up

    \n
    \n

    Tip

    \n

    Check the Written Guide if you prefer doing it manually. Also the author posted his scripts on the Affinity's forums, who knows maybe in the future a Linux native version ? Let's all cross our fingers \ud83e\udd1e

    \n
    \n

    That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to Photoshop I have ever gotten, without having to go through WinBlows if ya know what I mean.

    \n

    Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/affinity-linux.png", "date_published": "2024-09-10T21:53:38+03:00", "authors": [], "tags": ["Affinity", "Linux", "Photoshop"]}, {"id": "https://bytes.xerolinux.xyz/projects/cosmic-script/", "url": "https://bytes.xerolinux.xyz/projects/cosmic-script/", "title": "Cosmic Install Script", "content_html": "

    .//Updated on Sep. 15th 2024\\\\.

    \n\n
    \n

    Info

    \n

    This project has moved to the XeroLinux Wiki. Will keep this page around for updates. Keep in mind it's in Alpha.

    \n
    \n

    Script info

    \n

    Well, it does what title says, it installs Cosmic in one of 3 ways, similar to how my Plasma Install script does.

    \n\n

    \n \n

    \n\n

    Included are some useful packages, like a freaking web browser eg. Firefox, an archive manager, Meld and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official Arch Repositories are supported, none from the AUR.

    \n

    Wrapping up

    \n

    Cosmic is shaping up to be the DE that might break the current Top 2 (KDE and Gnome) making it the Top 3 DEs of all time. Who knows ? I wish the System76 team all the best.

    \n

    Cheers !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/cosmic-script.png", "date_published": "2024-09-08T16:08:55+03:00", "authors": [], "tags": ["ArchLinux", "CosmicDE", "Linux", "XeroLinux"]}, {"id": "https://bytes.xerolinux.xyz/SUMMARY/", "url": "https://bytes.xerolinux.xyz/SUMMARY/", "title": "SUMMARY", "content_html": "", "image": "https://bytes.xerolinux.xyz/assets/images/social/SUMMARY.png", "date_published": "2024-09-05T19:30:45+03:00", "authors": [], "tags": []}, {"id": "https://bytes.xerolinux.xyz/docs/linux-explained/", "url": "https://bytes.xerolinux.xyz/docs/linux-explained/", "title": "Linux in a Nutshell", "content_html": "

    I thought I'd share this explanation about Linux a good friend and fellow Linux enthusiast REALERvolker1 recently posted on Discord.

    \n
    \n

    Tip

    \n

    The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various Desktop Environments or Window Managers. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...

    \n
    \n

    What is Linux ?

    \n

    Since not everyone's super familiar with Linux, here's a quick crash course.

    \n

    Linux is a Monolithic Kernel, so all the drivers and whatnot are compiled into the binary. The Nonfree software is usually put in the actual source repo as binary blobs, or in the case of nVidia drivers, built using a system called DKMS and compiled into the kernel binary.

    \n

    Once the computer boots up, an init process is started (the default is /sbin/init, usually a symlink to your init system), which is PID 1. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having too much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.

    \n

    Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being POSIX compliant, and not really caring about file extensions.

    \n

    \n \"logo\"\n

    \n\n

    Distros & PKG Managers

    \n

    On Debian, you install packages with apt. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a GUI frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the Debian Wiki is pretty mid, but the Arch Wiki is amazing.

    \n

    Since Arch Linux aims to be the most generic Linux distro ever, information written for it should also help with Debian, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:

    \n\n

    Filesystem & Updates

    \n

    If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not\u2014it might fix a bug.

    \n

    As for the filesystem:

    \n\n

    In UNIX, everything is a file. This means you can:

    \n\n

    Wrapping it all up

    \n

    This was a quick run-through explaining what GNU/Linux is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/linux-explained.png", "date_published": "2024-09-05T19:30:45+03:00", "authors": [], "tags": ["Kernel", "Linux", "Packages"]}, {"id": "https://bytes.xerolinux.xyz/docs/build-archiso/", "url": "https://bytes.xerolinux.xyz/docs/build-archiso/", "title": "ArchISO Build", "content_html": "

    Information

    \n

    This guide was written by following the ArchWiki. It's for my own use. The public version can be found on the official XeroLinux. This version will always be updated. Sometimes need to remind myself which files to modify...

    \n

    \n \"logo\"\n

    \n\n

    Let's do this \ud83d\ude80

    \n

    First off we need to grab a few packages in order to be able to build the ISO.

    \n
    sudo pacman -S archiso\n
    \n

    Now we need create two folders in our home directory or anywhere else, up to you, one called XeroWork for placing extracted files, another called XeroOut where final ISO will be located.

    \n
    mkdir ~/XeroWork && mkdir ~/XeroOut\n
    \n

    Modify the packages.x86_64 inside releng folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new & updated ArchISO. Just use the command below and watch the magic happen.

    \n
    sudo mkarchiso -v -w ~/XeroWork -o ~/XeroOut /usr/share/archiso/configs/releng\n
    \n

    Finally we can delete the work directory to save space. just do sudo rm -rf ~/XeroWork/.

    \n

    That's it !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/build-archiso.png", "date_published": "2024-09-05T12:57:14+03:00", "authors": [], "tags": ["ArchISO", "ArchLinux", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/docs/mkdocs-install/", "url": "https://bytes.xerolinux.xyz/docs/mkdocs-install/", "title": "MKDocs Install", "content_html": "

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the installation of MKDocs the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for ArchLinux if you don't use that distro, well, their site shows how to install for your distro.

    \n

    \"type:video\"

    \n

    Installing MKDocs

    \n

    We will need to install it with some extras. The 2 main packages exist on the Arch repos. The rest are on the AUR, so to grab everything in one go, I will be using Paru. Compiling might take a while, so sit back wile it finishes.

    \n
    paru -S --noconfirm mkdocs mkdocs-get-deps mkdocs-material python-pipx\n
    \n

    Donce that's done we need to create the site. There's a command for that.

    \n
    mkdocs new my-project\ncd my-project\n
    \n

    Now that we initialized the new site we need to configure it. We do so by editing the mkdocs.yml file putting in the following info :

    \n
    site_name: Sitename\n\ntheme:\n  name: material\n  logo: assets/Tux.gif\n  favicon: assets/favicon.ico\n  palette:\n    scheme: slate\n    primary: deep purple\n  features:\n   - navigation.top\n   - navigation.footer\n   - navigation.indexes\n   - content.code.copy\n   - search.suggest\n   - search.highlight\n   - search.share\n   - navigation.expand\n
    \n

    This will make it use the Slate Material Theme with Deep Purple accents. To know more about the theme check the MKDocs Material Wiki. That's it go from there.

    \n

    Plugins & Extra Stuff

    \n

    I have found a few that I liked on the AUR, let's install them via :

    \n
    paru -S --noconfirm mkdocs-autorefs mkdocs-section-index mkdocs-glightbox mkdocs-backlinks-plugin mkdocs-redirects mkdocs-ezlinks-plugin mkdocs-literate-nav\n
    \n

    For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...

    \n\n
    wget https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz\n
    \n

    Extract & cd into it then run the following command :

    \n
    sudo python setup.py install\n
    \n\n
    git clone https://github.com/Guts/mkdocs-rss-plugin.git\n
    \n

    Now we cd into it then run the following command :

    \n
    sudo python setup.py install\n
    \n

    To activate them we edit the same mkdocs.yml file as before like so :

    \n
    plugins:\n  - rss\n  - social\n  - search\n  - autorefs\n  - glightbox\n
    \n

    There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :

    \n
    markdown_extensions:\n\n  # Python Markdown\n   - abbr\n   - admonition\n   - attr_list\n   - def_list\n   - footnotes\n   - md_in_html\n   - toc:\n      permalink: true\n\n  # Python Markdown Extensions\n   - pymdownx.arithmatex:\n       generic: true\n   - pymdownx.betterem:\n       smart_enable: all\n   - pymdownx.caret\n   - pymdownx.details\n   - pymdownx.emoji:\n      emoji_index: !!python/name:material.extensions.emoji.twemoji\n      emoji_generator: !!python/name:material.extensions.emoji.to_svg\n   - pymdownx.highlight:\n      anchor_linenums: true\n      line_spans: __span\n      pygments_lang_class: true\n   - pymdownx.inlinehilite\n   - pymdownx.keys\n   - pymdownx.mark\n   - pymdownx.smartsymbols\n   - pymdownx.superfences\n   - pymdownx.tabbed:\n       alternate_style: true\n   - pymdownx.tasklist:\n       custom_checkbox: true\n   - pymdownx.tilde\n\nextra:\n  social:\n    - icon: fontawesome/brands/github\n      link: https://github.com/darkxero-dev\n    - icon: fontawesome/brands/youtube\n      link: https://youtube.com/XeroLinuxOfficial\n    - icon: fontawesome/brands/x-twitter\n      link: https://twitter.com/xerolinuxop\n    - icon: fontawesome/brands/mastodon\n      link: https://fosstodon.org/@xerolinux\n
    \n

    That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to @JustAGuyLinux for helping out a little hehe.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/mkdocs-install.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Blogging", "Linux", "MKDocs"]}, {"id": "https://bytes.xerolinux.xyz/fund/foss-fundraising/", "url": "https://bytes.xerolinux.xyz/fund/foss-fundraising/", "title": "FOSS Fundraising", "content_html": "

    Backstory

    \n

    Before I begin, I would like to clarify that, when I say Linux in this context I mean Desktop Linux.

    \n

    When I started this whole Linux endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with KDE Plasma while using the now infamous Manjaro Distrobution. Yes, this is when I got hooked to Linux. Now don't get me wrong, I have since tried many DEs and WMs. But alas only KDE Plasma answered my needs.

    \n

    Since then I started getting the urge to build my own Distro my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called ArcoLinux. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro ArchLinux.

    \n

    Fundraising

    \n

    Now we get to the meat and potatoes of this post, why ask for money when it's FOSS ? Well in case you did not know, the Free in Free Open Source does NOT mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our TIME.

    \n

    Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a real job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.

    \n

    Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the Fundraising or Donation methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the Donate button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)

    \n

    Hate in FOSS

    \n

    Now let's address the other elephant in the room, the hate in the FOSS community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word Free in Free Open Source. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they despise others, the ones we call Protest Distros. Now am not going to name any names here, but the longer this goes on, the slower Linux will grow.

    \n

    So if you love Linux as much as you say you do, please help your favorite projects grow in any way shape or form, either Donating for financial support if you can and are not a developer, or by simply Reporting Issues upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.

    \n

    Anyways, thanks for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    \n

    See ya there

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/fund/foss-fundraising.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["ArchLinux", "Fundraising", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/", "url": "https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/", "title": "GPU &/or CPU Fund", "content_html": "

    What's this ?

    \n

    My PC could really use an upgrade. I\u2019m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the CPU and GPU. With the XeroLinux Distro not coming back anytime soon, it\u2019s crucial to put funds towards these upgrades where they truly matter.

    \n

    \n \"logo\"\n

    \n\n

    As you can see from image above, the GTX 1080 (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As nVidia just announced it's going full Open-Source. You can read more on >> This Article

    \n

    What CPU ?

    \n

    Well, I\u2019m not looking for much. For the CPU, I\u2019m considering an upgrade to either the Ryzen 7 5800X3D valued at $330 or the Ryzen 9 5950X valued at $452. Honestly, it doesn\u2019t matter which one\u2014I just need that extra boost for compiling stuff.

    \n

    \"type:video\"

    \n

    What GPU ?

    \n

    That\u2019s where things get a bit tricky. I\u2019m still undecided between sticking with nVidia or switching to AMD. I am currently torn between the two. Now, I know most of you would recommend AMD because it\u2019s hassle-free on Linux\u2014and you\u2019d be right. But as a content creator who relies on Cuda and nVidia's nVenc Encoder, I\u2019m leaning towards sticking with nVidia.

    \n

    \"type:video\"

    \n

    However, if I do decide to switch to Team Red, I\u2019d go for the RX 6950XT currently valued at $400 here. Otherwise, if I stay with Team-Green, it\u2019s going to be the RTX 3090 valued at $595.

    \n

    Conclusion

    \n

    Upgrading the GPU is my top priority right now, as it will make the most significant impact. My current GTX 1080 is nearing its end-of-life, and I can manage with my Ryzen 5 3600X for a bit longer. So, if you can help me raise enough funds to upgrade the GPU and stay ahead in the Linux world, I\u2019d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.

    \n

    Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we\u2019ll reach the goal in no time. Your support means the world to me, and it\u2019ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.

    \n

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/fund/new-gpu-cpu-fund.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["ArchLinux", "Fundraising", "Hardware", "Linux", "Upgrade"]}, {"id": "https://bytes.xerolinux.xyz/priv/be-thankful/", "url": "https://bytes.xerolinux.xyz/priv/be-thankful/", "title": "Be Thankful", "content_html": "

    What's This?

    \n

    Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.

    \n

    Content Creators

    \n

    Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.

    \n

    YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.

    \n

    Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.

    \n

    Writers / Blog Posters

    \n

    This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.

    \n

    One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I\u2019ve learned to improve, and I thank them for that.

    \n

    Appreciating CCs and Writers

    \n

    We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.

    \n

    Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.

    \n

    As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.

    \n

    Fostering a Positive Community

    \n

    The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.

    \n

    When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.

    \n

    Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.

    \n

    Conclusion

    \n

    Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/be-thankful.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Content Creation", "Linux", "YouTube"]}, {"id": "https://bytes.xerolinux.xyz/priv/developing-is-fun-but/", "url": "https://bytes.xerolinux.xyz/priv/developing-is-fun-but/", "title": "Developing is fun", "content_html": "

    Am I a Developer ?

    \n

    Lol, yeah, I know\u2014it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code\u2014specifically Bash. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.

    \n

    \"type:video\"

    \n

    And if it does work, I'm happy and share the result with the FOSS community.

    \n

    It's fun until...

    \n

    Doing this is super fun and fulfilling\u2014until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.

    \n

    Now, I know I can reach out to the FOSS community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.

    \n

    Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere\u2014not just in FOSS. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.

    \n

    Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.

    \n

    Sharing is caring

    \n

    This is the part where I say: please, don't keep your work to yourself. Share it with the community\u2014who knows, maybe you'll find someone who can help take your project to another level.

    \n

    I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.

    \n

    \"Sharing is caring,\" as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/developing-is-fun-but.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Developer", "Development", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/priv/real-foss-struggles/", "url": "https://bytes.xerolinux.xyz/priv/real-foss-struggles/", "title": "FOSS Struggles", "content_html": "

    Hello everyone,

    \n

    Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.

    \n

    Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.

    \n
    \n

    P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let\u2019s dive in.

    \n
    \n

    \"type:video\"

    \n

    My Frustration

    \n

    Recently, I\u2019ve been investing a lot of time and effort into my projects and contributing to FOSS (Free and Open Source Software) wherever possible. While I find this work rewarding, it\u2019s also been increasingly frustrating. Why? Let me explain.

    \n

    I spend countless hours working behind the scenes to make everyone\u2019s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it\u2019s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I\u2019m making a real impact.

    \n

    Seeking Purpose

    \n

    Initially, I embarked on this journey for fun and to learn new things. However, lately, I\u2019ve been questioning the purpose behind my efforts. It feels like I\u2019m stuck in a cycle of constant work with little to show for it. This isn\u2019t about blaming anyone; it\u2019s about seeking the motivation to keep going.

    \n

    Monetization Attempts

    \n

    As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a \"pay what you can\" model, hoping it would help sustain my work. However, this didn\u2019t go as planned.

    \n

    The FOSS community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It\u2019s a complex issue, and while some have been supportive, overall, the response hasn\u2019t been enough to make a significant difference.

    \n

    Health Concerns

    \n

    On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn\u2019t cheap, and without stable income, it\u2019s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.

    \n

    Mental Health Struggles

    \n

    The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.

    \n

    The Way Forward

    \n

    Given these circumstances, I\u2019m focusing more on forums and this blog. Writing provides a creative outlet that isn\u2019t constrained by algorithms or view counts. I\u2019ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.

    \n

    My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.

    \n

    Closing Thoughts

    \n

    I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.

    \n

    For now, I need to prioritize my well-being and financial stability. Once those are in place, I\u2019ll be back with future projects. Right now, I\u2019m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.

    \n

    Thank you for understanding and supporting me through this journey.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/real-foss-struggles.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["FOSS", "Fundraising", "Health", "Linux", "Struggles"]}, {"id": "https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/", "url": "https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/", "title": "Docker A Love Story", "content_html": "

    What is Docker ?

    \n

    Docker is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.

    \n

    \n \"logo\"\n

    \n\n

    How it all started

    \n

    It all started with Distrobox. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered Docker containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like Immich for images and videos, which would allow me to sync my devices locally rather than with Apple iCloud or Google making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...

    \n

    With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3rd party conglomerates made me fall in love more and more as time went by...

    \n

    My setup so far

    \n

    Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive MY setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.

    \n

    \n \"logo\"\n

    \n\n\n

    To start off, let me tell you what am using for the page you see in the image, it's simply called Homepage. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via YAML configurations files, and that the community behind it are so damn friendly ! Yep, there is no dumb question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their Discord Server.

    \n\n

    As for the File Browser I use to share files between PCs, it's also has a creative name lol, just called FileBrowser, it serves one purpose, browsing files, with ability to upload & download from/to any PC. That's it. It just works nothing else to say about that.

    \n\n

    Hehe, the only reason I called it Xoogle is coz it's Xero + Google, get it ? Anyway, this is using something called Whoogle, weird name I know, loogs damn ugly too. It's just a search engine that uses Google stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of Google the way it was back in the day..

    \n\n

    That's a 3rd-party Bitwarden server-as-a-container, endorsed by them so can be trusted called Vaultwarden. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.

    \n\n

    This one is not for everyone. It uses Zipline. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.

    \n\n

    I am a big fan of comic books, especially the ones from my childhood. This container uses Kavita. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their Discord Server.

    \n\n

    I guess I do not need to explain that one. It's just a docker container for Audiobookshelf. In case you have some Audio books or podcasts. Have fun.

    \n\n

    That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called FreshRSS. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.

    \n\n

    Now, this is one of the big ones, Immich is an amazing image cloud like service. Allowing you to move away from Apple and Google. I love that as I said at the beginning of this long post. They even have companion apps for both Android and iOS which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.

    \n

    You get the idea

    \n

    Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's BIG rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.

    \n\n

    Where to find more containers ?

    \n

    Well, there are many places, but my favorite has to be Selfh.st hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.

    \n

    Closing words

    \n

    Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.

    \n

    Thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/tech/docker-containers-a-love-story.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Containers", "Docker", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/", "url": "https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/", "title": "XeroLinux Channel", "content_html": "

    YouTube Channel ?

    \n

    Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, Nice!.

    \n

    But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.

    \n

    What now Xero ?

    \n

    Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since YouTube and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.

    \n

    What's the Catch ?

    \n

    This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the XeroLinux Ko-Fi fundraiser for the forseeable future.

    \n

    Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to donate, however would be highly appreciated if you do.

    \n

    Future Plans

    \n

    When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.

    \n

    Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.

    \n

    Anyways, thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/what-s-up-with-my-channel.png", "date_published": "2024-09-04T20:51:54+03:00", "authors": [], "tags": ["ArchLinux", "Linux", "XeroLinux", "YouTube"]}, {"id": "https://bytes.xerolinux.xyz/projects/why-is-distro-back/", "url": "https://bytes.xerolinux.xyz/projects/why-is-distro-back/", "title": "Why Revive XeroLinux", "content_html": "
    \n

    Info

    \n

    This post will explain why I decided to bring back XeroLinux and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the XeroLinux Wiki

    \n
    \n

    What is XeroLinux

    \n

    In short, it's just an alternative to the Plasma Install Script, making it easier to install Arch, bypassing the need for ArchInstall. The ISO includes my toolkit as well as my famous Xero Layan Rice all-in-one shot.

    \n

    \n \n

    \n\n

    You can use the included Xero Toolkit, 1st icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the Chaotic-AUR repository so it's easier for you to install AUR packages rather from having to compile them.

    \n

    Why is XeroLinux back

    \n

    To explain why, let me set the stage. As you may already know, I\u2019m going through significant financial difficulties. Living in Lebanon, finding a job\u2014especially a remote one\u2014is extremely challenging, and the situation continues to worsen. I won\u2019t rehash the entire story here, but if you\u2019re not familiar, you can read more about it in this BlogPost.

    \n

    After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro\u2019s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it\u2014and make it a way to sustain myself?

    \n

    \"type:video\"

    \n

    Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the DistroWatch rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!

    \n

    That answers the why.

    \n

    How to get it

    \n

    I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO\u2014a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the Release Post

    \n

    Now, I know that some of you will say, \"But it's FOSS; you shouldn't charge for it.\" To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the Source Code and do with it as you wish. I am simply charging for my time.

    \n

    The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up\u2026 well, let's not dwell on that. Let\u2019s focus on keeping it alive and thriving for a long and happy journey together!

    \n

    Is it any Special

    \n

    This is a common question I get. To be honest, there\u2019s no groundbreaking advantage\u2014it simply provides an easier way to install Arch with a polished KDE experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.

    \n

    Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that XeroLinux is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.

    \n

    How to get it for free

    \n

    If you can\u2019t support me financially but still want XeroLinux, while the ISO isn't available for free right now, you can still achieve similar results with my PlasmaInstall script, which will always be free of charge. It just requires a bit more elbow grease on your part\u2014that\u2019s all there is to it!

    \n

    I don't like Arch

    \n

    In case you don't like Arch for whatever reason, but still want to support me, I have put up a Merch Store where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.

    \n

    Private Donations

    \n

    Did you know I have a private fundraiser account? It\u2019s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at FundRazr.

    \n

    Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving XeroLinux, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn\u2019t been getting much support. Ideally, I\u2019d love to keep these funds separate, but ultimately, it\u2019s your choice.

    \n

    Wrapping up

    \n

    That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.

    \n

    Thank you to each and everyone for the support.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/why-is-distro-back.png", "date_published": "2024-09-04T20:51:54+03:00", "authors": [], "tags": ["ArchLinux", "Distribution", "Linux", "XeroLinux"]}, {"id": "https://bytes.xerolinux.xyz/", "url": "https://bytes.xerolinux.xyz/", "title": "\ud83c\udfe0Home", "content_html": "

    Welcome

    \n
    \n

    Info

    \n

    All the documentation found herein, will be for ArchLinux since that's the distro I use. Some will be general Linux ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.

    \n
    \n

    Welcome to DarkXero's Bytes ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the XeroLinux main site.

    \n

    \n \"logo\"\n

    \n\n

    Documenting my learning journey has become an essential part of my Linux experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.

    \n

    \n \"ArchPorn\"\n

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/index.png", "date_published": "2024-09-04T18:37:45+03:00", "authors": [], "tags": []}]} \ No newline at end of file +{"version": "https://jsonfeed.org/version/1", "title": "DarkXero's Bytes", "home_page_url": "https://bytes.xerolinux.xyz/", "feed_url": "https://bytes.xerolinux.xyz/feed_json_created.json", "description": "Thoughts, Opinions, Documentation, and more...", "icon": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png", "authors": [], "language": "en", "items": [{"id": "https://bytes.xerolinux.xyz/priv/current-situation/", "url": "https://bytes.xerolinux.xyz/priv/current-situation/", "title": "Current Situation", "content_html": "

    Hello everyone,

    \n

    Today is one of those days where words fall short. The past few days have been incredibly difficult for us here in Lebanon, and it feels like things are only getting worse with each passing moment. Both the political and economic situation are spiraling out of control, and it\u2019s impacting every single person here. Close friends, people I\u2019ve known for years, have been injured, and some have even been forced to flee their homes. We\u2019re now living in a reality where technology, something we all rely on daily, has become a source of fear. Can you imagine? Tech warfare? Exploding pagers and phones? It\u2019s something straight out of a dystopian novel, but it's happening right here, right now.

    \n

    We are terrified to carry even the most basic tech devices, and it's surreal to say the least.

    \n

    \"type:video\"

    \n

    In the video below, you\u2019ll see just how grim the situation has become. Just yesterday, a town not far from where I live was hit. I didn\u2019t just hear it, I felt it. The windows shook violently as multiple, deafening sonic booms erupted overhead. I don\u2019t exaggerate when I say my heart sank. The sound alone brought back memories of the 1970s and 80s, when I lived through a different war, but the fear is just as real now as it was then. I\u2019m still shaking as I write this. This kind of fear paralyzes you. You never know if the next blast will be the one that hits your home.

    \n

    \"type:video\"

    \n

    For the first time in my life, I genuinely don\u2019t know what to do. Should I flee? Should I stay? Do I hide and pray it doesn\u2019t get worse? I\u2019ve been praying for things to calm down for over a year now, ever since the violence in the south started, but each day feels heavier, as if we\u2019re on the edge of something catastrophic.

    \n

    Safety 1st

    \n

    With everything that\u2019s happening, I need to prioritize my safety and that of my family. If the situation continues to deteriorate, I may be forced to stop everything I\u2019m doing just to focus on survival. We\u2019re actively searching for potential shelters, just in case things take an even darker turn. It\u2019s heartbreaking, but these are the conversations we\u2019re having right now\u2014finding a safe place to hide from the chaos.

    \n

    I know many of you are eagerly waiting for updates on the XeroLinux project, and believe me, I haven\u2019t forgotten about it. But I hope you understand that it\u2019s nearly impossible to work under these conditions. My mind is constantly racing, wondering if we\u2019ll be the next to face the violence, or if a full-scale war will erupt before we even have a chance to react.

    \n

    How to help

    \n

    As most of you are aware, my financial situation has been precarious for quite some time. If I do have to flee the country, I\u2019m going to need resources to make that happen. Right now, I have about $320 to my name. That\u2019s not nearly enough to cover the costs of leaving Lebanon if things continue to worsen.

    \n

    If you want to help, please know that this is separate from any funds raised for the XeroLinux project. I\u2019ve made sure to keep the project\u2019s funds separate so they are used exclusively for its development and survival. The funds I need now are for a different, more personal cause\u2014ensuring my safety and the safety of my family.

    \n

    If you\u2019re able and willing to contribute, your help could make a real difference in what happens next. No amount is too small, and every bit helps in these uncertain times.

    \n

    To do so head on over to FundRazr.

    \n

    Thanks for all your help & support !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/current-situation.png", "date_published": "2024-09-21T09:17:21.535932+00:00", "authors": [], "tags": ["Lebanon", "Situation", "Struggles", "War"]}, {"id": "https://bytes.xerolinux.xyz/docs/passwd-reset/", "url": "https://bytes.xerolinux.xyz/docs/passwd-reset/", "title": "Reset Password", "content_html": "

    Information

    \n

    I have lost my root pass on Linux more times than I can count. This guide is here so I do not have to Google it lol. Might be useful to you I dunno. But it's here.

    \n

    \n \n

    \n\n

    Let's do this \ud83d\ude80

    \n

    How to reset forgotten root password in a GNU/Linux distribution with GRUB?

    \n

    If this is a laptop or a desktop which you have next to you then follow these steps.

    \n
      \n
    1. Shut down the device.
    2. \n
    3. Start it again. When you see GRUB menu, press the e key on the keyboard before the system starts booting.
    4. \n
    5. In the GRUB boot options, scroll down and locate the line that begins with linux. In this line move the cursor to the end, right after ro quiet. Delete everything after that. Change ro to rw. Append the parameter init=/bin/bash
    6. \n
    7. Press Ctrl+x, or F10, to boot.
    8. \n
    9. You will see a root prompt.
    10. \n
    \n
    :#\n
    \n

    Remount the filesystem in read/write mode:

    \n
    :# mount -no remount,rw /\n
    \n
      \n
    1. Set the password of any user(s).
    2. \n
    \n
    :# passwd joe\n
    \n
      \n
    1. Reboot with the command reboot -f.
    2. \n
    \n

    That's it ! The new password should work now.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/passwd-reset.png", "date_published": "2024-09-17T12:47:15+03:00", "authors": [], "tags": ["Linux", "Recovery", "Reset"]}, {"id": "https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/", "url": "https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/", "title": "FFmpeg Cheat Sheet", "content_html": "

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the use of FFmpeg on Linux.

    \n

    \n \n

    \n\n

    Installation

    \n

    First we will need to install FFmpeg. I will be doing it on ArchLinux since that's what I use. Look for packages on your distro if you don't use it.

    \n
    sudo pacman -S --noconfirm --needed ffmpeg ffmpegthumbnailer ffmpegthumbs qt6-multimedia-ffmpeg\n
    \n

    Now that we have it, it's time for the cheat sheet.

    \n
    \n

    .// The Cheat Sheet \\\\.

    \n\n

    Basic conversion

    \n
    ffmpeg -i in.mp4 out.avi\n
    \n

    Remux an MKV file into MP4

    \n
    ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4\n
    \n

    High-quality encoding

    \n

    Use the crf (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to -crf 18. Use the preset parameter to control the speed of the compression process. Additional info.

    \n
    ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4\n
    \n

    Trimming

    \n

    Without re-encoding:\n

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4\n
    \n- -ss specifies the start time, e.g. 00:01:23.000 or 83 (in seconds)\n- -t specifies the duration of the clip (same format).\n- Recent ffmpeg also has a flag to supply the end time with -to.\n- -c copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.

    \n

    With re-encoding:

    \n

    If you leave out the -c copy option, ffmpeg will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the x264 Encoding Guide and the AAC Encoding Guide, respectively.

    \n

    For example:\n

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4\n

    \n

    Mux video and audio from another video

    \n

    To copy the video from in0.mp4 and audio from in1.mp4:\n

    ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4\n
    \n- With -c copy the streams will be stream copied, not re-encoded, so there will be no quality loss. If you want to re-encode, see FFmpeg Wiki: H.264 Encoding Guide.\n- The -shortest option will cause the output duration to match the duration of the shortest input stream.\n- See the -map option documentation for more info.

    \n

    Concat demuxer

    \n

    First, make a text file.\n

    file 'in1.mp4'\nfile 'in2.mp4'\nfile 'in3.mp4'\nfile 'in4.mp4'\n
    \nThen, run ffmpeg:\n
    ffmpeg -f concat -i list.txt -c copy out.mp4\n

    \n

    Delay audio/video

    \n

    Delay video by 3.84 seconds:\n

    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4\n
    \nDelay audio by 3.84 seconds:\n
    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4\n

    \n

    Burn subtitles

    \n

    Use the libass library (make sure your ffmpeg install has the library in the configuration --enable-libass).

    \n

    First convert the subtitles to .ass format:\n

    ffmpeg -i sub.srt sub.ass\n
    \nThen add them using a video filter:

    \n
    ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4\n
    \n

    Extract the frames from a video

    \n

    To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:

    \n
    ffmpeg -i in.mp4 -vf select='between(t,1,5)+between(t,11,15)' -vsync 0 out%d.png\n
    \n

    To extract one frame per second only:

    \n
    ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png\n
    \n

    Rotate a video

    \n

    Rotate 90 clockwise:

    \n
    ffmpeg -i in.mov -vf "transpose=1" out.mov\n
    \n

    For the transpose parameter you can pass:

    \n
    0 = 90CounterCLockwise and Vertical Flip (default)\n1 = 90Clockwise\n2 = 90CounterClockwise\n3 = 90Clockwise and Vertical Flip\n
    \n

    Use -vf \"transpose=2,transpose=2\" for 180 degrees.

    \n

    Download \"Transport Stream\" video streams

    \n
      \n
    1. Locate the playlist file, e.g. using Chrome > F12 > Network > Filter: m3u8
    2. \n
    3. Download and concatenate the video fragments:
    4. \n
    \n
    ffmpeg -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4\n
    \n

    If you get a \"Protocol 'https not on whitelist 'file,crypto'!\" error, add the protocol_whitelist option:

    \n
    ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4\n
    \n

    Mute some of the audio

    \n

    To replace the first 90 seconds of audio with silence:

    \n
    ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='lte(t,90)':volume=0" out.mp4\n
    \n

    To replace all audio between 1'20\" and 1'30\" with silence:

    \n
    ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='between(t,80,90)':volume=0" out.mp4\n
    \n

    Deinterlace

    \n

    Deinterlacing using \"yet another deinterlacing filter\".

    \n
    ffmpeg -i in.mp4 -vf yadif out.mp4\n
    \n

    Create a video slideshow from images

    \n

    Parameters: -r marks the image framerate (inverse time of each image); -vf fps=25 marks the true framerate of the output.

    \n
    ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4\n
    \n

    Extract images from a video

    \n\n

    Display the frame number on each frame

    \n
    ffmpeg -i in.mov -vf "drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72" -y out.mov\n
    \n

    Metadata: Change the title

    \n
    ffmpeg -i in.mp4 -map_metadata -1 -metadata title="My Title" -c:v copy -c:a copy out.mp4\n
    \n

    Wrap up

    \n

    That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/ffmpeg-cheats.png", "date_published": "2024-09-17T12:36:31+03:00", "authors": [], "tags": ["CheatSheet", "FFmpeg", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/tech/cosmic-experience/", "url": "https://bytes.xerolinux.xyz/tech/cosmic-experience/", "title": "My Cosmic Experience", "content_html": "
    \n

    Note

    \n

    Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.

    \n
    \n

    Installation

    \n

    The Cosmic DE hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.

    \n

    \n \n

    \n\n

    Since I am an avid ArchLinux user, that's how I installed it. I did not use the Pop!_OS 24.04 LTS alpha ISO from >> Cosmic Downloads. So my views come from there. So I cannot compare.

    \n

    Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the ArchInstall profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.

    \n

    Now on to the more detailed things I have done to install Cosmic. I first installed Arch Minimal using the ArchInstall script, meaning that I avoided the profiles, & drivers sections completely, I always choose Grub as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in chroot I installed the DE the following way, knowing that, we can skip the use of sudo since we are still logged in as root...

    \n
    pacman -Syy && pacman -S cosmic linux-headers pacman-contrib xdg-user-dirs power-profiles-daemon wayland-protocols wayland-utils\n
    \n

    \n \n

    \n\n

    Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because cosmic is not a single one, it's a Group of packages or a meta-package as it is known as. That said, the reason I installed linux-headers is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially xdg-user-dirs without which no Documents, Pictures, Videos... folders will be created. Strange I know.

    \n

    What I also found weird, is the fact that cosmic-greeter service was not being enabled after install which was netting me a boot to TTY session. So I had to enable it while at the same time generating the user-dirs via...

    \n
    systemctl enable cosmic-greeter.service && xdg-user-dirs-update\n
    \n

    Keep in mind that I am doing all this while still in chroot post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.

    \n

    Experience

    \n

    Now on to what y'all came here for. All was good, well sorta, system rebooted into Grub, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some TTY dmsg errors, flickering on and off. But after a few seconds I finally saw the Cosmic Greeter login screen, relief finally.

    \n

    \n \n

    \n\n

    I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an nVidia user, I thought could be a driver issue since on first boot it uses the not so great nouveau ones. That's why my first reflex was to install them, so I did.

    \n

    \n \n

    \n\n

    After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about EGL drm crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?

    \n

    As it turns out I had forgotten to include the nVidia drm kernel modules lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.

    \n
    sudo sed -i '/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf\nsudo systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service nvidia-powerd.service\necho -e 'options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02' | sudo tee -a /etc/modprobe.d/nvidia.conf\necho -e 'options nvidia_drm modeset=1 fbdev=1' | sudo tee -a /etc/modprobe.d/nvidia.conf && sudo mkinitcpio -P\n
    \n

    After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like XFCE. Fired up top to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than KDE Plasma ! Nice !

    \n

    Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run nmtui and deactivate it from there making sure it doesn't automatically reconnect on login.

    \n

    Now on to the System Settings. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..

    \n

    That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.

    \n

    Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean Cosmic-Notes was there, just not handling documents...

    \n

    I try to right-click > open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself \"It's Alpha Software, calm down Steve\".

    \n

    To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a CLI and no default app set ? I dunno.

    \n

    Finally I decided to try out the thing that almost everyone's raving about, Tiling/Stacking. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...

    \n

    That's where I gave up and decided to go back home to KDE Plasma.

    \n

    Final words

    \n

    Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.

    \n

    It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.

    \n

    I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. Cosmic has come a long way in such a short time. I mean, writing a DE from scratch using Rust a sorta new programming language is no easy feat.

    \n

    I will end the post by congratulating the System76 dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a XeroCosmic to the family.. Just don't hold your breath on that, it ain't set in stone.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/tech/cosmic-experience.png", "date_published": "2024-09-11T12:33:00+03:00", "authors": [], "tags": ["ArchLinux", "Cosmic", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/docs/affinity-linux/", "url": "https://bytes.xerolinux.xyz/docs/affinity-linux/", "title": "Affinity on Linux", "content_html": "
    \n

    Warning

    \n

    I am aware that these apps are what's called \"Proprietary\" and require us to purchase a one-time License in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.

    \n
    \n

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the installation of Affinity Apps on Linux with the help of some scripts I found thanks to Twig6943 who went out of his way to create them.

    \n

    \n \n

    \n\n

    Installation

    \n

    First we will need to download the Photo, Designer or Publisher exe from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a Discreet GPU is highly recommended for Hardware Acceleration & good performance.

    \n
    \n

    Note

    \n

    Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required Dependencies

    \n
    \n

    \n \n

    \n\n\n

    Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh)"\n
    \n\n

    Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh)"\n
    \n\n

    Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh)"\n
    \n

    Wrap up

    \n
    \n

    Tip

    \n

    Check the Written Guide if you prefer doing it manually. Also the author posted his scripts on the Affinity's forums, who knows maybe in the future a Linux native version ? Let's all cross our fingers \ud83e\udd1e

    \n
    \n

    That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to Photoshop I have ever gotten, without having to go through WinBlows if ya know what I mean.

    \n

    Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/affinity-linux.png", "date_published": "2024-09-10T21:53:38+03:00", "authors": [], "tags": ["Affinity", "Linux", "Photoshop"]}, {"id": "https://bytes.xerolinux.xyz/projects/cosmic-script/", "url": "https://bytes.xerolinux.xyz/projects/cosmic-script/", "title": "Cosmic Install Script", "content_html": "

    .//Updated on Sep. 15th 2024\\\\.

    \n\n
    \n

    Info

    \n

    This project has moved to the XeroLinux Wiki. Will keep this page around for updates. Keep in mind it's in Alpha.

    \n
    \n

    Script info

    \n

    Well, it does what title says, it installs Cosmic in one of 3 ways, similar to how my Plasma Install script does.

    \n\n

    \n \n

    \n\n

    Included are some useful packages, like a freaking web browser eg. Firefox, an archive manager, Meld and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official Arch Repositories are supported, none from the AUR.

    \n

    Wrapping up

    \n

    Cosmic is shaping up to be the DE that might break the current Top 2 (KDE and Gnome) making it the Top 3 DEs of all time. Who knows ? I wish the System76 team all the best.

    \n

    Cheers !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/cosmic-script.png", "date_published": "2024-09-08T16:08:55+03:00", "authors": [], "tags": ["ArchLinux", "CosmicDE", "Linux", "XeroLinux"]}, {"id": "https://bytes.xerolinux.xyz/SUMMARY/", "url": "https://bytes.xerolinux.xyz/SUMMARY/", "title": "SUMMARY", "content_html": "", "image": "https://bytes.xerolinux.xyz/assets/images/social/SUMMARY.png", "date_published": "2024-09-05T19:30:45+03:00", "authors": [], "tags": []}, {"id": "https://bytes.xerolinux.xyz/docs/linux-explained/", "url": "https://bytes.xerolinux.xyz/docs/linux-explained/", "title": "Linux in a Nutshell", "content_html": "

    I thought I'd share this explanation about Linux a good friend and fellow Linux enthusiast REALERvolker1 recently posted on Discord.

    \n
    \n

    Tip

    \n

    The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various Desktop Environments or Window Managers. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...

    \n
    \n

    What is Linux ?

    \n

    Since not everyone's super familiar with Linux, here's a quick crash course.

    \n

    Linux is a Monolithic Kernel, so all the drivers and whatnot are compiled into the binary. The Nonfree software is usually put in the actual source repo as binary blobs, or in the case of nVidia drivers, built using a system called DKMS and compiled into the kernel binary.

    \n

    Once the computer boots up, an init process is started (the default is /sbin/init, usually a symlink to your init system), which is PID 1. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having too much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.

    \n

    Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being POSIX compliant, and not really caring about file extensions.

    \n

    \n \"logo\"\n

    \n\n

    Distros & PKG Managers

    \n

    On Debian, you install packages with apt. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a GUI frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the Debian Wiki is pretty mid, but the Arch Wiki is amazing.

    \n

    Since Arch Linux aims to be the most generic Linux distro ever, information written for it should also help with Debian, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:

    \n\n

    Filesystem & Updates

    \n

    If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not\u2014it might fix a bug.

    \n

    As for the filesystem:

    \n\n

    In UNIX, everything is a file. This means you can:

    \n\n

    Wrapping it all up

    \n

    This was a quick run-through explaining what GNU/Linux is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/linux-explained.png", "date_published": "2024-09-05T19:30:45+03:00", "authors": [], "tags": ["Kernel", "Linux", "Packages"]}, {"id": "https://bytes.xerolinux.xyz/docs/build-archiso/", "url": "https://bytes.xerolinux.xyz/docs/build-archiso/", "title": "ArchISO Build", "content_html": "

    Information

    \n

    This guide was written by following the ArchWiki. It's for my own use. The public version can be found on the official XeroLinux. This version will always be updated. Sometimes need to remind myself which files to modify...

    \n

    \n \"logo\"\n

    \n\n

    Let's do this \ud83d\ude80

    \n

    First off we need to grab a few packages in order to be able to build the ISO.

    \n
    sudo pacman -S archiso\n
    \n

    Now we need create two folders in our home directory or anywhere else, up to you, one called XeroWork for placing extracted files, another called XeroOut where final ISO will be located.

    \n
    mkdir ~/XeroWork && mkdir ~/XeroOut\n
    \n

    Modify the packages.x86_64 inside releng folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new & updated ArchISO. Just use the command below and watch the magic happen.

    \n
    sudo mkarchiso -v -w ~/XeroWork -o ~/XeroOut /usr/share/archiso/configs/releng\n
    \n

    Finally we can delete the work directory to save space. just do sudo rm -rf ~/XeroWork/.

    \n

    That's it !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/build-archiso.png", "date_published": "2024-09-05T12:57:14+03:00", "authors": [], "tags": ["ArchISO", "ArchLinux", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/docs/mkdocs-install/", "url": "https://bytes.xerolinux.xyz/docs/mkdocs-install/", "title": "MKDocs Install", "content_html": "

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the installation of MKDocs the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for ArchLinux if you don't use that distro, well, their site shows how to install for your distro.

    \n

    \"type:video\"

    \n

    Installing MKDocs

    \n

    We will need to install it with some extras. The 2 main packages exist on the Arch repos. The rest are on the AUR, so to grab everything in one go, I will be using Paru. Compiling might take a while, so sit back wile it finishes.

    \n
    paru -S --noconfirm mkdocs mkdocs-get-deps mkdocs-material python-pipx\n
    \n

    Donce that's done we need to create the site. There's a command for that.

    \n
    mkdocs new my-project\ncd my-project\n
    \n

    Now that we initialized the new site we need to configure it. We do so by editing the mkdocs.yml file putting in the following info :

    \n
    site_name: Sitename\n\ntheme:\n  name: material\n  logo: assets/Tux.gif\n  favicon: assets/favicon.ico\n  palette:\n    scheme: slate\n    primary: deep purple\n  features:\n   - navigation.top\n   - navigation.footer\n   - navigation.indexes\n   - content.code.copy\n   - search.suggest\n   - search.highlight\n   - search.share\n   - navigation.expand\n
    \n

    This will make it use the Slate Material Theme with Deep Purple accents. To know more about the theme check the MKDocs Material Wiki. That's it go from there.

    \n

    Plugins & Extra Stuff

    \n

    I have found a few that I liked on the AUR, let's install them via :

    \n
    paru -S --noconfirm mkdocs-autorefs mkdocs-section-index mkdocs-glightbox mkdocs-backlinks-plugin mkdocs-redirects mkdocs-ezlinks-plugin mkdocs-literate-nav\n
    \n

    For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...

    \n\n
    wget https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz\n
    \n

    Extract & cd into it then run the following command :

    \n
    sudo python setup.py install\n
    \n\n
    git clone https://github.com/Guts/mkdocs-rss-plugin.git\n
    \n

    Now we cd into it then run the following command :

    \n
    sudo python setup.py install\n
    \n

    To activate them we edit the same mkdocs.yml file as before like so :

    \n
    plugins:\n  - rss\n  - social\n  - search\n  - autorefs\n  - glightbox\n
    \n

    There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :

    \n
    markdown_extensions:\n\n  # Python Markdown\n   - abbr\n   - admonition\n   - attr_list\n   - def_list\n   - footnotes\n   - md_in_html\n   - toc:\n      permalink: true\n\n  # Python Markdown Extensions\n   - pymdownx.arithmatex:\n       generic: true\n   - pymdownx.betterem:\n       smart_enable: all\n   - pymdownx.caret\n   - pymdownx.details\n   - pymdownx.emoji:\n      emoji_index: !!python/name:material.extensions.emoji.twemoji\n      emoji_generator: !!python/name:material.extensions.emoji.to_svg\n   - pymdownx.highlight:\n      anchor_linenums: true\n      line_spans: __span\n      pygments_lang_class: true\n   - pymdownx.inlinehilite\n   - pymdownx.keys\n   - pymdownx.mark\n   - pymdownx.smartsymbols\n   - pymdownx.superfences\n   - pymdownx.tabbed:\n       alternate_style: true\n   - pymdownx.tasklist:\n       custom_checkbox: true\n   - pymdownx.tilde\n\nextra:\n  social:\n    - icon: fontawesome/brands/github\n      link: https://github.com/darkxero-dev\n    - icon: fontawesome/brands/youtube\n      link: https://youtube.com/XeroLinuxOfficial\n    - icon: fontawesome/brands/x-twitter\n      link: https://twitter.com/xerolinuxop\n    - icon: fontawesome/brands/mastodon\n      link: https://fosstodon.org/@xerolinux\n
    \n

    That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to @JustAGuyLinux for helping out a little hehe.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/mkdocs-install.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Blogging", "Linux", "MKDocs"]}, {"id": "https://bytes.xerolinux.xyz/fund/foss-fundraising/", "url": "https://bytes.xerolinux.xyz/fund/foss-fundraising/", "title": "FOSS Fundraising", "content_html": "

    Backstory

    \n

    Before I begin, I would like to clarify that, when I say Linux in this context I mean Desktop Linux.

    \n

    When I started this whole Linux endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with KDE Plasma while using the now infamous Manjaro Distrobution. Yes, this is when I got hooked to Linux. Now don't get me wrong, I have since tried many DEs and WMs. But alas only KDE Plasma answered my needs.

    \n

    Since then I started getting the urge to build my own Distro my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called ArcoLinux. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro ArchLinux.

    \n

    Fundraising

    \n

    Now we get to the meat and potatoes of this post, why ask for money when it's FOSS ? Well in case you did not know, the Free in Free Open Source does NOT mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our TIME.

    \n

    Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a real job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.

    \n

    Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the Fundraising or Donation methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the Donate button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)

    \n

    Hate in FOSS

    \n

    Now let's address the other elephant in the room, the hate in the FOSS community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word Free in Free Open Source. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they despise others, the ones we call Protest Distros. Now am not going to name any names here, but the longer this goes on, the slower Linux will grow.

    \n

    So if you love Linux as much as you say you do, please help your favorite projects grow in any way shape or form, either Donating for financial support if you can and are not a developer, or by simply Reporting Issues upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.

    \n

    Anyways, thanks for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    \n

    See ya there

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/fund/foss-fundraising.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["ArchLinux", "Fundraising", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/", "url": "https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/", "title": "GPU &/or CPU Fund", "content_html": "

    What's this ?

    \n

    My PC could really use an upgrade. I\u2019m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the CPU and GPU. With the XeroLinux Distro not coming back anytime soon, it\u2019s crucial to put funds towards these upgrades where they truly matter.

    \n

    \n \"logo\"\n

    \n\n

    As you can see from image above, the GTX 1080 (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As nVidia just announced it's going full Open-Source. You can read more on >> This Article

    \n

    What CPU ?

    \n

    Well, I\u2019m not looking for much. For the CPU, I\u2019m considering an upgrade to either the Ryzen 7 5800X3D valued at $330 or the Ryzen 9 5950X valued at $452. Honestly, it doesn\u2019t matter which one\u2014I just need that extra boost for compiling stuff.

    \n

    \"type:video\"

    \n

    What GPU ?

    \n

    That\u2019s where things get a bit tricky. I\u2019m still undecided between sticking with nVidia or switching to AMD. I am currently torn between the two. Now, I know most of you would recommend AMD because it\u2019s hassle-free on Linux\u2014and you\u2019d be right. But as a content creator who relies on Cuda and nVidia's nVenc Encoder, I\u2019m leaning towards sticking with nVidia.

    \n

    \"type:video\"

    \n

    However, if I do decide to switch to Team Red, I\u2019d go for the RX 6950XT currently valued at $400 here. Otherwise, if I stay with Team-Green, it\u2019s going to be the RTX 3090 valued at $595.

    \n

    Conclusion

    \n

    Upgrading the GPU is my top priority right now, as it will make the most significant impact. My current GTX 1080 is nearing its end-of-life, and I can manage with my Ryzen 5 3600X for a bit longer. So, if you can help me raise enough funds to upgrade the GPU and stay ahead in the Linux world, I\u2019d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.

    \n

    Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we\u2019ll reach the goal in no time. Your support means the world to me, and it\u2019ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.

    \n

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/fund/new-gpu-cpu-fund.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["ArchLinux", "Fundraising", "Hardware", "Linux", "Upgrade"]}, {"id": "https://bytes.xerolinux.xyz/priv/be-thankful/", "url": "https://bytes.xerolinux.xyz/priv/be-thankful/", "title": "Be Thankful", "content_html": "

    What's This?

    \n

    Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.

    \n

    Content Creators

    \n

    Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.

    \n

    YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.

    \n

    Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.

    \n

    Writers / Blog Posters

    \n

    This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.

    \n

    One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I\u2019ve learned to improve, and I thank them for that.

    \n

    Appreciating CCs and Writers

    \n

    We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.

    \n

    Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.

    \n

    As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.

    \n

    Fostering a Positive Community

    \n

    The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.

    \n

    When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.

    \n

    Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.

    \n

    Conclusion

    \n

    Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/be-thankful.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Content Creation", "Linux", "YouTube"]}, {"id": "https://bytes.xerolinux.xyz/priv/developing-is-fun-but/", "url": "https://bytes.xerolinux.xyz/priv/developing-is-fun-but/", "title": "Developing is fun", "content_html": "

    Am I a Developer ?

    \n

    Lol, yeah, I know\u2014it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code\u2014specifically Bash. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.

    \n

    \"type:video\"

    \n

    And if it does work, I'm happy and share the result with the FOSS community.

    \n

    It's fun until...

    \n

    Doing this is super fun and fulfilling\u2014until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.

    \n

    Now, I know I can reach out to the FOSS community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.

    \n

    Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere\u2014not just in FOSS. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.

    \n

    Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.

    \n

    Sharing is caring

    \n

    This is the part where I say: please, don't keep your work to yourself. Share it with the community\u2014who knows, maybe you'll find someone who can help take your project to another level.

    \n

    I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.

    \n

    \"Sharing is caring,\" as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/developing-is-fun-but.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Developer", "Development", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/priv/real-foss-struggles/", "url": "https://bytes.xerolinux.xyz/priv/real-foss-struggles/", "title": "FOSS Struggles", "content_html": "

    Hello everyone,

    \n

    Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.

    \n

    Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.

    \n
    \n

    P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let\u2019s dive in.

    \n
    \n

    \"type:video\"

    \n

    My Frustration

    \n

    Recently, I\u2019ve been investing a lot of time and effort into my projects and contributing to FOSS (Free and Open Source Software) wherever possible. While I find this work rewarding, it\u2019s also been increasingly frustrating. Why? Let me explain.

    \n

    I spend countless hours working behind the scenes to make everyone\u2019s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it\u2019s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I\u2019m making a real impact.

    \n

    Seeking Purpose

    \n

    Initially, I embarked on this journey for fun and to learn new things. However, lately, I\u2019ve been questioning the purpose behind my efforts. It feels like I\u2019m stuck in a cycle of constant work with little to show for it. This isn\u2019t about blaming anyone; it\u2019s about seeking the motivation to keep going.

    \n

    Monetization Attempts

    \n

    As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a \"pay what you can\" model, hoping it would help sustain my work. However, this didn\u2019t go as planned.

    \n

    The FOSS community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It\u2019s a complex issue, and while some have been supportive, overall, the response hasn\u2019t been enough to make a significant difference.

    \n

    Health Concerns

    \n

    On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn\u2019t cheap, and without stable income, it\u2019s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.

    \n

    Mental Health Struggles

    \n

    The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.

    \n

    The Way Forward

    \n

    Given these circumstances, I\u2019m focusing more on forums and this blog. Writing provides a creative outlet that isn\u2019t constrained by algorithms or view counts. I\u2019ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.

    \n

    My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.

    \n

    Closing Thoughts

    \n

    I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.

    \n

    For now, I need to prioritize my well-being and financial stability. Once those are in place, I\u2019ll be back with future projects. Right now, I\u2019m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.

    \n

    Thank you for understanding and supporting me through this journey.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/real-foss-struggles.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["FOSS", "Fundraising", "Health", "Linux", "Struggles"]}, {"id": "https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/", "url": "https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/", "title": "Docker A Love Story", "content_html": "

    What is Docker ?

    \n

    Docker is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.

    \n

    \n \"logo\"\n

    \n\n

    How it all started

    \n

    It all started with Distrobox. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered Docker containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like Immich for images and videos, which would allow me to sync my devices locally rather than with Apple iCloud or Google making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...

    \n

    With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3rd party conglomerates made me fall in love more and more as time went by...

    \n

    My setup so far

    \n

    Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive MY setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.

    \n

    \n \"logo\"\n

    \n\n\n

    To start off, let me tell you what am using for the page you see in the image, it's simply called Homepage. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via YAML configurations files, and that the community behind it are so damn friendly ! Yep, there is no dumb question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their Discord Server.

    \n\n

    As for the File Browser I use to share files between PCs, it's also has a creative name lol, just called FileBrowser, it serves one purpose, browsing files, with ability to upload & download from/to any PC. That's it. It just works nothing else to say about that.

    \n\n

    Hehe, the only reason I called it Xoogle is coz it's Xero + Google, get it ? Anyway, this is using something called Whoogle, weird name I know, loogs damn ugly too. It's just a search engine that uses Google stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of Google the way it was back in the day..

    \n\n

    That's a 3rd-party Bitwarden server-as-a-container, endorsed by them so can be trusted called Vaultwarden. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.

    \n\n

    This one is not for everyone. It uses Zipline. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.

    \n\n

    I am a big fan of comic books, especially the ones from my childhood. This container uses Kavita. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their Discord Server.

    \n\n

    I guess I do not need to explain that one. It's just a docker container for Audiobookshelf. In case you have some Audio books or podcasts. Have fun.

    \n\n

    That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called FreshRSS. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.

    \n\n

    Now, this is one of the big ones, Immich is an amazing image cloud like service. Allowing you to move away from Apple and Google. I love that as I said at the beginning of this long post. They even have companion apps for both Android and iOS which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.

    \n

    You get the idea

    \n

    Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's BIG rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.

    \n\n

    Where to find more containers ?

    \n

    Well, there are many places, but my favorite has to be Selfh.st hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.

    \n

    Closing words

    \n

    Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.

    \n

    Thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/tech/docker-containers-a-love-story.png", "date_published": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Containers", "Docker", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/", "url": "https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/", "title": "XeroLinux Channel", "content_html": "

    YouTube Channel ?

    \n

    Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, Nice!.

    \n

    But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.

    \n

    What now Xero ?

    \n

    Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since YouTube and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.

    \n

    What's the Catch ?

    \n

    This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the XeroLinux Ko-Fi fundraiser for the forseeable future.

    \n

    Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to donate, however would be highly appreciated if you do.

    \n

    Future Plans

    \n

    When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.

    \n

    Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.

    \n

    Anyways, thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/what-s-up-with-my-channel.png", "date_published": "2024-09-04T20:51:54+03:00", "authors": [], "tags": ["ArchLinux", "Linux", "XeroLinux", "YouTube"]}, {"id": "https://bytes.xerolinux.xyz/projects/why-is-distro-back/", "url": "https://bytes.xerolinux.xyz/projects/why-is-distro-back/", "title": "Why Revive XeroLinux", "content_html": "
    \n

    Info

    \n

    This post will explain why I decided to bring back XeroLinux and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the XeroLinux Wiki

    \n
    \n

    What is XeroLinux

    \n

    In short, it's just an alternative to the Plasma Install Script, making it easier to install Arch, bypassing the need for ArchInstall. The ISO includes my toolkit as well as my famous Xero Layan Rice all-in-one shot.

    \n

    \n \n

    \n\n

    You can use the included Xero Toolkit, 1st icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the Chaotic-AUR repository so it's easier for you to install AUR packages rather from having to compile them.

    \n

    Why is XeroLinux back

    \n

    To explain why, let me set the stage. As you may already know, I\u2019m going through significant financial difficulties. Living in Lebanon, finding a job\u2014especially a remote one\u2014is extremely challenging, and the situation continues to worsen. I won\u2019t rehash the entire story here, but if you\u2019re not familiar, you can read more about it in this BlogPost.

    \n

    After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro\u2019s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it\u2014and make it a way to sustain myself?

    \n

    \"type:video\"

    \n

    Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the DistroWatch rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!

    \n

    That answers the why.

    \n

    How to get it

    \n

    I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO\u2014a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the Release Post

    \n

    Now, I know that some of you will say, \"But it's FOSS; you shouldn't charge for it.\" To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the Source Code and do with it as you wish. I am simply charging for my time.

    \n

    The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up\u2026 well, let's not dwell on that. Let\u2019s focus on keeping it alive and thriving for a long and happy journey together!

    \n

    Is it any Special

    \n

    This is a common question I get. To be honest, there\u2019s no groundbreaking advantage\u2014it simply provides an easier way to install Arch with a polished KDE experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.

    \n

    Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that XeroLinux is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.

    \n

    How to get it for free

    \n

    If you can\u2019t support me financially but still want XeroLinux, while the ISO isn't available for free right now, you can still achieve similar results with my PlasmaInstall script, which will always be free of charge. It just requires a bit more elbow grease on your part\u2014that\u2019s all there is to it!

    \n

    I don't like Arch

    \n

    In case you don't like Arch for whatever reason, but still want to support me, I have put up a Merch Store where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.

    \n

    Private Donations

    \n

    Did you know I have a private fundraiser account? It\u2019s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at FundRazr.

    \n

    Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving XeroLinux, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn\u2019t been getting much support. Ideally, I\u2019d love to keep these funds separate, but ultimately, it\u2019s your choice.

    \n

    Wrapping up

    \n

    That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.

    \n

    Thank you to each and everyone for the support.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/why-is-distro-back.png", "date_published": "2024-09-04T20:51:54+03:00", "authors": [], "tags": ["ArchLinux", "Distribution", "Linux", "XeroLinux"]}, {"id": "https://bytes.xerolinux.xyz/", "url": "https://bytes.xerolinux.xyz/", "title": "\ud83c\udfe0Home", "content_html": "

    Welcome

    \n
    \n

    Info

    \n

    All the documentation found herein, will be for ArchLinux since that's the distro I use. Some will be general Linux ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.

    \n
    \n

    Welcome to DarkXero's Bytes ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the XeroLinux main site.

    \n

    \n \"logo\"\n

    \n\n

    Documenting my learning journey has become an essential part of my Linux experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.

    \n

    \n \"ArchPorn\"\n

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/index.png", "date_published": "2024-09-04T18:37:45+03:00", "authors": [], "tags": []}]} \ No newline at end of file diff --git a/site/feed_json_updated.json b/site/feed_json_updated.json index 29be335..c24d03f 100644 --- a/site/feed_json_updated.json +++ b/site/feed_json_updated.json @@ -1 +1 @@ -{"version": "https://jsonfeed.org/version/1", "title": "DarkXero's Bytes", "home_page_url": "https://bytes.xerolinux.xyz/", "feed_url": "https://bytes.xerolinux.xyz/feed_json_updated.json", "description": "Thoughts, Opinions, Documentation, and more...", "icon": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png", "authors": [], "language": "en", "items": [{"id": "https://bytes.xerolinux.xyz/projects/why-is-distro-back/", "url": "https://bytes.xerolinux.xyz/projects/why-is-distro-back/", "title": "Why Revive XeroLinux", "content_html": "
    \n

    Info

    \n

    This post will explain why I decided to bring back XeroLinux and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the XeroLinux Wiki

    \n
    \n

    What is XeroLinux

    \n

    In short, it's just an alternative to the Plasma Install Script, making it easier to install Arch, bypassing the need for ArchInstall. The ISO includes my toolkit as well as my famous Xero Layan Rice all-in-one shot.

    \n

    \n \n

    \n\n

    You can use the included Xero Toolkit, 1st icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the Chaotic-AUR repository so it's easier for you to install AUR packages rather from having to compile them.

    \n

    Why is XeroLinux back

    \n

    To explain why, let me set the stage. As you may already know, I\u2019m going through significant financial difficulties. Living in Lebanon, finding a job\u2014especially a remote one\u2014is extremely challenging, and the situation continues to worsen. I won\u2019t rehash the entire story here, but if you\u2019re not familiar, you can read more about it in this BlogPost.

    \n

    After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro\u2019s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it\u2014and make it a way to sustain myself?

    \n

    \"type:video\"

    \n

    Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the DistroWatch rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!

    \n

    That answers the why.

    \n

    How to get it

    \n

    I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO\u2014a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the Release Post

    \n

    Now, I know that some of you will say, \"But it's FOSS; you shouldn't charge for it.\" To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the Source Code and do with it as you wish. I am simply charging for my time.

    \n

    The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up\u2026 well, let's not dwell on that. Let\u2019s focus on keeping it alive and thriving for a long and happy journey together!

    \n

    Is it any Special

    \n

    This is a common question I get. To be honest, there\u2019s no groundbreaking advantage\u2014it simply provides an easier way to install Arch with a polished KDE experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.

    \n

    Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that XeroLinux is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.

    \n

    How to get it for free

    \n

    If you can\u2019t support me financially but still want XeroLinux, while the ISO isn't available for free right now, you can still achieve similar results with my PlasmaInstall script, which will always be free of charge. It just requires a bit more elbow grease on your part\u2014that\u2019s all there is to it!

    \n

    I don't like Arch

    \n

    In case you don't like Arch for whatever reason, but still want to support me, I have put up a Merch Store where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.

    \n

    Private Donations

    \n

    Did you know I have a private fundraiser account? It\u2019s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at FundRazr.

    \n

    Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving XeroLinux, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn\u2019t been getting much support. Ideally, I\u2019d love to keep these funds separate, but ultimately, it\u2019s your choice.

    \n

    Wrapping up

    \n

    That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.

    \n

    Thank you to each and everyone for the support.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/why-is-distro-back.png", "date_modified": "2024-09-17T14:08:54+03:00", "authors": [], "tags": ["ArchLinux", "Distribution", "Linux", "XeroLinux"]}, {"id": "https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/", "url": "https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/", "title": "XeroLinux Channel", "content_html": "

    YouTube Channel ?

    \n

    Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, Nice!.

    \n

    But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.

    \n

    What now Xero ?

    \n

    Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since YouTube and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.

    \n

    What's the Catch ?

    \n

    This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the XeroLinux Ko-Fi fundraiser for the forseeable future.

    \n

    Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to donate, however would be highly appreciated if you do.

    \n

    Future Plans

    \n

    When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.

    \n

    Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.

    \n

    Anyways, thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/what-s-up-with-my-channel.png", "date_modified": "2024-09-17T13:41:54+03:00", "authors": [], "tags": ["ArchLinux", "Linux", "XeroLinux", "YouTube"]}, {"id": "https://bytes.xerolinux.xyz/docs/build-archiso/", "url": "https://bytes.xerolinux.xyz/docs/build-archiso/", "title": "ArchISO Build", "content_html": "

    Information

    \n

    This guide was written by following the ArchWiki. It's for my own use. The public version can be found on the official XeroLinux. This version will always be updated. Sometimes need to remind myself which files to modify...

    \n

    \n \"logo\"\n

    \n\n

    Let's do this \ud83d\ude80

    \n

    First off we need to grab a few packages in order to be able to build the ISO.

    \n
    sudo pacman -S archiso\n
    \n

    Now we need create two folders in our home directory or anywhere else, up to you, one called XeroWork for placing extracted files, another called XeroOut where final ISO will be located.

    \n
    mkdir ~/XeroWork && mkdir ~/XeroOut\n
    \n

    Modify the packages.x86_64 inside releng folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new & updated ArchISO. Just use the command below and watch the magic happen.

    \n
    sudo mkarchiso -v -w ~/XeroWork -o ~/XeroOut /usr/share/archiso/configs/releng\n
    \n

    Finally we can delete the work directory to save space. just do sudo rm -rf ~/XeroWork/.

    \n

    That's it !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/build-archiso.png", "date_modified": "2024-09-17T13:23:32+03:00", "authors": [], "tags": ["ArchISO", "ArchLinux", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/docs/affinity-linux/", "url": "https://bytes.xerolinux.xyz/docs/affinity-linux/", "title": "Affinity on Linux", "content_html": "
    \n

    Warning

    \n

    I am aware that these apps are what's called \"Proprietary\" and require us to purchase a one-time License in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.

    \n
    \n

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the installation of Affinity Apps on Linux with the help of some scripts I found thanks to Twig6943 who went out of his way to create them.

    \n

    \n \n

    \n\n

    Installation

    \n

    First we will need to download the Photo, Designer or Publisher exe from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a Discreet GPU is highly recommended for Hardware Acceleration & good performance.

    \n
    \n

    Note

    \n

    Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required Dependencies

    \n
    \n

    \n \n

    \n\n\n

    Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh)"\n
    \n\n

    Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh)"\n
    \n\n

    Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh)"\n
    \n

    Wrap up

    \n
    \n

    Tip

    \n

    Check the Written Guide if you prefer doing it manually. Also the author posted his scripts on the Affinity's forums, who knows maybe in the future a Linux native version ? Let's all cross our fingers \ud83e\udd1e

    \n
    \n

    That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to Photoshop I have ever gotten, without having to go through WinBlows if ya know what I mean.

    \n

    Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/affinity-linux.png", "date_modified": "2024-09-17T13:17:33+03:00", "authors": [], "tags": ["Affinity", "Linux", "Photoshop"]}, {"id": "https://bytes.xerolinux.xyz/", "url": "https://bytes.xerolinux.xyz/", "title": "\ud83c\udfe0Home", "content_html": "

    Welcome

    \n
    \n

    Info

    \n

    All the documentation found herein, will be for ArchLinux since that's the distro I use. Some will be general Linux ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.

    \n
    \n

    Welcome to DarkXero's Bytes ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the XeroLinux main site.

    \n

    \n \"logo\"\n

    \n\n

    Documenting my learning journey has become an essential part of my Linux experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.

    \n

    \n \"ArchPorn\"\n

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/index.png", "date_modified": "2024-09-17T13:08:59+03:00", "authors": [], "tags": []}, {"id": "https://bytes.xerolinux.xyz/docs/passwd-reset/", "url": "https://bytes.xerolinux.xyz/docs/passwd-reset/", "title": "Reset Password", "content_html": "

    Information

    \n

    I have lost my root pass on Linux more times than I can count. This guide is here so I do not have to Google it lol. Might be useful to you I dunno. But it's here.

    \n

    \n \n

    \n\n

    Let's do this \ud83d\ude80

    \n

    How to reset forgotten root password in a GNU/Linux distribution with GRUB?

    \n

    If this is a laptop or a desktop which you have next to you then follow these steps.

    \n
      \n
    1. Shut down the device.
    2. \n
    3. Start it again. When you see GRUB menu, press the e key on the keyboard before the system starts booting.
    4. \n
    5. In the GRUB boot options, scroll down and locate the line that begins with linux. In this line move the cursor to the end, right after ro quiet. Delete everything after that. Change ro to rw. Append the parameter init=/bin/bash
    6. \n
    7. Press Ctrl+x, or F10, to boot.
    8. \n
    9. You will see a root prompt.
    10. \n
    \n
    :#\n
    \n

    Remount the filesystem in read/write mode:

    \n
    :# mount -no remount,rw /\n
    \n
      \n
    1. Set the password of any user(s).
    2. \n
    \n
    :# passwd joe\n
    \n
      \n
    1. Reboot with the command reboot -f.
    2. \n
    \n

    That's it ! The new password should work now.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/passwd-reset.png", "date_modified": "2024-09-17T12:47:15+03:00", "authors": [], "tags": ["Linux", "Recovery", "Reset"]}, {"id": "https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/", "url": "https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/", "title": "FFmpeg Cheat Sheet", "content_html": "

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the use of FFmpeg on Linux.

    \n

    \n \n

    \n\n

    Installation

    \n

    First we will need to install FFmpeg. I will be doing it on ArchLinux since that's what I use. Look for packages on your distro if you don't use it.

    \n
    sudo pacman -S --noconfirm --needed ffmpeg ffmpegthumbnailer ffmpegthumbs qt6-multimedia-ffmpeg\n
    \n

    Now that we have it, it's time for the cheat sheet.

    \n
    \n

    .// The Cheat Sheet \\\\.

    \n\n

    Basic conversion

    \n
    ffmpeg -i in.mp4 out.avi\n
    \n

    Remux an MKV file into MP4

    \n
    ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4\n
    \n

    High-quality encoding

    \n

    Use the crf (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to -crf 18. Use the preset parameter to control the speed of the compression process. Additional info.

    \n
    ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4\n
    \n

    Trimming

    \n

    Without re-encoding:\n

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4\n
    \n- -ss specifies the start time, e.g. 00:01:23.000 or 83 (in seconds)\n- -t specifies the duration of the clip (same format).\n- Recent ffmpeg also has a flag to supply the end time with -to.\n- -c copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.

    \n

    With re-encoding:

    \n

    If you leave out the -c copy option, ffmpeg will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the x264 Encoding Guide and the AAC Encoding Guide, respectively.

    \n

    For example:\n

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4\n

    \n

    Mux video and audio from another video

    \n

    To copy the video from in0.mp4 and audio from in1.mp4:\n

    ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4\n
    \n- With -c copy the streams will be stream copied, not re-encoded, so there will be no quality loss. If you want to re-encode, see FFmpeg Wiki: H.264 Encoding Guide.\n- The -shortest option will cause the output duration to match the duration of the shortest input stream.\n- See the -map option documentation for more info.

    \n

    Concat demuxer

    \n

    First, make a text file.\n

    file 'in1.mp4'\nfile 'in2.mp4'\nfile 'in3.mp4'\nfile 'in4.mp4'\n
    \nThen, run ffmpeg:\n
    ffmpeg -f concat -i list.txt -c copy out.mp4\n

    \n

    Delay audio/video

    \n

    Delay video by 3.84 seconds:\n

    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4\n
    \nDelay audio by 3.84 seconds:\n
    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4\n

    \n

    Burn subtitles

    \n

    Use the libass library (make sure your ffmpeg install has the library in the configuration --enable-libass).

    \n

    First convert the subtitles to .ass format:\n

    ffmpeg -i sub.srt sub.ass\n
    \nThen add them using a video filter:

    \n
    ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4\n
    \n

    Extract the frames from a video

    \n

    To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:

    \n
    ffmpeg -i in.mp4 -vf select='between(t,1,5)+between(t,11,15)' -vsync 0 out%d.png\n
    \n

    To extract one frame per second only:

    \n
    ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png\n
    \n

    Rotate a video

    \n

    Rotate 90 clockwise:

    \n
    ffmpeg -i in.mov -vf "transpose=1" out.mov\n
    \n

    For the transpose parameter you can pass:

    \n
    0 = 90CounterCLockwise and Vertical Flip (default)\n1 = 90Clockwise\n2 = 90CounterClockwise\n3 = 90Clockwise and Vertical Flip\n
    \n

    Use -vf \"transpose=2,transpose=2\" for 180 degrees.

    \n

    Download \"Transport Stream\" video streams

    \n
      \n
    1. Locate the playlist file, e.g. using Chrome > F12 > Network > Filter: m3u8
    2. \n
    3. Download and concatenate the video fragments:
    4. \n
    \n
    ffmpeg -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4\n
    \n

    If you get a \"Protocol 'https not on whitelist 'file,crypto'!\" error, add the protocol_whitelist option:

    \n
    ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4\n
    \n

    Mute some of the audio

    \n

    To replace the first 90 seconds of audio with silence:

    \n
    ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='lte(t,90)':volume=0" out.mp4\n
    \n

    To replace all audio between 1'20\" and 1'30\" with silence:

    \n
    ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='between(t,80,90)':volume=0" out.mp4\n
    \n

    Deinterlace

    \n

    Deinterlacing using \"yet another deinterlacing filter\".

    \n
    ffmpeg -i in.mp4 -vf yadif out.mp4\n
    \n

    Create a video slideshow from images

    \n

    Parameters: -r marks the image framerate (inverse time of each image); -vf fps=25 marks the true framerate of the output.

    \n
    ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4\n
    \n

    Extract images from a video

    \n\n

    Display the frame number on each frame

    \n
    ffmpeg -i in.mov -vf "drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72" -y out.mov\n
    \n

    Metadata: Change the title

    \n
    ffmpeg -i in.mp4 -map_metadata -1 -metadata title="My Title" -c:v copy -c:a copy out.mp4\n
    \n

    Wrap up

    \n

    That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/ffmpeg-cheats.png", "date_modified": "2024-09-17T12:36:31+03:00", "authors": [], "tags": ["CheatSheet", "FFmpeg", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/projects/cosmic-script/", "url": "https://bytes.xerolinux.xyz/projects/cosmic-script/", "title": "Cosmic Install Script", "content_html": "

    .//Updated on Sep. 15th 2024\\\\.

    \n\n
    \n

    Info

    \n

    This project has moved to the XeroLinux Wiki. Will keep this page around for updates. Keep in mind it's in Alpha.

    \n
    \n

    Script info

    \n

    Well, it does what title says, it installs Cosmic in one of 3 ways, similar to how my Plasma Install script does.

    \n\n

    \n \n

    \n\n

    Included are some useful packages, like a freaking web browser eg. Firefox, an archive manager, Meld and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official Arch Repositories are supported, none from the AUR.

    \n

    Wrapping up

    \n

    Cosmic is shaping up to be the DE that might break the current Top 2 (KDE and Gnome) making it the Top 3 DEs of all time. Who knows ? I wish the System76 team all the best.

    \n

    Cheers !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/cosmic-script.png", "date_modified": "2024-09-16T12:53:29+03:00", "authors": [], "tags": ["ArchLinux", "CosmicDE", "Linux", "XeroLinux"]}, {"id": "https://bytes.xerolinux.xyz/tech/cosmic-experience/", "url": "https://bytes.xerolinux.xyz/tech/cosmic-experience/", "title": "My Cosmic Experience", "content_html": "
    \n

    Note

    \n

    Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.

    \n
    \n

    Installation

    \n

    The Cosmic DE hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.

    \n

    \n \n

    \n\n

    Since I am an avid ArchLinux user, that's how I installed it. I did not use the Pop!_OS 24.04 LTS alpha ISO from >> Cosmic Downloads. So my views come from there. So I cannot compare.

    \n

    Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the ArchInstall profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.

    \n

    Now on to the more detailed things I have done to install Cosmic. I first installed Arch Minimal using the ArchInstall script, meaning that I avoided the profiles, & drivers sections completely, I always choose Grub as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in chroot I installed the DE the following way, knowing that, we can skip the use of sudo since we are still logged in as root...

    \n
    pacman -Syy && pacman -S cosmic linux-headers pacman-contrib xdg-user-dirs power-profiles-daemon wayland-protocols wayland-utils\n
    \n

    \n \n

    \n\n

    Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because cosmic is not a single one, it's a Group of packages or a meta-package as it is known as. That said, the reason I installed linux-headers is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially xdg-user-dirs without which no Documents, Pictures, Videos... folders will be created. Strange I know.

    \n

    What I also found weird, is the fact that cosmic-greeter service was not being enabled after install which was netting me a boot to TTY session. So I had to enable it while at the same time generating the user-dirs via...

    \n
    systemctl enable cosmic-greeter.service && xdg-user-dirs-update\n
    \n

    Keep in mind that I am doing all this while still in chroot post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.

    \n

    Experience

    \n

    Now on to what y'all came here for. All was good, well sorta, system rebooted into Grub, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some TTY dmsg errors, flickering on and off. But after a few seconds I finally saw the Cosmic Greeter login screen, relief finally.

    \n

    \n \n

    \n\n

    I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an nVidia user, I thought could be a driver issue since on first boot it uses the not so great nouveau ones. That's why my first reflex was to install them, so I did.

    \n

    \n \n

    \n\n

    After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about EGL drm crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?

    \n

    As it turns out I had forgotten to include the nVidia drm kernel modules lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.

    \n
    sudo sed -i '/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf\nsudo systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service nvidia-powerd.service\necho -e 'options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02' | sudo tee -a /etc/modprobe.d/nvidia.conf\necho -e 'options nvidia_drm modeset=1 fbdev=1' | sudo tee -a /etc/modprobe.d/nvidia.conf && sudo mkinitcpio -P\n
    \n

    After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like XFCE. Fired up top to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than KDE Plasma ! Nice !

    \n

    Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run nmtui and deactivate it from there making sure it doesn't automatically reconnect on login.

    \n

    Now on to the System Settings. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..

    \n

    That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.

    \n

    Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean Cosmic-Notes was there, just not handling documents...

    \n

    I try to right-click > open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself \"It's Alpha Software, calm down Steve\".

    \n

    To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a CLI and no default app set ? I dunno.

    \n

    Finally I decided to try out the thing that almost everyone's raving about, Tiling/Stacking. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...

    \n

    That's where I gave up and decided to go back home to KDE Plasma.

    \n

    Final words

    \n

    Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.

    \n

    It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.

    \n

    I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. Cosmic has come a long way in such a short time. I mean, writing a DE from scratch using Rust a sorta new programming language is no easy feat.

    \n

    I will end the post by congratulating the System76 dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a XeroCosmic to the family.. Just don't hold your breath on that, it ain't set in stone.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/tech/cosmic-experience.png", "date_modified": "2024-09-12T12:16:04+03:00", "authors": [], "tags": ["ArchLinux", "Cosmic", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/priv/developing-is-fun-but/", "url": "https://bytes.xerolinux.xyz/priv/developing-is-fun-but/", "title": "Developing is fun", "content_html": "

    Am I a Developer ?

    \n

    Lol, yeah, I know\u2014it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code\u2014specifically Bash. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.

    \n

    \"type:video\"

    \n

    And if it does work, I'm happy and share the result with the FOSS community.

    \n

    It's fun until...

    \n

    Doing this is super fun and fulfilling\u2014until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.

    \n

    Now, I know I can reach out to the FOSS community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.

    \n

    Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere\u2014not just in FOSS. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.

    \n

    Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.

    \n

    Sharing is caring

    \n

    This is the part where I say: please, don't keep your work to yourself. Share it with the community\u2014who knows, maybe you'll find someone who can help take your project to another level.

    \n

    I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.

    \n

    \"Sharing is caring,\" as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/developing-is-fun-but.png", "date_modified": "2024-09-06T15:15:59+03:00", "authors": [], "tags": ["Developer", "Development", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/fund/foss-fundraising/", "url": "https://bytes.xerolinux.xyz/fund/foss-fundraising/", "title": "FOSS Fundraising", "content_html": "

    Backstory

    \n

    Before I begin, I would like to clarify that, when I say Linux in this context I mean Desktop Linux.

    \n

    When I started this whole Linux endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with KDE Plasma while using the now infamous Manjaro Distrobution. Yes, this is when I got hooked to Linux. Now don't get me wrong, I have since tried many DEs and WMs. But alas only KDE Plasma answered my needs.

    \n

    Since then I started getting the urge to build my own Distro my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called ArcoLinux. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro ArchLinux.

    \n

    Fundraising

    \n

    Now we get to the meat and potatoes of this post, why ask for money when it's FOSS ? Well in case you did not know, the Free in Free Open Source does NOT mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our TIME.

    \n

    Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a real job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.

    \n

    Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the Fundraising or Donation methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the Donate button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)

    \n

    Hate in FOSS

    \n

    Now let's address the other elephant in the room, the hate in the FOSS community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word Free in Free Open Source. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they despise others, the ones we call Protest Distros. Now am not going to name any names here, but the longer this goes on, the slower Linux will grow.

    \n

    So if you love Linux as much as you say you do, please help your favorite projects grow in any way shape or form, either Donating for financial support if you can and are not a developer, or by simply Reporting Issues upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.

    \n

    Anyways, thanks for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    \n

    See ya there

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/fund/foss-fundraising.png", "date_modified": "2024-09-06T13:03:43+03:00", "authors": [], "tags": ["ArchLinux", "Fundraising", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/", "url": "https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/", "title": "GPU &/or CPU Fund", "content_html": "

    What's this ?

    \n

    My PC could really use an upgrade. I\u2019m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the CPU and GPU. With the XeroLinux Distro not coming back anytime soon, it\u2019s crucial to put funds towards these upgrades where they truly matter.

    \n

    \n \"logo\"\n

    \n\n

    As you can see from image above, the GTX 1080 (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As nVidia just announced it's going full Open-Source. You can read more on >> This Article

    \n

    What CPU ?

    \n

    Well, I\u2019m not looking for much. For the CPU, I\u2019m considering an upgrade to either the Ryzen 7 5800X3D valued at $330 or the Ryzen 9 5950X valued at $452. Honestly, it doesn\u2019t matter which one\u2014I just need that extra boost for compiling stuff.

    \n

    \"type:video\"

    \n

    What GPU ?

    \n

    That\u2019s where things get a bit tricky. I\u2019m still undecided between sticking with nVidia or switching to AMD. I am currently torn between the two. Now, I know most of you would recommend AMD because it\u2019s hassle-free on Linux\u2014and you\u2019d be right. But as a content creator who relies on Cuda and nVidia's nVenc Encoder, I\u2019m leaning towards sticking with nVidia.

    \n

    \"type:video\"

    \n

    However, if I do decide to switch to Team Red, I\u2019d go for the RX 6950XT currently valued at $400 here. Otherwise, if I stay with Team-Green, it\u2019s going to be the RTX 3090 valued at $595.

    \n

    Conclusion

    \n

    Upgrading the GPU is my top priority right now, as it will make the most significant impact. My current GTX 1080 is nearing its end-of-life, and I can manage with my Ryzen 5 3600X for a bit longer. So, if you can help me raise enough funds to upgrade the GPU and stay ahead in the Linux world, I\u2019d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.

    \n

    Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we\u2019ll reach the goal in no time. Your support means the world to me, and it\u2019ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.

    \n

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/fund/new-gpu-cpu-fund.png", "date_modified": "2024-09-06T13:03:43+03:00", "authors": [], "tags": ["ArchLinux", "Fundraising", "Hardware", "Linux", "Upgrade"]}, {"id": "https://bytes.xerolinux.xyz/docs/linux-explained/", "url": "https://bytes.xerolinux.xyz/docs/linux-explained/", "title": "Linux in a Nutshell", "content_html": "

    I thought I'd share this explanation about Linux a good friend and fellow Linux enthusiast REALERvolker1 recently posted on Discord.

    \n
    \n

    Tip

    \n

    The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various Desktop Environments or Window Managers. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...

    \n
    \n

    What is Linux ?

    \n

    Since not everyone's super familiar with Linux, here's a quick crash course.

    \n

    Linux is a Monolithic Kernel, so all the drivers and whatnot are compiled into the binary. The Nonfree software is usually put in the actual source repo as binary blobs, or in the case of nVidia drivers, built using a system called DKMS and compiled into the kernel binary.

    \n

    Once the computer boots up, an init process is started (the default is /sbin/init, usually a symlink to your init system), which is PID 1. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having too much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.

    \n

    Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being POSIX compliant, and not really caring about file extensions.

    \n

    \n \"logo\"\n

    \n\n

    Distros & PKG Managers

    \n

    On Debian, you install packages with apt. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a GUI frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the Debian Wiki is pretty mid, but the Arch Wiki is amazing.

    \n

    Since Arch Linux aims to be the most generic Linux distro ever, information written for it should also help with Debian, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:

    \n\n

    Filesystem & Updates

    \n

    If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not\u2014it might fix a bug.

    \n

    As for the filesystem:

    \n\n

    In UNIX, everything is a file. This means you can:

    \n\n

    Wrapping it all up

    \n

    This was a quick run-through explaining what GNU/Linux is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/linux-explained.png", "date_modified": "2024-09-06T12:06:17+03:00", "authors": [], "tags": ["Kernel", "Linux", "Packages"]}, {"id": "https://bytes.xerolinux.xyz/SUMMARY/", "url": "https://bytes.xerolinux.xyz/SUMMARY/", "title": "SUMMARY", "content_html": "", "image": "https://bytes.xerolinux.xyz/assets/images/social/SUMMARY.png", "date_modified": "2024-09-06T11:52:57+03:00", "authors": [], "tags": []}, {"id": "https://bytes.xerolinux.xyz/priv/be-thankful/", "url": "https://bytes.xerolinux.xyz/priv/be-thankful/", "title": "Be Thankful", "content_html": "

    What's This?

    \n

    Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.

    \n

    Content Creators

    \n

    Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.

    \n

    YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.

    \n

    Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.

    \n

    Writers / Blog Posters

    \n

    This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.

    \n

    One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I\u2019ve learned to improve, and I thank them for that.

    \n

    Appreciating CCs and Writers

    \n

    We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.

    \n

    Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.

    \n

    As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.

    \n

    Fostering a Positive Community

    \n

    The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.

    \n

    When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.

    \n

    Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.

    \n

    Conclusion

    \n

    Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/be-thankful.png", "date_modified": "2024-09-06T11:30:00+03:00", "authors": [], "tags": ["Content Creation", "Linux", "YouTube"]}, {"id": "https://bytes.xerolinux.xyz/priv/real-foss-struggles/", "url": "https://bytes.xerolinux.xyz/priv/real-foss-struggles/", "title": "FOSS Struggles", "content_html": "

    Hello everyone,

    \n

    Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.

    \n

    Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.

    \n
    \n

    P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let\u2019s dive in.

    \n
    \n

    \"type:video\"

    \n

    My Frustration

    \n

    Recently, I\u2019ve been investing a lot of time and effort into my projects and contributing to FOSS (Free and Open Source Software) wherever possible. While I find this work rewarding, it\u2019s also been increasingly frustrating. Why? Let me explain.

    \n

    I spend countless hours working behind the scenes to make everyone\u2019s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it\u2019s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I\u2019m making a real impact.

    \n

    Seeking Purpose

    \n

    Initially, I embarked on this journey for fun and to learn new things. However, lately, I\u2019ve been questioning the purpose behind my efforts. It feels like I\u2019m stuck in a cycle of constant work with little to show for it. This isn\u2019t about blaming anyone; it\u2019s about seeking the motivation to keep going.

    \n

    Monetization Attempts

    \n

    As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a \"pay what you can\" model, hoping it would help sustain my work. However, this didn\u2019t go as planned.

    \n

    The FOSS community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It\u2019s a complex issue, and while some have been supportive, overall, the response hasn\u2019t been enough to make a significant difference.

    \n

    Health Concerns

    \n

    On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn\u2019t cheap, and without stable income, it\u2019s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.

    \n

    Mental Health Struggles

    \n

    The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.

    \n

    The Way Forward

    \n

    Given these circumstances, I\u2019m focusing more on forums and this blog. Writing provides a creative outlet that isn\u2019t constrained by algorithms or view counts. I\u2019ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.

    \n

    My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.

    \n

    Closing Thoughts

    \n

    I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.

    \n

    For now, I need to prioritize my well-being and financial stability. Once those are in place, I\u2019ll be back with future projects. Right now, I\u2019m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.

    \n

    Thank you for understanding and supporting me through this journey.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/real-foss-struggles.png", "date_modified": "2024-09-06T11:30:00+03:00", "authors": [], "tags": ["FOSS", "Fundraising", "Health", "Linux", "Struggles"]}, {"id": "https://bytes.xerolinux.xyz/docs/mkdocs-install/", "url": "https://bytes.xerolinux.xyz/docs/mkdocs-install/", "title": "MKDocs Install", "content_html": "

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the installation of MKDocs the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for ArchLinux if you don't use that distro, well, their site shows how to install for your distro.

    \n

    \"type:video\"

    \n

    Installing MKDocs

    \n

    We will need to install it with some extras. The 2 main packages exist on the Arch repos. The rest are on the AUR, so to grab everything in one go, I will be using Paru. Compiling might take a while, so sit back wile it finishes.

    \n
    paru -S --noconfirm mkdocs mkdocs-get-deps mkdocs-material python-pipx\n
    \n

    Donce that's done we need to create the site. There's a command for that.

    \n
    mkdocs new my-project\ncd my-project\n
    \n

    Now that we initialized the new site we need to configure it. We do so by editing the mkdocs.yml file putting in the following info :

    \n
    site_name: Sitename\n\ntheme:\n  name: material\n  logo: assets/Tux.gif\n  favicon: assets/favicon.ico\n  palette:\n    scheme: slate\n    primary: deep purple\n  features:\n   - navigation.top\n   - navigation.footer\n   - navigation.indexes\n   - content.code.copy\n   - search.suggest\n   - search.highlight\n   - search.share\n   - navigation.expand\n
    \n

    This will make it use the Slate Material Theme with Deep Purple accents. To know more about the theme check the MKDocs Material Wiki. That's it go from there.

    \n

    Plugins & Extra Stuff

    \n

    I have found a few that I liked on the AUR, let's install them via :

    \n
    paru -S --noconfirm mkdocs-autorefs mkdocs-section-index mkdocs-glightbox mkdocs-backlinks-plugin mkdocs-redirects mkdocs-ezlinks-plugin mkdocs-literate-nav\n
    \n

    For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...

    \n\n
    wget https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz\n
    \n

    Extract & cd into it then run the following command :

    \n
    sudo python setup.py install\n
    \n\n
    git clone https://github.com/Guts/mkdocs-rss-plugin.git\n
    \n

    Now we cd into it then run the following command :

    \n
    sudo python setup.py install\n
    \n

    To activate them we edit the same mkdocs.yml file as before like so :

    \n
    plugins:\n  - rss\n  - social\n  - search\n  - autorefs\n  - glightbox\n
    \n

    There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :

    \n
    markdown_extensions:\n\n  # Python Markdown\n   - abbr\n   - admonition\n   - attr_list\n   - def_list\n   - footnotes\n   - md_in_html\n   - toc:\n      permalink: true\n\n  # Python Markdown Extensions\n   - pymdownx.arithmatex:\n       generic: true\n   - pymdownx.betterem:\n       smart_enable: all\n   - pymdownx.caret\n   - pymdownx.details\n   - pymdownx.emoji:\n      emoji_index: !!python/name:material.extensions.emoji.twemoji\n      emoji_generator: !!python/name:material.extensions.emoji.to_svg\n   - pymdownx.highlight:\n      anchor_linenums: true\n      line_spans: __span\n      pygments_lang_class: true\n   - pymdownx.inlinehilite\n   - pymdownx.keys\n   - pymdownx.mark\n   - pymdownx.smartsymbols\n   - pymdownx.superfences\n   - pymdownx.tabbed:\n       alternate_style: true\n   - pymdownx.tasklist:\n       custom_checkbox: true\n   - pymdownx.tilde\n\nextra:\n  social:\n    - icon: fontawesome/brands/github\n      link: https://github.com/darkxero-dev\n    - icon: fontawesome/brands/youtube\n      link: https://youtube.com/XeroLinuxOfficial\n    - icon: fontawesome/brands/x-twitter\n      link: https://twitter.com/xerolinuxop\n    - icon: fontawesome/brands/mastodon\n      link: https://fosstodon.org/@xerolinux\n
    \n

    That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to @JustAGuyLinux for helping out a little hehe.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/mkdocs-install.png", "date_modified": "2024-09-05T20:40:33+03:00", "authors": [], "tags": ["Blogging", "Linux", "MKDocs"]}, {"id": "https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/", "url": "https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/", "title": "Docker A Love Story", "content_html": "

    What is Docker ?

    \n

    Docker is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.

    \n

    \n \"logo\"\n

    \n\n

    How it all started

    \n

    It all started with Distrobox. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered Docker containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like Immich for images and videos, which would allow me to sync my devices locally rather than with Apple iCloud or Google making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...

    \n

    With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3rd party conglomerates made me fall in love more and more as time went by...

    \n

    My setup so far

    \n

    Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive MY setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.

    \n

    \n \"logo\"\n

    \n\n\n

    To start off, let me tell you what am using for the page you see in the image, it's simply called Homepage. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via YAML configurations files, and that the community behind it are so damn friendly ! Yep, there is no dumb question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their Discord Server.

    \n\n

    As for the File Browser I use to share files between PCs, it's also has a creative name lol, just called FileBrowser, it serves one purpose, browsing files, with ability to upload & download from/to any PC. That's it. It just works nothing else to say about that.

    \n\n

    Hehe, the only reason I called it Xoogle is coz it's Xero + Google, get it ? Anyway, this is using something called Whoogle, weird name I know, loogs damn ugly too. It's just a search engine that uses Google stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of Google the way it was back in the day..

    \n\n

    That's a 3rd-party Bitwarden server-as-a-container, endorsed by them so can be trusted called Vaultwarden. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.

    \n\n

    This one is not for everyone. It uses Zipline. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.

    \n\n

    I am a big fan of comic books, especially the ones from my childhood. This container uses Kavita. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their Discord Server.

    \n\n

    I guess I do not need to explain that one. It's just a docker container for Audiobookshelf. In case you have some Audio books or podcasts. Have fun.

    \n\n

    That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called FreshRSS. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.

    \n\n

    Now, this is one of the big ones, Immich is an amazing image cloud like service. Allowing you to move away from Apple and Google. I love that as I said at the beginning of this long post. They even have companion apps for both Android and iOS which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.

    \n

    You get the idea

    \n

    Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's BIG rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.

    \n\n

    Where to find more containers ?

    \n

    Well, there are many places, but my favorite has to be Selfh.st hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.

    \n

    Closing words

    \n

    Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.

    \n

    Thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/tech/docker-containers-a-love-story.png", "date_modified": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Containers", "Docker", "Linux"]}]} \ No newline at end of file +{"version": "https://jsonfeed.org/version/1", "title": "DarkXero's Bytes", "home_page_url": "https://bytes.xerolinux.xyz/", "feed_url": "https://bytes.xerolinux.xyz/feed_json_updated.json", "description": "Thoughts, Opinions, Documentation, and more...", "icon": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png", "authors": [], "language": "en", "items": [{"id": "https://bytes.xerolinux.xyz/priv/current-situation/", "url": "https://bytes.xerolinux.xyz/priv/current-situation/", "title": "Current Situation", "content_html": "

    Hello everyone,

    \n

    Today is one of those days where words fall short. The past few days have been incredibly difficult for us here in Lebanon, and it feels like things are only getting worse with each passing moment. Both the political and economic situation are spiraling out of control, and it\u2019s impacting every single person here. Close friends, people I\u2019ve known for years, have been injured, and some have even been forced to flee their homes. We\u2019re now living in a reality where technology, something we all rely on daily, has become a source of fear. Can you imagine? Tech warfare? Exploding pagers and phones? It\u2019s something straight out of a dystopian novel, but it's happening right here, right now.

    \n

    We are terrified to carry even the most basic tech devices, and it's surreal to say the least.

    \n

    \"type:video\"

    \n

    In the video below, you\u2019ll see just how grim the situation has become. Just yesterday, a town not far from where I live was hit. I didn\u2019t just hear it, I felt it. The windows shook violently as multiple, deafening sonic booms erupted overhead. I don\u2019t exaggerate when I say my heart sank. The sound alone brought back memories of the 1970s and 80s, when I lived through a different war, but the fear is just as real now as it was then. I\u2019m still shaking as I write this. This kind of fear paralyzes you. You never know if the next blast will be the one that hits your home.

    \n

    \"type:video\"

    \n

    For the first time in my life, I genuinely don\u2019t know what to do. Should I flee? Should I stay? Do I hide and pray it doesn\u2019t get worse? I\u2019ve been praying for things to calm down for over a year now, ever since the violence in the south started, but each day feels heavier, as if we\u2019re on the edge of something catastrophic.

    \n

    Safety 1st

    \n

    With everything that\u2019s happening, I need to prioritize my safety and that of my family. If the situation continues to deteriorate, I may be forced to stop everything I\u2019m doing just to focus on survival. We\u2019re actively searching for potential shelters, just in case things take an even darker turn. It\u2019s heartbreaking, but these are the conversations we\u2019re having right now\u2014finding a safe place to hide from the chaos.

    \n

    I know many of you are eagerly waiting for updates on the XeroLinux project, and believe me, I haven\u2019t forgotten about it. But I hope you understand that it\u2019s nearly impossible to work under these conditions. My mind is constantly racing, wondering if we\u2019ll be the next to face the violence, or if a full-scale war will erupt before we even have a chance to react.

    \n

    How to help

    \n

    As most of you are aware, my financial situation has been precarious for quite some time. If I do have to flee the country, I\u2019m going to need resources to make that happen. Right now, I have about $320 to my name. That\u2019s not nearly enough to cover the costs of leaving Lebanon if things continue to worsen.

    \n

    If you want to help, please know that this is separate from any funds raised for the XeroLinux project. I\u2019ve made sure to keep the project\u2019s funds separate so they are used exclusively for its development and survival. The funds I need now are for a different, more personal cause\u2014ensuring my safety and the safety of my family.

    \n

    If you\u2019re able and willing to contribute, your help could make a real difference in what happens next. No amount is too small, and every bit helps in these uncertain times.

    \n

    To do so head on over to FundRazr.

    \n

    Thanks for all your help & support !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/current-situation.png", "date_modified": "2024-09-21T09:17:21.535938+00:00", "authors": [], "tags": ["Lebanon", "Situation", "Struggles", "War"]}, {"id": "https://bytes.xerolinux.xyz/projects/why-is-distro-back/", "url": "https://bytes.xerolinux.xyz/projects/why-is-distro-back/", "title": "Why Revive XeroLinux", "content_html": "
    \n

    Info

    \n

    This post will explain why I decided to bring back XeroLinux and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the XeroLinux Wiki

    \n
    \n

    What is XeroLinux

    \n

    In short, it's just an alternative to the Plasma Install Script, making it easier to install Arch, bypassing the need for ArchInstall. The ISO includes my toolkit as well as my famous Xero Layan Rice all-in-one shot.

    \n

    \n \n

    \n\n

    You can use the included Xero Toolkit, 1st icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the Chaotic-AUR repository so it's easier for you to install AUR packages rather from having to compile them.

    \n

    Why is XeroLinux back

    \n

    To explain why, let me set the stage. As you may already know, I\u2019m going through significant financial difficulties. Living in Lebanon, finding a job\u2014especially a remote one\u2014is extremely challenging, and the situation continues to worsen. I won\u2019t rehash the entire story here, but if you\u2019re not familiar, you can read more about it in this BlogPost.

    \n

    After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro\u2019s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it\u2014and make it a way to sustain myself?

    \n

    \"type:video\"

    \n

    Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the DistroWatch rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!

    \n

    That answers the why.

    \n

    How to get it

    \n

    I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO\u2014a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the Release Post

    \n

    Now, I know that some of you will say, \"But it's FOSS; you shouldn't charge for it.\" To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the Source Code and do with it as you wish. I am simply charging for my time.

    \n

    The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up\u2026 well, let's not dwell on that. Let\u2019s focus on keeping it alive and thriving for a long and happy journey together!

    \n

    Is it any Special

    \n

    This is a common question I get. To be honest, there\u2019s no groundbreaking advantage\u2014it simply provides an easier way to install Arch with a polished KDE experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.

    \n

    Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that XeroLinux is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.

    \n

    How to get it for free

    \n

    If you can\u2019t support me financially but still want XeroLinux, while the ISO isn't available for free right now, you can still achieve similar results with my PlasmaInstall script, which will always be free of charge. It just requires a bit more elbow grease on your part\u2014that\u2019s all there is to it!

    \n

    I don't like Arch

    \n

    In case you don't like Arch for whatever reason, but still want to support me, I have put up a Merch Store where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.

    \n

    Private Donations

    \n

    Did you know I have a private fundraiser account? It\u2019s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at FundRazr.

    \n

    Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving XeroLinux, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn\u2019t been getting much support. Ideally, I\u2019d love to keep these funds separate, but ultimately, it\u2019s your choice.

    \n

    Wrapping up

    \n

    That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.

    \n

    Thank you to each and everyone for the support.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/why-is-distro-back.png", "date_modified": "2024-09-17T14:32:35+03:00", "authors": [], "tags": ["ArchLinux", "Distribution", "Linux", "XeroLinux"]}, {"id": "https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/", "url": "https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/", "title": "XeroLinux Channel", "content_html": "

    YouTube Channel ?

    \n

    Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, Nice!.

    \n

    But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.

    \n

    What now Xero ?

    \n

    Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since YouTube and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.

    \n

    What's the Catch ?

    \n

    This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the XeroLinux Ko-Fi fundraiser for the forseeable future.

    \n

    Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to donate, however would be highly appreciated if you do.

    \n

    Future Plans

    \n

    When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.

    \n

    Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.

    \n

    Anyways, thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/what-s-up-with-my-channel.png", "date_modified": "2024-09-17T13:41:54+03:00", "authors": [], "tags": ["ArchLinux", "Linux", "XeroLinux", "YouTube"]}, {"id": "https://bytes.xerolinux.xyz/docs/build-archiso/", "url": "https://bytes.xerolinux.xyz/docs/build-archiso/", "title": "ArchISO Build", "content_html": "

    Information

    \n

    This guide was written by following the ArchWiki. It's for my own use. The public version can be found on the official XeroLinux. This version will always be updated. Sometimes need to remind myself which files to modify...

    \n

    \n \"logo\"\n

    \n\n

    Let's do this \ud83d\ude80

    \n

    First off we need to grab a few packages in order to be able to build the ISO.

    \n
    sudo pacman -S archiso\n
    \n

    Now we need create two folders in our home directory or anywhere else, up to you, one called XeroWork for placing extracted files, another called XeroOut where final ISO will be located.

    \n
    mkdir ~/XeroWork && mkdir ~/XeroOut\n
    \n

    Modify the packages.x86_64 inside releng folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new & updated ArchISO. Just use the command below and watch the magic happen.

    \n
    sudo mkarchiso -v -w ~/XeroWork -o ~/XeroOut /usr/share/archiso/configs/releng\n
    \n

    Finally we can delete the work directory to save space. just do sudo rm -rf ~/XeroWork/.

    \n

    That's it !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/build-archiso.png", "date_modified": "2024-09-17T13:23:32+03:00", "authors": [], "tags": ["ArchISO", "ArchLinux", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/docs/affinity-linux/", "url": "https://bytes.xerolinux.xyz/docs/affinity-linux/", "title": "Affinity on Linux", "content_html": "
    \n

    Warning

    \n

    I am aware that these apps are what's called \"Proprietary\" and require us to purchase a one-time License in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.

    \n
    \n

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the installation of Affinity Apps on Linux with the help of some scripts I found thanks to Twig6943 who went out of his way to create them.

    \n

    \n \n

    \n\n

    Installation

    \n

    First we will need to download the Photo, Designer or Publisher exe from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a Discreet GPU is highly recommended for Hardware Acceleration & good performance.

    \n
    \n

    Note

    \n

    Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required Dependencies

    \n
    \n

    \n \n

    \n\n\n

    Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh)"\n
    \n\n

    Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh)"\n
    \n\n

    Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.

    \n
    bash -c "$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh)"\n
    \n

    Wrap up

    \n
    \n

    Tip

    \n

    Check the Written Guide if you prefer doing it manually. Also the author posted his scripts on the Affinity's forums, who knows maybe in the future a Linux native version ? Let's all cross our fingers \ud83e\udd1e

    \n
    \n

    That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to Photoshop I have ever gotten, without having to go through WinBlows if ya know what I mean.

    \n

    Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/affinity-linux.png", "date_modified": "2024-09-17T13:17:33+03:00", "authors": [], "tags": ["Affinity", "Linux", "Photoshop"]}, {"id": "https://bytes.xerolinux.xyz/", "url": "https://bytes.xerolinux.xyz/", "title": "\ud83c\udfe0Home", "content_html": "

    Welcome

    \n
    \n

    Info

    \n

    All the documentation found herein, will be for ArchLinux since that's the distro I use. Some will be general Linux ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.

    \n
    \n

    Welcome to DarkXero's Bytes ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the XeroLinux main site.

    \n

    \n \"logo\"\n

    \n\n

    Documenting my learning journey has become an essential part of my Linux experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.

    \n

    \n \"ArchPorn\"\n

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/index.png", "date_modified": "2024-09-17T13:08:59+03:00", "authors": [], "tags": []}, {"id": "https://bytes.xerolinux.xyz/docs/passwd-reset/", "url": "https://bytes.xerolinux.xyz/docs/passwd-reset/", "title": "Reset Password", "content_html": "

    Information

    \n

    I have lost my root pass on Linux more times than I can count. This guide is here so I do not have to Google it lol. Might be useful to you I dunno. But it's here.

    \n

    \n \n

    \n\n

    Let's do this \ud83d\ude80

    \n

    How to reset forgotten root password in a GNU/Linux distribution with GRUB?

    \n

    If this is a laptop or a desktop which you have next to you then follow these steps.

    \n
      \n
    1. Shut down the device.
    2. \n
    3. Start it again. When you see GRUB menu, press the e key on the keyboard before the system starts booting.
    4. \n
    5. In the GRUB boot options, scroll down and locate the line that begins with linux. In this line move the cursor to the end, right after ro quiet. Delete everything after that. Change ro to rw. Append the parameter init=/bin/bash
    6. \n
    7. Press Ctrl+x, or F10, to boot.
    8. \n
    9. You will see a root prompt.
    10. \n
    \n
    :#\n
    \n

    Remount the filesystem in read/write mode:

    \n
    :# mount -no remount,rw /\n
    \n
      \n
    1. Set the password of any user(s).
    2. \n
    \n
    :# passwd joe\n
    \n
      \n
    1. Reboot with the command reboot -f.
    2. \n
    \n

    That's it ! The new password should work now.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/passwd-reset.png", "date_modified": "2024-09-17T12:47:15+03:00", "authors": [], "tags": ["Linux", "Recovery", "Reset"]}, {"id": "https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/", "url": "https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/", "title": "FFmpeg Cheat Sheet", "content_html": "

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the use of FFmpeg on Linux.

    \n

    \n \n

    \n\n

    Installation

    \n

    First we will need to install FFmpeg. I will be doing it on ArchLinux since that's what I use. Look for packages on your distro if you don't use it.

    \n
    sudo pacman -S --noconfirm --needed ffmpeg ffmpegthumbnailer ffmpegthumbs qt6-multimedia-ffmpeg\n
    \n

    Now that we have it, it's time for the cheat sheet.

    \n
    \n

    .// The Cheat Sheet \\\\.

    \n\n

    Basic conversion

    \n
    ffmpeg -i in.mp4 out.avi\n
    \n

    Remux an MKV file into MP4

    \n
    ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4\n
    \n

    High-quality encoding

    \n

    Use the crf (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to -crf 18. Use the preset parameter to control the speed of the compression process. Additional info.

    \n
    ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4\n
    \n

    Trimming

    \n

    Without re-encoding:\n

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4\n
    \n- -ss specifies the start time, e.g. 00:01:23.000 or 83 (in seconds)\n- -t specifies the duration of the clip (same format).\n- Recent ffmpeg also has a flag to supply the end time with -to.\n- -c copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.

    \n

    With re-encoding:

    \n

    If you leave out the -c copy option, ffmpeg will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the x264 Encoding Guide and the AAC Encoding Guide, respectively.

    \n

    For example:\n

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4\n

    \n

    Mux video and audio from another video

    \n

    To copy the video from in0.mp4 and audio from in1.mp4:\n

    ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4\n
    \n- With -c copy the streams will be stream copied, not re-encoded, so there will be no quality loss. If you want to re-encode, see FFmpeg Wiki: H.264 Encoding Guide.\n- The -shortest option will cause the output duration to match the duration of the shortest input stream.\n- See the -map option documentation for more info.

    \n

    Concat demuxer

    \n

    First, make a text file.\n

    file 'in1.mp4'\nfile 'in2.mp4'\nfile 'in3.mp4'\nfile 'in4.mp4'\n
    \nThen, run ffmpeg:\n
    ffmpeg -f concat -i list.txt -c copy out.mp4\n

    \n

    Delay audio/video

    \n

    Delay video by 3.84 seconds:\n

    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4\n
    \nDelay audio by 3.84 seconds:\n
    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4\n

    \n

    Burn subtitles

    \n

    Use the libass library (make sure your ffmpeg install has the library in the configuration --enable-libass).

    \n

    First convert the subtitles to .ass format:\n

    ffmpeg -i sub.srt sub.ass\n
    \nThen add them using a video filter:

    \n
    ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4\n
    \n

    Extract the frames from a video

    \n

    To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:

    \n
    ffmpeg -i in.mp4 -vf select='between(t,1,5)+between(t,11,15)' -vsync 0 out%d.png\n
    \n

    To extract one frame per second only:

    \n
    ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png\n
    \n

    Rotate a video

    \n

    Rotate 90 clockwise:

    \n
    ffmpeg -i in.mov -vf "transpose=1" out.mov\n
    \n

    For the transpose parameter you can pass:

    \n
    0 = 90CounterCLockwise and Vertical Flip (default)\n1 = 90Clockwise\n2 = 90CounterClockwise\n3 = 90Clockwise and Vertical Flip\n
    \n

    Use -vf \"transpose=2,transpose=2\" for 180 degrees.

    \n

    Download \"Transport Stream\" video streams

    \n
      \n
    1. Locate the playlist file, e.g. using Chrome > F12 > Network > Filter: m3u8
    2. \n
    3. Download and concatenate the video fragments:
    4. \n
    \n
    ffmpeg -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4\n
    \n

    If you get a \"Protocol 'https not on whitelist 'file,crypto'!\" error, add the protocol_whitelist option:

    \n
    ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4\n
    \n

    Mute some of the audio

    \n

    To replace the first 90 seconds of audio with silence:

    \n
    ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='lte(t,90)':volume=0" out.mp4\n
    \n

    To replace all audio between 1'20\" and 1'30\" with silence:

    \n
    ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='between(t,80,90)':volume=0" out.mp4\n
    \n

    Deinterlace

    \n

    Deinterlacing using \"yet another deinterlacing filter\".

    \n
    ffmpeg -i in.mp4 -vf yadif out.mp4\n
    \n

    Create a video slideshow from images

    \n

    Parameters: -r marks the image framerate (inverse time of each image); -vf fps=25 marks the true framerate of the output.

    \n
    ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4\n
    \n

    Extract images from a video

    \n\n

    Display the frame number on each frame

    \n
    ffmpeg -i in.mov -vf "drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72" -y out.mov\n
    \n

    Metadata: Change the title

    \n
    ffmpeg -i in.mp4 -map_metadata -1 -metadata title="My Title" -c:v copy -c:a copy out.mp4\n
    \n

    Wrap up

    \n

    That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/ffmpeg-cheats.png", "date_modified": "2024-09-17T12:36:31+03:00", "authors": [], "tags": ["CheatSheet", "FFmpeg", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/projects/cosmic-script/", "url": "https://bytes.xerolinux.xyz/projects/cosmic-script/", "title": "Cosmic Install Script", "content_html": "

    .//Updated on Sep. 15th 2024\\\\.

    \n\n
    \n

    Info

    \n

    This project has moved to the XeroLinux Wiki. Will keep this page around for updates. Keep in mind it's in Alpha.

    \n
    \n

    Script info

    \n

    Well, it does what title says, it installs Cosmic in one of 3 ways, similar to how my Plasma Install script does.

    \n\n

    \n \n

    \n\n

    Included are some useful packages, like a freaking web browser eg. Firefox, an archive manager, Meld and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official Arch Repositories are supported, none from the AUR.

    \n

    Wrapping up

    \n

    Cosmic is shaping up to be the DE that might break the current Top 2 (KDE and Gnome) making it the Top 3 DEs of all time. Who knows ? I wish the System76 team all the best.

    \n

    Cheers !

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/projects/cosmic-script.png", "date_modified": "2024-09-16T12:53:29+03:00", "authors": [], "tags": ["ArchLinux", "CosmicDE", "Linux", "XeroLinux"]}, {"id": "https://bytes.xerolinux.xyz/tech/cosmic-experience/", "url": "https://bytes.xerolinux.xyz/tech/cosmic-experience/", "title": "My Cosmic Experience", "content_html": "
    \n

    Note

    \n

    Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.

    \n
    \n

    Installation

    \n

    The Cosmic DE hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.

    \n

    \n \n

    \n\n

    Since I am an avid ArchLinux user, that's how I installed it. I did not use the Pop!_OS 24.04 LTS alpha ISO from >> Cosmic Downloads. So my views come from there. So I cannot compare.

    \n

    Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the ArchInstall profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.

    \n

    Now on to the more detailed things I have done to install Cosmic. I first installed Arch Minimal using the ArchInstall script, meaning that I avoided the profiles, & drivers sections completely, I always choose Grub as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in chroot I installed the DE the following way, knowing that, we can skip the use of sudo since we are still logged in as root...

    \n
    pacman -Syy && pacman -S cosmic linux-headers pacman-contrib xdg-user-dirs power-profiles-daemon wayland-protocols wayland-utils\n
    \n

    \n \n

    \n\n

    Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because cosmic is not a single one, it's a Group of packages or a meta-package as it is known as. That said, the reason I installed linux-headers is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially xdg-user-dirs without which no Documents, Pictures, Videos... folders will be created. Strange I know.

    \n

    What I also found weird, is the fact that cosmic-greeter service was not being enabled after install which was netting me a boot to TTY session. So I had to enable it while at the same time generating the user-dirs via...

    \n
    systemctl enable cosmic-greeter.service && xdg-user-dirs-update\n
    \n

    Keep in mind that I am doing all this while still in chroot post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.

    \n

    Experience

    \n

    Now on to what y'all came here for. All was good, well sorta, system rebooted into Grub, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some TTY dmsg errors, flickering on and off. But after a few seconds I finally saw the Cosmic Greeter login screen, relief finally.

    \n

    \n \n

    \n\n

    I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an nVidia user, I thought could be a driver issue since on first boot it uses the not so great nouveau ones. That's why my first reflex was to install them, so I did.

    \n

    \n \n

    \n\n

    After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about EGL drm crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?

    \n

    As it turns out I had forgotten to include the nVidia drm kernel modules lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.

    \n
    sudo sed -i '/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf\nsudo systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service nvidia-powerd.service\necho -e 'options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02' | sudo tee -a /etc/modprobe.d/nvidia.conf\necho -e 'options nvidia_drm modeset=1 fbdev=1' | sudo tee -a /etc/modprobe.d/nvidia.conf && sudo mkinitcpio -P\n
    \n

    After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like XFCE. Fired up top to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than KDE Plasma ! Nice !

    \n

    Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run nmtui and deactivate it from there making sure it doesn't automatically reconnect on login.

    \n

    Now on to the System Settings. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..

    \n

    That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.

    \n

    Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean Cosmic-Notes was there, just not handling documents...

    \n

    I try to right-click > open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself \"It's Alpha Software, calm down Steve\".

    \n

    To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a CLI and no default app set ? I dunno.

    \n

    Finally I decided to try out the thing that almost everyone's raving about, Tiling/Stacking. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...

    \n

    That's where I gave up and decided to go back home to KDE Plasma.

    \n

    Final words

    \n

    Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.

    \n

    It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.

    \n

    I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. Cosmic has come a long way in such a short time. I mean, writing a DE from scratch using Rust a sorta new programming language is no easy feat.

    \n

    I will end the post by congratulating the System76 dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a XeroCosmic to the family.. Just don't hold your breath on that, it ain't set in stone.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/tech/cosmic-experience.png", "date_modified": "2024-09-12T12:16:04+03:00", "authors": [], "tags": ["ArchLinux", "Cosmic", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/priv/developing-is-fun-but/", "url": "https://bytes.xerolinux.xyz/priv/developing-is-fun-but/", "title": "Developing is fun", "content_html": "

    Am I a Developer ?

    \n

    Lol, yeah, I know\u2014it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code\u2014specifically Bash. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.

    \n

    \"type:video\"

    \n

    And if it does work, I'm happy and share the result with the FOSS community.

    \n

    It's fun until...

    \n

    Doing this is super fun and fulfilling\u2014until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.

    \n

    Now, I know I can reach out to the FOSS community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.

    \n

    Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere\u2014not just in FOSS. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.

    \n

    Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.

    \n

    Sharing is caring

    \n

    This is the part where I say: please, don't keep your work to yourself. Share it with the community\u2014who knows, maybe you'll find someone who can help take your project to another level.

    \n

    I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.

    \n

    \"Sharing is caring,\" as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/developing-is-fun-but.png", "date_modified": "2024-09-06T15:15:59+03:00", "authors": [], "tags": ["Developer", "Development", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/fund/foss-fundraising/", "url": "https://bytes.xerolinux.xyz/fund/foss-fundraising/", "title": "FOSS Fundraising", "content_html": "

    Backstory

    \n

    Before I begin, I would like to clarify that, when I say Linux in this context I mean Desktop Linux.

    \n

    When I started this whole Linux endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with KDE Plasma while using the now infamous Manjaro Distrobution. Yes, this is when I got hooked to Linux. Now don't get me wrong, I have since tried many DEs and WMs. But alas only KDE Plasma answered my needs.

    \n

    Since then I started getting the urge to build my own Distro my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called ArcoLinux. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro ArchLinux.

    \n

    Fundraising

    \n

    Now we get to the meat and potatoes of this post, why ask for money when it's FOSS ? Well in case you did not know, the Free in Free Open Source does NOT mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our TIME.

    \n

    Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a real job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.

    \n

    Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the Fundraising or Donation methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the Donate button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)

    \n

    Hate in FOSS

    \n

    Now let's address the other elephant in the room, the hate in the FOSS community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word Free in Free Open Source. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they despise others, the ones we call Protest Distros. Now am not going to name any names here, but the longer this goes on, the slower Linux will grow.

    \n

    So if you love Linux as much as you say you do, please help your favorite projects grow in any way shape or form, either Donating for financial support if you can and are not a developer, or by simply Reporting Issues upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.

    \n

    Anyways, thanks for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    \n

    See ya there

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/fund/foss-fundraising.png", "date_modified": "2024-09-06T13:03:43+03:00", "authors": [], "tags": ["ArchLinux", "Fundraising", "Linux"]}, {"id": "https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/", "url": "https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/", "title": "GPU &/or CPU Fund", "content_html": "

    What's this ?

    \n

    My PC could really use an upgrade. I\u2019m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the CPU and GPU. With the XeroLinux Distro not coming back anytime soon, it\u2019s crucial to put funds towards these upgrades where they truly matter.

    \n

    \n \"logo\"\n

    \n\n

    As you can see from image above, the GTX 1080 (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As nVidia just announced it's going full Open-Source. You can read more on >> This Article

    \n

    What CPU ?

    \n

    Well, I\u2019m not looking for much. For the CPU, I\u2019m considering an upgrade to either the Ryzen 7 5800X3D valued at $330 or the Ryzen 9 5950X valued at $452. Honestly, it doesn\u2019t matter which one\u2014I just need that extra boost for compiling stuff.

    \n

    \"type:video\"

    \n

    What GPU ?

    \n

    That\u2019s where things get a bit tricky. I\u2019m still undecided between sticking with nVidia or switching to AMD. I am currently torn between the two. Now, I know most of you would recommend AMD because it\u2019s hassle-free on Linux\u2014and you\u2019d be right. But as a content creator who relies on Cuda and nVidia's nVenc Encoder, I\u2019m leaning towards sticking with nVidia.

    \n

    \"type:video\"

    \n

    However, if I do decide to switch to Team Red, I\u2019d go for the RX 6950XT currently valued at $400 here. Otherwise, if I stay with Team-Green, it\u2019s going to be the RTX 3090 valued at $595.

    \n

    Conclusion

    \n

    Upgrading the GPU is my top priority right now, as it will make the most significant impact. My current GTX 1080 is nearing its end-of-life, and I can manage with my Ryzen 5 3600X for a bit longer. So, if you can help me raise enough funds to upgrade the GPU and stay ahead in the Linux world, I\u2019d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.

    \n

    Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we\u2019ll reach the goal in no time. Your support means the world to me, and it\u2019ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.

    \n

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/fund/new-gpu-cpu-fund.png", "date_modified": "2024-09-06T13:03:43+03:00", "authors": [], "tags": ["ArchLinux", "Fundraising", "Hardware", "Linux", "Upgrade"]}, {"id": "https://bytes.xerolinux.xyz/docs/linux-explained/", "url": "https://bytes.xerolinux.xyz/docs/linux-explained/", "title": "Linux in a Nutshell", "content_html": "

    I thought I'd share this explanation about Linux a good friend and fellow Linux enthusiast REALERvolker1 recently posted on Discord.

    \n
    \n

    Tip

    \n

    The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various Desktop Environments or Window Managers. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...

    \n
    \n

    What is Linux ?

    \n

    Since not everyone's super familiar with Linux, here's a quick crash course.

    \n

    Linux is a Monolithic Kernel, so all the drivers and whatnot are compiled into the binary. The Nonfree software is usually put in the actual source repo as binary blobs, or in the case of nVidia drivers, built using a system called DKMS and compiled into the kernel binary.

    \n

    Once the computer boots up, an init process is started (the default is /sbin/init, usually a symlink to your init system), which is PID 1. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having too much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.

    \n

    Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being POSIX compliant, and not really caring about file extensions.

    \n

    \n \"logo\"\n

    \n\n

    Distros & PKG Managers

    \n

    On Debian, you install packages with apt. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a GUI frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the Debian Wiki is pretty mid, but the Arch Wiki is amazing.

    \n

    Since Arch Linux aims to be the most generic Linux distro ever, information written for it should also help with Debian, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:

    \n\n

    Filesystem & Updates

    \n

    If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not\u2014it might fix a bug.

    \n

    As for the filesystem:

    \n\n

    In UNIX, everything is a file. This means you can:

    \n\n

    Wrapping it all up

    \n

    This was a quick run-through explaining what GNU/Linux is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/linux-explained.png", "date_modified": "2024-09-06T12:06:17+03:00", "authors": [], "tags": ["Kernel", "Linux", "Packages"]}, {"id": "https://bytes.xerolinux.xyz/SUMMARY/", "url": "https://bytes.xerolinux.xyz/SUMMARY/", "title": "SUMMARY", "content_html": "", "image": "https://bytes.xerolinux.xyz/assets/images/social/SUMMARY.png", "date_modified": "2024-09-06T11:52:57+03:00", "authors": [], "tags": []}, {"id": "https://bytes.xerolinux.xyz/priv/be-thankful/", "url": "https://bytes.xerolinux.xyz/priv/be-thankful/", "title": "Be Thankful", "content_html": "

    What's This?

    \n

    Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.

    \n

    Content Creators

    \n

    Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.

    \n

    YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.

    \n

    Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.

    \n

    Writers / Blog Posters

    \n

    This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.

    \n

    One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I\u2019ve learned to improve, and I thank them for that.

    \n

    Appreciating CCs and Writers

    \n

    We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.

    \n

    Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.

    \n

    As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.

    \n

    Fostering a Positive Community

    \n

    The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.

    \n

    When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.

    \n

    Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.

    \n

    Conclusion

    \n

    Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/be-thankful.png", "date_modified": "2024-09-06T11:30:00+03:00", "authors": [], "tags": ["Content Creation", "Linux", "YouTube"]}, {"id": "https://bytes.xerolinux.xyz/priv/real-foss-struggles/", "url": "https://bytes.xerolinux.xyz/priv/real-foss-struggles/", "title": "FOSS Struggles", "content_html": "

    Hello everyone,

    \n

    Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.

    \n

    Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.

    \n
    \n

    P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let\u2019s dive in.

    \n
    \n

    \"type:video\"

    \n

    My Frustration

    \n

    Recently, I\u2019ve been investing a lot of time and effort into my projects and contributing to FOSS (Free and Open Source Software) wherever possible. While I find this work rewarding, it\u2019s also been increasingly frustrating. Why? Let me explain.

    \n

    I spend countless hours working behind the scenes to make everyone\u2019s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it\u2019s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I\u2019m making a real impact.

    \n

    Seeking Purpose

    \n

    Initially, I embarked on this journey for fun and to learn new things. However, lately, I\u2019ve been questioning the purpose behind my efforts. It feels like I\u2019m stuck in a cycle of constant work with little to show for it. This isn\u2019t about blaming anyone; it\u2019s about seeking the motivation to keep going.

    \n

    Monetization Attempts

    \n

    As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a \"pay what you can\" model, hoping it would help sustain my work. However, this didn\u2019t go as planned.

    \n

    The FOSS community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It\u2019s a complex issue, and while some have been supportive, overall, the response hasn\u2019t been enough to make a significant difference.

    \n

    Health Concerns

    \n

    On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn\u2019t cheap, and without stable income, it\u2019s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.

    \n

    Mental Health Struggles

    \n

    The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.

    \n

    The Way Forward

    \n

    Given these circumstances, I\u2019m focusing more on forums and this blog. Writing provides a creative outlet that isn\u2019t constrained by algorithms or view counts. I\u2019ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.

    \n

    My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.

    \n

    Closing Thoughts

    \n

    I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.

    \n

    For now, I need to prioritize my well-being and financial stability. Once those are in place, I\u2019ll be back with future projects. Right now, I\u2019m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.

    \n

    Thank you for understanding and supporting me through this journey.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/priv/real-foss-struggles.png", "date_modified": "2024-09-06T11:30:00+03:00", "authors": [], "tags": ["FOSS", "Fundraising", "Health", "Linux", "Struggles"]}, {"id": "https://bytes.xerolinux.xyz/docs/mkdocs-install/", "url": "https://bytes.xerolinux.xyz/docs/mkdocs-install/", "title": "MKDocs Install", "content_html": "

    What's This?

    \n

    This for my own use. Use it if you want to. Just documenting the installation of MKDocs the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for ArchLinux if you don't use that distro, well, their site shows how to install for your distro.

    \n

    \"type:video\"

    \n

    Installing MKDocs

    \n

    We will need to install it with some extras. The 2 main packages exist on the Arch repos. The rest are on the AUR, so to grab everything in one go, I will be using Paru. Compiling might take a while, so sit back wile it finishes.

    \n
    paru -S --noconfirm mkdocs mkdocs-get-deps mkdocs-material python-pipx\n
    \n

    Donce that's done we need to create the site. There's a command for that.

    \n
    mkdocs new my-project\ncd my-project\n
    \n

    Now that we initialized the new site we need to configure it. We do so by editing the mkdocs.yml file putting in the following info :

    \n
    site_name: Sitename\n\ntheme:\n  name: material\n  logo: assets/Tux.gif\n  favicon: assets/favicon.ico\n  palette:\n    scheme: slate\n    primary: deep purple\n  features:\n   - navigation.top\n   - navigation.footer\n   - navigation.indexes\n   - content.code.copy\n   - search.suggest\n   - search.highlight\n   - search.share\n   - navigation.expand\n
    \n

    This will make it use the Slate Material Theme with Deep Purple accents. To know more about the theme check the MKDocs Material Wiki. That's it go from there.

    \n

    Plugins & Extra Stuff

    \n

    I have found a few that I liked on the AUR, let's install them via :

    \n
    paru -S --noconfirm mkdocs-autorefs mkdocs-section-index mkdocs-glightbox mkdocs-backlinks-plugin mkdocs-redirects mkdocs-ezlinks-plugin mkdocs-literate-nav\n
    \n

    For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...

    \n\n
    wget https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz\n
    \n

    Extract & cd into it then run the following command :

    \n
    sudo python setup.py install\n
    \n\n
    git clone https://github.com/Guts/mkdocs-rss-plugin.git\n
    \n

    Now we cd into it then run the following command :

    \n
    sudo python setup.py install\n
    \n

    To activate them we edit the same mkdocs.yml file as before like so :

    \n
    plugins:\n  - rss\n  - social\n  - search\n  - autorefs\n  - glightbox\n
    \n

    There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :

    \n
    markdown_extensions:\n\n  # Python Markdown\n   - abbr\n   - admonition\n   - attr_list\n   - def_list\n   - footnotes\n   - md_in_html\n   - toc:\n      permalink: true\n\n  # Python Markdown Extensions\n   - pymdownx.arithmatex:\n       generic: true\n   - pymdownx.betterem:\n       smart_enable: all\n   - pymdownx.caret\n   - pymdownx.details\n   - pymdownx.emoji:\n      emoji_index: !!python/name:material.extensions.emoji.twemoji\n      emoji_generator: !!python/name:material.extensions.emoji.to_svg\n   - pymdownx.highlight:\n      anchor_linenums: true\n      line_spans: __span\n      pygments_lang_class: true\n   - pymdownx.inlinehilite\n   - pymdownx.keys\n   - pymdownx.mark\n   - pymdownx.smartsymbols\n   - pymdownx.superfences\n   - pymdownx.tabbed:\n       alternate_style: true\n   - pymdownx.tasklist:\n       custom_checkbox: true\n   - pymdownx.tilde\n\nextra:\n  social:\n    - icon: fontawesome/brands/github\n      link: https://github.com/darkxero-dev\n    - icon: fontawesome/brands/youtube\n      link: https://youtube.com/XeroLinuxOfficial\n    - icon: fontawesome/brands/x-twitter\n      link: https://twitter.com/xerolinuxop\n    - icon: fontawesome/brands/mastodon\n      link: https://fosstodon.org/@xerolinux\n
    \n

    That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to @JustAGuyLinux for helping out a little hehe.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/docs/mkdocs-install.png", "date_modified": "2024-09-05T20:40:33+03:00", "authors": [], "tags": ["Blogging", "Linux", "MKDocs"]}, {"id": "https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/", "url": "https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/", "title": "Docker A Love Story", "content_html": "

    What is Docker ?

    \n

    Docker is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.

    \n

    \n \"logo\"\n

    \n\n

    How it all started

    \n

    It all started with Distrobox. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered Docker containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like Immich for images and videos, which would allow me to sync my devices locally rather than with Apple iCloud or Google making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...

    \n

    With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3rd party conglomerates made me fall in love more and more as time went by...

    \n

    My setup so far

    \n

    Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive MY setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.

    \n

    \n \"logo\"\n

    \n\n\n

    To start off, let me tell you what am using for the page you see in the image, it's simply called Homepage. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via YAML configurations files, and that the community behind it are so damn friendly ! Yep, there is no dumb question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their Discord Server.

    \n\n

    As for the File Browser I use to share files between PCs, it's also has a creative name lol, just called FileBrowser, it serves one purpose, browsing files, with ability to upload & download from/to any PC. That's it. It just works nothing else to say about that.

    \n\n

    Hehe, the only reason I called it Xoogle is coz it's Xero + Google, get it ? Anyway, this is using something called Whoogle, weird name I know, loogs damn ugly too. It's just a search engine that uses Google stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of Google the way it was back in the day..

    \n\n

    That's a 3rd-party Bitwarden server-as-a-container, endorsed by them so can be trusted called Vaultwarden. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.

    \n\n

    This one is not for everyone. It uses Zipline. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.

    \n\n

    I am a big fan of comic books, especially the ones from my childhood. This container uses Kavita. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their Discord Server.

    \n\n

    I guess I do not need to explain that one. It's just a docker container for Audiobookshelf. In case you have some Audio books or podcasts. Have fun.

    \n\n

    That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called FreshRSS. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.

    \n\n

    Now, this is one of the big ones, Immich is an amazing image cloud like service. Allowing you to move away from Apple and Google. I love that as I said at the beginning of this long post. They even have companion apps for both Android and iOS which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.

    \n

    You get the idea

    \n

    Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's BIG rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.

    \n\n

    Where to find more containers ?

    \n

    Well, there are many places, but my favorite has to be Selfh.st hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.

    \n

    Closing words

    \n

    Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.

    \n

    Thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ", "image": "https://bytes.xerolinux.xyz/assets/images/social/tech/docker-containers-a-love-story.png", "date_modified": "2024-09-04T23:31:15+03:00", "authors": [], "tags": ["Containers", "Docker", "Linux"]}]} \ No newline at end of file diff --git a/site/feed_rss_updated.xml b/site/feed_rss_updated.xml index b4b3c0c..97a841f 100644 --- a/site/feed_rss_updated.xml +++ b/site/feed_rss_updated.xml @@ -1 +1 @@ - DarkXero's BytesThoughts, Opinions, Documentation, and more...https://bytes.xerolinux.xyz/en Tue, 17 Sep 2024 11:32:30 -0000 Tue, 17 Sep 2024 11:32:30 -0000 60 MkDocs RSS plugin - v1.15.0 https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png DarkXero's Byteshttps://bytes.xerolinux.xyz/ Why Revive XeroLinux ArchLinux Distribution Linux XeroLinux <div class="admonition info"><p class="admonition-title">Info</p><p>This post will explain why I decided to bring back <strong>XeroLinux</strong> and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the <a href="https://wiki.xerolinux.xyz/distro/" target="_blank"><strong>XeroLinux Wiki</strong></a></p></div><h3 id="what-is-xerolinux">What is XeroLinux<a class="headerlink" href="#what-is-xerolinux" title="Permanent link">&para;</a></h3><p>In short, it's just an alternative to the <a href="https://wiki.xerolinux.xyz/plasma/" target="_blank"><strong>Plasma Install Script</strong></a>, making it easier to install <strong>Arch</strong>, bypassing the need for <strong>ArchInstall</strong>. The ISO includes my toolkit as well as my famous <a href="https://wiki.xerolinux.xyz/rice/" target="_blank"><strong>Xero Layan Rice</strong></a> all-in-one shot.</p><p align="center"> <img src="https://i.imgur.com/ejZ1ZQv.png"></p><p>You can use the included <a href="https://wiki.xerolinux.xyz/xlapit/" target="_blank"><strong>Xero Toolkit</strong></a>, 1<sup>st</sup> icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the <a href="https://aur.chaotic.cx" target="_blank"><strong>Chaotic-AUR</strong></a> repository so it's easier for you to install <strong>AUR</strong> packages rather from having to compile them.</p><h3 id="why-is-xerolinux-back">Why is XeroLinux back<a class="headerlink" href="#why-is-xerolinux-back" title="Permanent link">&para;</a></h3><p>To explain why, let me set the stage. As you may already know, I’m going through significant financial difficulties. Living in Lebanon, finding a job—especially a remote one—is extremely challenging, and the situation continues to worsen. I won’t rehash the entire story here, but if you’re not familiar, you can read more about it in this <a href="https://blog.techxero.com/index.php/2024/06/07/actively-looking-for-a-job/" target="_blank"><strong>BlogPost</strong></a>.</p><p>After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro’s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it—and make it a way to sustain myself?</p><p><img alt="type:video" src="https://www.youtube.com/embed/lsYg6-wUWXw" /></p><p>Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the <a href="https://distrowatch.com" target="_blank"><strong>DistroWatch</strong></a> rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!</p><p>That answers the why.</p><h3 id="how-to-get-it">How to get it<a class="headerlink" href="#how-to-get-it" title="Permanent link">&para;</a></h3><p>I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO—a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the <a href="https://xerolinux.xyz/iso/" target="_blank"><strong>Release Post</strong></a></p><p>Now, I know that some of you will say, "But it's FOSS; you shouldn't charge for it." To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the <a href="https://github.com/XeroLinuxDev" target="_blank"><strong>Source Code</strong></a> and do with it as you wish. I am simply charging for my time.</p><p>The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up… well, let's not dwell on that. Let’s focus on keeping it alive and thriving for a long and happy journey together!</p><h3 id="is-it-any-special">Is it any Special<a class="headerlink" href="#is-it-any-special" title="Permanent link">&para;</a></h3><p>This is a common question I get. To be honest, there’s no groundbreaking advantage—it simply provides an easier way to install <strong>Arch</strong> with a polished <strong>KDE</strong> experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.</p><p>Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that <strong>XeroLinux</strong> is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.</p><h3 id="how-to-get-it-for-free">How to get it for free<a class="headerlink" href="#how-to-get-it-for-free" title="Permanent link">&para;</a></h3><p>If you can’t support me financially but still want <strong>XeroLinux</strong>, while the ISO isn't available for free right now, you can still achieve similar results with my <a href="https://xerolinux.xyz/news/xerolinux-plasma/" target="_blank"><strong>PlasmaInstall</strong></a> script, which will always be free of charge. It just requires a bit more elbow grease on your part—that’s all there is to it!</p><h3 id="i-dont-like-arch">I don't like Arch<a class="headerlink" href="#i-dont-like-arch" title="Permanent link">&para;</a></h3><p>In case you don't like <strong>Arch</strong> for whatever reason, but still want to support me, I have put up a <a href="https://shop.xerolinux.xyz" target="_blank"><strong>Merch Store</strong></a> where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.</p><h3 id="private-donations">Private Donations<a class="headerlink" href="#private-donations" title="Permanent link">&para;</a></h3><p>Did you know I have a private fundraiser account? It’s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at <a href="https://fundrazr.com/xerolinux" target="_blank"><strong>FundRazr</strong></a>.</p><p>Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving <strong>XeroLinux</strong>, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn’t been getting much support. Ideally, I’d love to keep these funds separate, but ultimately, it’s your choice.</p><h3 id="wrapping-up">Wrapping up<a class="headerlink" href="#wrapping-up" title="Permanent link">&para;</a></h3><p>That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.</p><p>Thank you to each and everyone for the support.</p>https://bytes.xerolinux.xyz/projects/why-is-distro-back/ Tue, 17 Sep 2024 14:08:54 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/why-is-distro-back/ XeroLinux Channel ArchLinux Linux XeroLinux YouTube <h3 id="youtube-channel">YouTube Channel ?<a class="headerlink" href="#youtube-channel" title="Permanent link">&para;</a></h3><p>Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, <strong>Nice!</strong>.</p><p>But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.</p><h3 id="what-now-xero">What now Xero ?<a class="headerlink" href="#what-now-xero" title="Permanent link">&para;</a></h3><p>Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since <strong>YouTube</strong> and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.</p><h3 id="whats-the-catch">What's the Catch ?<a class="headerlink" href="#whats-the-catch" title="Permanent link">&para;</a></h3><p>This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the <a href="https://ko-fi.com/XeroLinux" target="_blank"><strong>XeroLinux Ko-Fi</strong></a> fundraiser for the forseeable future.</p><p>Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to <em>donate</em>, however would be highly appreciated if you do.</p><h3 id="future-plans">Future Plans<a class="headerlink" href="#future-plans" title="Permanent link">&para;</a></h3><p>When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.</p><p>Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.</p><p>Anyways, thanks again for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p>https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ Tue, 17 Sep 2024 13:41:54 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ ArchISO Build ArchISO ArchLinux Linux <h3 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h3><p>This guide was written by following the <strong>ArchWiki</strong>. It's for my own use. The public version can be found on the official <a href="https://xerolinux.xyz/posts/build-archiso/" target="_blank"><strong>XeroLinux</strong></a>. This version will always be updated. Sometimes need to remind myself which files to modify...</p><p align="center"> <img src="https://i.imgur.com/QWqMIsr.png" alt="logo"></p><h3 id="lets-do-this">Let's do this 🚀<a class="headerlink" href="#lets-do-this" title="Permanent link">&para;</a></h3><p>First off we need to grab a few packages in order to be able to build the ISO.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo<span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>archiso</span></code></pre></div><p>Now we need create two folders in our home directory or anywhere else, up to you, one called <code>XeroWork</code> for placing extracted files, another called <code>XeroOut</code> where final ISO will be located.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>mkdir<span class="w"> </span>~/XeroWork<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>mkdir<span class="w"> </span>~/XeroOut</span></code></pre></div><p>Modify the <code>packages.x86_64</code> inside <code>releng</code> folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new &amp; updated <strong>ArchISO</strong>. Just use the command below and watch the magic happen.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo<span class="w"> </span>mkarchiso<span class="w"> </span>-v<span class="w"> </span>-w<span class="w"> </span>~/XeroWork<span class="w"> </span>-o<span class="w"> </span>~/XeroOut<span class="w"> </span>/usr/share/archiso/configs/releng</span></code></pre></div><p>Finally we can delete the work directory to save space. just do <code>sudo rm -rf ~/XeroWork/</code>.</p><p>That's it !</p>https://bytes.xerolinux.xyz/docs/build-archiso/ Tue, 17 Sep 2024 13:23:32 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/build-archiso/ Affinity on Linux Affinity Linux Photoshop <div class="admonition warning"><p class="admonition-title">Warning</p><p>I am aware that these apps are what's called "<strong>Proprietary</strong>" and require us to purchase a one-time <em>License</em> in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.</p></div><h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the installation of <a href="https://affinity.serif.com/en-us/" target="_blank"><strong>Affinity Apps</strong></a> on <strong>Linux</strong> with the help of some scripts I found thanks to <a href="https://github.com/Twig6943" target="_blank"><strong>Twig6943</strong></a> who went out of his way to create them.</p><p align="center"> <img src="https://i.imgur.com/MABHj31.jpeg"></p><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>First we will need to download the <a href="https://store.serif.com/update/windows/photo/2/" target="_blank"><strong>Photo</strong></a>, <a href="https://store.serif.com/update/windows/designer/2/" target="_blank"><strong>Designer</strong></a> or <a href="https://store.serif.com/update/windows/publisher/2/" target="_blank"><strong>Publisher</strong></a> <code>exe</code> from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a <strong>Discreet GPU</strong> is highly recommended for Hardware Acceleration &amp; good performance.</p><div class="admonition note"><p class="admonition-title">Note</p><p>Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required <a href="https://github.com/Twig6943/AffinityOnLinux/blob/main/Guide/Guide.md#required-dependencies" target="_blank"><strong>Dependencies</strong></a></p></div><p align="center"> <img src="https://i.imgur.com/YPXV9bc.png"></p><ul><li><a href="https://affinity.serif.com/en-gb/photo/?#top" target="_blank"><strong>Affinity Photo</strong></a></li></ul><p>Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><ul><li><a href="https://affinity.serif.com/en-us/designer/?#top" target="_blank"><strong>Affinity Designer</strong></a></li></ul><p>Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><ul><li><a href="https://affinity.serif.com/en-us/designer/?#top" target="_blank"><strong>Affinity Publisher</strong></a></li></ul><p>Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><h3 id="wrap-up">Wrap up<a class="headerlink" href="#wrap-up" title="Permanent link">&para;</a></h3><div class="admonition tip"><p class="admonition-title">Tip</p><p>Check the <a href="https://github.com/Twig6943/AffinityOnLinux/blob/main/Guide/Guide.md" target="_blank"><strong>Written Guide</strong></a> if you prefer doing it manually. Also the author posted his scripts on the <strong>Affinity</strong>'s forums, who knows maybe in the future a <strong>Linux</strong> native version ? Let's all cross our fingers 🤞</p></div><p>That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to <strong>Photoshop</strong> I have ever gotten, without having to go through <em>WinBlows</em> if ya know what I mean.</p><p>Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.</p>https://bytes.xerolinux.xyz/docs/affinity-linux/ Tue, 17 Sep 2024 13:17:33 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/affinity-linux/ 🏠Home <h1 id="welcome">Welcome<a class="headerlink" href="#welcome" title="Permanent link">&para;</a></h1><div class="admonition info"><p class="admonition-title">Info</p><p>All the documentation found herein, will be for <strong>ArchLinux</strong> since that's the distro I use. Some will be general <strong>Linux</strong> ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.</p></div><p>Welcome to <strong>DarkXero's Bytes</strong> ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the <a href="https://xerolinux.xyz" target="_blank"><strong>XeroLinux</strong></a> main site.</p><p align="center"> <img src="https://i.imgur.com/ZAvPAkx.png" alt="logo"></p><p>Documenting my learning journey has become an essential part of my <strong>Linux</strong> experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.</p><p align="center"> <img src="https://i.imgur.com/TgVQf9z.png" alt="ArchPorn"></p>https://bytes.xerolinux.xyz/ Tue, 17 Sep 2024 13:08:59 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/ Reset Password Linux Recovery Reset <h3 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h3><p>I have lost my root pass on <strong>Linux</strong> more times than I can count. This guide is here so I do not have to <em>Google</em> it lol. Might be useful to you I dunno. But it's here.</p><p align="center"> <img src="https://i.imgur.com/VFXV09r.jpeg"></p><h3 id="lets-do-this">Let's do this 🚀<a class="headerlink" href="#lets-do-this" title="Permanent link">&para;</a></h3><p>How to reset forgotten root password in a <strong>GNU/Linux</strong> distribution with <code>GRUB</code>?</p><p>If this is a laptop or a desktop which you have next to you then follow these steps.</p><ol><li>Shut down the device.</li><li>Start it again. When you see GRUB menu, press the <code>e</code> key on the keyboard before the system starts booting.</li><li>In the <code>GRUB</code> boot options, scroll down and locate the line that begins with <code>linux</code>. In this line move the cursor to the end, right after <code>ro quiet</code>. Delete everything after that. Change <code>ro</code> to <code>rw</code>. Append the parameter <code>init=/bin/bash</code></li><li>Press Ctrl+x, or F10, to boot.</li><li>You will see a root prompt.</li></ol><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>:#</span></code></pre></div><p>Remount the filesystem in read/write mode:</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>:#<span class="w"> </span>mount<span class="w"> </span>-no<span class="w"> </span>remount,rw<span class="w"> </span>/</span></code></pre></div><ol><li>Set the password of any user(s).</li></ol><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>:#<span class="w"> </span>passwd<span class="w"> </span>joe</span></code></pre></div><ol><li>Reboot with the command <code>reboot -f</code>.</li></ol><p>That's it ! The new password should work now.</p>https://bytes.xerolinux.xyz/docs/passwd-reset/ Tue, 17 Sep 2024 12:47:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/passwd-reset/ FFmpeg Cheat Sheet CheatSheet FFmpeg Linux <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the use of <a href="https://www.ffmpeg.org/ffmpeg.html" target="_blank"><strong>FFmpeg</strong></a> on <strong>Linux</strong>.</p><p align="center"> <img src="https://i.imgur.com/TweW8fW.png"></p><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>First we will need to install <code>FFmpeg</code>. I will be doing it on <strong>ArchLinux</strong> since that's what I use. Look for packages on your distro if you don't use it.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo<span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>--needed<span class="w"> </span>ffmpeg<span class="w"> </span>ffmpegthumbnailer<span class="w"> </span>ffmpegthumbs<span class="w"> </span>qt6-multimedia-ffmpeg</span></code></pre></div><p>Now that we have it, it's time for the cheat sheet.</p><hr /><h1 align="center">.// The Cheat Sheet \\.</h1><h2 id="basic-conversion">Basic conversion<a class="headerlink" href="#basic-conversion" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>ffmpeg -i in.mp4 out.avi</span></code></pre></div><h3 id="remux-an-mkv-file-into-mp4">Remux an MKV file into MP4<a class="headerlink" href="#remux-an-mkv-file-into-mp4" title="Permanent link">&para;</a></h3><div class="language-text highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4</span></code></pre></div><h3 id="high-quality-encoding">High-quality encoding<a class="headerlink" href="#high-quality-encoding" title="Permanent link">&para;</a></h3><p>Use the <code>crf</code> (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to <code>-crf 18</code>. Use the <code>preset</code> parameter to control the speed of the compression process. <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" target="_blank"><strong>Additional info</strong></a>.</p><div class="language-text highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4</span></code></pre></div><h2 id="trimming">Trimming<a class="headerlink" href="#trimming" title="Permanent link">&para;</a></h2><p>Without re-encoding:<div class="language-text highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4</span></code></pre></div>- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-ss</code></a> specifies the start time, e.g. <code>00:01:23.000</code> or <code>83</code> (in seconds)- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-t</code></a> specifies the duration of the clip (same format).- Recent <code>ffmpeg</code> also has a flag to supply the end time with <code>-to</code>.- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-c</code></a> copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.</p><p>With re-encoding:</p><p>If you leave out the <code>-c copy</code> option, <code>ffmpeg</code> will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the <a href="https://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide" target="_blank"><strong>x264 Encoding Guide</strong></a> and the <a href="http://ffmpeg.org/trac/ffmpeg/wiki/AACEncodingGuide" target="_blank"><strong>AAC Encoding Guide</strong></a>, respectively.</p><p>For example:<div class="language-text highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4</span></code></pre></div></p><h2 id="mux-video-and-audio-from-another-video">Mux video and audio from another video<a class="headerlink" href="#mux-video-and-audio-from-another-video" title="Permanent link">&para;</a></h2><p>To copy the video from in0.mp4 and audio from in1.mp4:<div class="language-text highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4</span></code></pre></div>- With <a href="http://ffmpeg.org/ffmpeg.html#Stream-copy" target="_blank">-c copy</a> the streams will be <code>stream copied</code>, not re-encoded, so there will be no quality loss. If you want to re-encode, see <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" target="_blank"><strong>FFmpeg Wiki: H.264 Encoding Guide</strong></a>.- The <code>-shortest</code> option will cause the output duration to match the duration of the shortest input stream.- See the <a href="http://ffmpeg.org/ffmpeg.html#Advanced-options" target="_blank"><code>-map</code> option documentation</a> for more info.</p><h2 id="concat-demuxer">Concat demuxer<a class="headerlink" href="#concat-demuxer" title="Permanent link">&para;</a></h2><p>First, make a text file.<div class="language-text highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>file &#39;in1.mp4&#39;</span><span id="__span-7-2"><a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>file &#39;in2.mp4&#39;</span><span id="__span-7-3"><a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a>file &#39;in3.mp4&#39;</span><span id="__span-7-4"><a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a>file &#39;in4.mp4&#39;</span></code></pre></div>Then, run <code>ffmpeg</code>:<div class="language-text highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>ffmpeg -f concat -i list.txt -c copy out.mp4</span></code></pre></div></p><h2 id="delay-audiovideo">Delay audio/video<a class="headerlink" href="#delay-audiovideo" title="Permanent link">&para;</a></h2><p>Delay video by 3.84 seconds:<div class="language-text highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4</span></code></pre></div>Delay audio by 3.84 seconds:<div class="language-text highlight"><pre><span></span><code><span id="__span-10-1"><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4</span></code></pre></div></p><h2 id="burn-subtitles">Burn subtitles<a class="headerlink" href="#burn-subtitles" title="Permanent link">&para;</a></h2><p>Use the <a href="http://ffmpeg.org/ffmpeg.html#ass" target="_blank">libass</a> library (make sure your ffmpeg install has the library in the configuration <code>--enable-libass</code>).</p><p>First convert the subtitles to .ass format:<div class="language-text highlight"><pre><span></span><code><span id="__span-11-1"><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>ffmpeg -i sub.srt sub.ass</span></code></pre></div>Then add them using a video filter:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-12-1"><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4</span></code></pre></div><h2 id="extract-the-frames-from-a-video">Extract the frames from a video<a class="headerlink" href="#extract-the-frames-from-a-video" title="Permanent link">&para;</a></h2><p>To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-13-1"><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>ffmpeg -i in.mp4 -vf select=&#39;between(t,1,5)+between(t,11,15)&#39; -vsync 0 out%d.png</span></code></pre></div><p>To extract one frame per second only:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-14-1"><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png</span></code></pre></div><h2 id="rotate-a-video">Rotate a video<a class="headerlink" href="#rotate-a-video" title="Permanent link">&para;</a></h2><p>Rotate 90 clockwise:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-15-1"><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>ffmpeg -i in.mov -vf &quot;transpose=1&quot; out.mov</span></code></pre></div><p>For the transpose parameter you can pass:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-16-1"><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>0 = 90CounterCLockwise and Vertical Flip (default)</span><span id="__span-16-2"><a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>1 = 90Clockwise</span><span id="__span-16-3"><a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a>2 = 90CounterClockwise</span><span id="__span-16-4"><a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a>3 = 90Clockwise and Vertical Flip</span></code></pre></div><p>Use <code>-vf "transpose=2,transpose=2"</code> for 180 degrees.</p><h2 id="download-transport-stream-video-streams">Download "Transport Stream" video streams<a class="headerlink" href="#download-transport-stream-video-streams" title="Permanent link">&para;</a></h2><ol><li>Locate the playlist file, e.g. using Chrome &gt; F12 &gt; Network &gt; Filter: m3u8</li><li>Download and concatenate the video fragments:</li></ol><div class="language-text highlight"><pre><span></span><code><span id="__span-17-1"><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>ffmpeg -i &quot;path_to_playlist.m3u8&quot; -c copy -bsf:a aac_adtstoasc out.mp4</span></code></pre></div><p>If you get a "Protocol 'https not on whitelist 'file,crypto'!" error, add the <code>protocol_whitelist</code> option:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-18-1"><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>ffmpeg -protocol_whitelist &quot;file,http,https,tcp,tls&quot; -i &quot;path_to_playlist.m3u8&quot; -c copy -bsf:a aac_adtstoasc out.mp4</span></code></pre></div><h2 id="mute-some-of-the-audio">Mute some of the audio<a class="headerlink" href="#mute-some-of-the-audio" title="Permanent link">&para;</a></h2><p>To replace the first 90 seconds of audio with silence:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-19-1"><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>ffmpeg -i in.mp4 -vcodec copy -af &quot;volume=enable=&#39;lte(t,90)&#39;:volume=0&quot; out.mp4</span></code></pre></div><p>To replace all audio between 1'20" and 1'30" with silence:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-20-1"><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>ffmpeg -i in.mp4 -vcodec copy -af &quot;volume=enable=&#39;between(t,80,90)&#39;:volume=0&quot; out.mp4</span></code></pre></div><h2 id="deinterlace">Deinterlace<a class="headerlink" href="#deinterlace" title="Permanent link">&para;</a></h2><p>Deinterlacing using "yet another deinterlacing filter".</p><div class="language-text highlight"><pre><span></span><code><span id="__span-21-1"><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>ffmpeg -i in.mp4 -vf yadif out.mp4</span></code></pre></div><h2 id="create-a-video-slideshow-from-images">Create a video slideshow from images<a class="headerlink" href="#create-a-video-slideshow-from-images" title="Permanent link">&para;</a></h2><p>Parameters: <code>-r</code> marks the image framerate (inverse time of each image); <code>-vf fps=25</code> marks the true framerate of the output.</p><div class="language-text highlight"><pre><span></span><code><span id="__span-22-1"><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4</span></code></pre></div><h2 id="extract-images-from-a-video">Extract images from a video<a class="headerlink" href="#extract-images-from-a-video" title="Permanent link">&para;</a></h2><ul><li>Extract all frames: <code>ffmpeg -i input.mp4 thumb%04d.jpg -hide_banner</code></li><li>Extract a frame each second: <code>ffmpeg -i input.mp4 -vf fps=1 thumb%04d.jpg -hide_banner</code></li><li>Extract only one frame: <code>ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 thumb.jpg</code></li></ul><h2 id="display-the-frame-number-on-each-frame">Display the frame number on each frame<a class="headerlink" href="#display-the-frame-number-on-each-frame" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-23-1"><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>ffmpeg -i in.mov -vf &quot;drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72&quot; -y out.mov</span></code></pre></div><h2 id="metadata-change-the-title">Metadata: Change the title<a class="headerlink" href="#metadata-change-the-title" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-24-1"><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>ffmpeg -i in.mp4 -map_metadata -1 -metadata title=&quot;My Title&quot; -c:v copy -c:a copy out.mp4</span></code></pre></div><h3 id="wrap-up">Wrap up<a class="headerlink" href="#wrap-up" title="Permanent link">&para;</a></h3><p>That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.</p>https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ Tue, 17 Sep 2024 12:36:31 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ Cosmic Install Script ArchLinux CosmicDE Linux XeroLinux <h2 align="center">.//Updated on Sep. 15th 2024\\.</h2><div class="admonition info"><p class="admonition-title">Info</p><p>This project has moved to the <a href="https://wiki.xerolinux.xyz/cosmic/" target="_blank"><strong>XeroLinux Wiki</strong></a>. Will keep this page around for updates. Keep in mind it's in <strong>Alpha</strong>.</p></div><h3 id="script-info">Script info<a class="headerlink" href="#script-info" title="Permanent link">&para;</a></h3><p>Well, it does what title says, it installs <strong>Cosmic</strong> in one of 3 ways, similar to how my <a href="https://xerolinux.xyz/news/xerolinux-plasma/" target="_blank"><strong>Plasma Install</strong></a> script does.</p><ul><li><strong>Complete</strong> : Installs Cosmic from Extra Repos.</li><li><strong>Selective</strong> : Select pkgs you want yourselves.</li><li><strong>Development</strong> : Commit-based Install -DANGER-.</li></ul><p align="center"> <img src="https://i.imgur.com/Fvl9uRU.png"></p><p>Included are some useful packages, like a freaking web browser eg. <strong>Firefox</strong>, an archive manager, <strong>Meld</strong> and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official <strong>Arch Repositories</strong> are supported, none from the <strong>AUR</strong>.</p><h3 id="wrapping-up">Wrapping up<a class="headerlink" href="#wrapping-up" title="Permanent link">&para;</a></h3><p><strong>Cosmic</strong> is shaping up to be the DE that <em>might</em> break the current <em>Top 2</em> (KDE and Gnome) making it the <em>Top 3</em> DEs of all time. Who knows ? I wish the <strong>System76</strong> team all the best.</p><p>Cheers !</p>https://bytes.xerolinux.xyz/projects/cosmic-script/ Mon, 16 Sep 2024 12:53:29 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/cosmic-script/ My Cosmic Experience ArchLinux Cosmic Linux <div class="admonition note"><p class="admonition-title">Note</p><p>Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.</p></div><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>The <a href="https://xerolinux.xyz/posts/arch-cosmic/" target="_blank"><strong>Cosmic DE</strong></a> hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.</p><p align="center"> <img src="https://i.imgur.com/Fvl9uRU.png"></p><p>Since I am an avid <strong>ArchLinux</strong> user, that's how I installed it. I did not use the <strong>Pop!_OS 24.04 LTS alpha</strong> ISO from &gt;&gt; <a href="https://system76.com/cosmic" target="_blank"><strong>Cosmic Downloads</strong></a>. So my views come from there. So I cannot compare.</p><p>Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the <strong>ArchInstall</strong> profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.</p><p>Now on to the more detailed things I have done to install <strong>Cosmic</strong>. I first installed <strong>Arch Minimal</strong> using the <strong>ArchInstall</strong> script, meaning that I avoided the profiles, &amp; drivers sections completely, I always choose <code>Grub</code> as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in <code>chroot</code> I installed the DE the following way, knowing that, we can skip the use of <code>sudo</code> since we are still logged in as root...</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>pacman<span class="w"> </span>-Syy<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>cosmic<span class="w"> </span>linux-headers<span class="w"> </span>pacman-contrib<span class="w"> </span>xdg-user-dirs<span class="w"> </span>power-profiles-daemon<span class="w"> </span>wayland-protocols<span class="w"> </span>wayland-utils</span></code></pre></div><p align="center"> <img src="https://i.imgur.com/tR8WJJI.png"></p><p>Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because <a href="https://archlinux.org/packages/?sort=&amp;q=cosmic&amp;maintainer=&amp;flagged=" target="_blank"><strong>cosmic</strong></a> is not a single one, it's a <em>Group</em> of packages or a <em>meta-package</em> as it is known as. That said, the reason I installed <code>linux-headers</code> is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially <code>xdg-user-dirs</code> without which no <code>Documents, Pictures, Videos...</code> folders will be created. Strange I know.</p><p>What I also found weird, is the fact that <code>cosmic-greeter</code> service was not being enabled after install which was netting me a boot to <code>TTY</code> session. So I had to enable it while at the same time generating the <code>user-dirs</code> via...</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>cosmic-greeter.service<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>xdg-user-dirs-update</span></code></pre></div><p>Keep in mind that I am doing all this while still in <code>chroot</code> post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.</p><h3 id="experience">Experience<a class="headerlink" href="#experience" title="Permanent link">&para;</a></h3><p>Now on to what y'all came here for. All was good, well sorta, system rebooted into <code>Grub</code>, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some <code>TTY dmsg</code> errors, flickering on and off. But after a few seconds I finally saw the <strong>Cosmic Greeter</strong> login screen, relief finally.</p><p align="center"> <img src="https://i.imgur.com/TPjWMjR.png"></p><p>I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an <strong>nVidia</strong> user, I thought could be a driver issue since on first boot it uses the not so great <code>nouveau</code> ones. That's why my first reflex was to install them, so I did.</p><p align="center"> <img src="https://i.imgur.com/VotUyBS.jpeg"></p><p>After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about <code>EGL drm</code> crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?</p><p>As it turns out I had forgotten to include the <code>nVidia drm kernel modules</code> lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span><span class="s1">&#39;/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/&#39;</span><span class="w"> </span>/etc/mkinitcpio.conf</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>sudo<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>nvidia-suspend.service<span class="w"> </span>nvidia-hibernate.service<span class="w"> </span>nvidia-resume.service<span class="w"> </span>nvidia-powerd.service</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nb">echo</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02&#39;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>-a<span class="w"> </span>/etc/modprobe.d/nvidia.conf</span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="nb">echo</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;options nvidia_drm modeset=1 fbdev=1&#39;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>-a<span class="w"> </span>/etc/modprobe.d/nvidia.conf<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>sudo<span class="w"> </span>mkinitcpio<span class="w"> </span>-P</span></code></pre></div><p>After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like <strong>XFCE</strong>. Fired up <code>top</code> to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than <strong>KDE Plasma</strong> ! Nice !</p><p>Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run <code>nmtui</code> and deactivate it from there making sure it doesn't automatically reconnect on login.</p><p>Now on to the <code>System Settings</code>. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..</p><p>That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.</p><p>Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean <strong>Cosmic-Notes</strong> was there, just not handling documents...</p><p>I try to right-click &gt; open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself "It's Alpha Software, calm down Steve".</p><p>To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a <code>CLI</code> and no default app set ? I dunno.</p><p>Finally I decided to try out the thing that almost everyone's raving about, <strong>Tiling/Stacking</strong>. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...</p><p>That's where I gave up and decided to go back home to <strong>KDE Plasma</strong>.</p><h3 id="final-words">Final words<a class="headerlink" href="#final-words" title="Permanent link">&para;</a></h3><p>Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.</p><p>It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.</p><p>I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. <strong>Cosmic</strong> has come a long way in such a short time. I mean, writing a DE from scratch using <strong>Rust</strong> a sorta new programming language is no easy feat.</p><p>I will end the post by congratulating the <strong>System76</strong> dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a <strong>XeroCosmic</strong> to the family.. Just don't hold your breath on that, it ain't set in stone.</p>https://bytes.xerolinux.xyz/tech/cosmic-experience/ Thu, 12 Sep 2024 12:16:04 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/tech/cosmic-experience/ Developing is fun Developer Development Linux <h3 id="am-i-a-developer">Am I a Developer ?<a class="headerlink" href="#am-i-a-developer" title="Permanent link">&para;</a></h3><p>Lol, yeah, I know—it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code—specifically <strong>Bash</strong>. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.</p><p><img alt="type:video" src="https://www.youtube.com/embed/8_K-NOu-STs" /></p><p>And if it does work, I'm happy and share the result with the <strong>FOSS</strong> community.</p><h3 id="its-fun-until">It's fun until...<a class="headerlink" href="#its-fun-until" title="Permanent link">&para;</a></h3><p>Doing this is super fun and fulfilling—until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.</p><p>Now, I know I can reach out to the <strong>FOSS</strong> community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.</p><p>Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere—not just in <strong>FOSS</strong>. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.</p><p>Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.</p><h3 id="sharing-is-caring">Sharing is caring<a class="headerlink" href="#sharing-is-caring" title="Permanent link">&para;</a></h3><p>This is the part where I say: please, don't keep your work to yourself. Share it with the community—who knows, maybe you'll find someone who can help take your project to another level.</p><p>I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.</p><p>"Sharing is caring," as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)</p>https://bytes.xerolinux.xyz/priv/developing-is-fun-but/ Fri, 06 Sep 2024 15:15:59 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/developing-is-fun-but/ FOSS Fundraising ArchLinux Fundraising Linux <h3 id="backstory">Backstory<a class="headerlink" href="#backstory" title="Permanent link">&para;</a></h3><p>Before I begin, I would like to clarify that, when I say <strong>Linux</strong> in this context I mean <strong>Desktop Linux</strong>.</p><p>When I started this whole <strong>Linux</strong> endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with <a href="https://kde.org" target="_blank"><strong>KDE Plasma</strong></a> while using the now infamous <a href="https://manjaro.org" target="_blank"><strong>Manjaro</strong></a> Distrobution. Yes, this is when I got hooked to <strong>Linux</strong>. Now don't get me wrong, I have since tried many DEs and WMs. But alas only <strong>KDE Plasma</strong> answered my needs.</p><p>Since then I started getting the urge to build my own <em>Distro</em> my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called <a href="https://arcolinux.info" target="_blank"><strong>ArcoLinux</strong></a>. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro <a href="https://archlinux.org" target="_blank"><strong>ArchLinux</strong></a>.</p><h3 id="fundraising">Fundraising<a class="headerlink" href="#fundraising" title="Permanent link">&para;</a></h3><p>Now we get to the meat and potatoes of this post, why ask for money when it's <strong>FOSS</strong> ? Well in case you did not know, the <em>Free</em> in <em>Free Open Source</em> does <strong>NOT</strong> mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our <strong>TIME</strong>.</p><p>Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a <em>real</em> job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.</p><p>Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the <em>Fundraising</em> or <em>Donation</em> methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the <strong>Donate</strong> button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)</p><h3 id="hate-in-foss">Hate in FOSS<a class="headerlink" href="#hate-in-foss" title="Permanent link">&para;</a></h3><p>Now let's address the <em>other</em> elephant in the room, the hate in the <strong>FOSS</strong> community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word <em>Free</em> in <em>Free Open Source</em>. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they <em>despise</em> others, the ones we call <em>Protest Distros</em>. Now am not going to name any names here, but the longer this goes on, the slower <strong>Linux</strong> will grow.</p><p>So if you love <strong>Linux</strong> as much as you say you do, please help your favorite projects grow in any way shape or form, either <em>Donating</em> for financial support if you can and are not a developer, or by simply <em>Reporting Issues</em> upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.</p><p>Anyways, thanks for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p><p>See ya there</p>https://bytes.xerolinux.xyz/fund/foss-fundraising/ Fri, 06 Sep 2024 13:03:43 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/fund/foss-fundraising/ GPU &/or CPU Fund ArchLinux Fundraising Hardware Linux Upgrade <h4 id="whats-this">What's this ?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h4><p>My PC could really use an upgrade. I’m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the <strong>CPU</strong> and <strong>GPU</strong>. With the <strong>XeroLinux</strong> Distro not coming back anytime soon, it’s crucial to put funds towards these upgrades where they truly matter.</p><p align="center"> <img width="600" src="https://i.imgur.com/sy5D8T0.png" alt="logo"></p><p>As you can see from image above, the <strong>GTX 1080</strong> (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As <em>nVidia</em> just announced it's going full Open-Source. You can read more on &gt;&gt; <a href="https://www.phoronix.com/news/NVIDIA-Transitions-OSS-KMD" target="_blank"><strong>This Article</strong></a></p><h4 id="what-cpu">What CPU ?<a class="headerlink" href="#what-cpu" title="Permanent link">&para;</a></h4><p>Well, I’m not looking for much. For the CPU, I’m considering an upgrade to either the <a href="https://www.lebanonstores.com/shop-1/amd-ryzen-7-5800x3d-socket-am4" target="_blank"><strong>Ryzen 7 5800X3D</strong></a> valued at $330 or the <a href="https://global.microless.com/product/amd-ryzen-9-5950x-16-core-3-4-ghz-socket-am4-105w-desktop-processor-100-100000059wof/" target="_blank"><strong>Ryzen 9 5950X</strong></a> valued at $452. Honestly, it doesn’t matter which one—I just need that extra boost for compiling stuff.</p><p><img alt="type:video" src="https://www.youtube.com/embed/4IJCsxeCJ6o" /></p><h4 id="what-gpu">What GPU ?<a class="headerlink" href="#what-gpu" title="Permanent link">&para;</a></h4><p>That’s where things get a bit tricky. I’m still undecided between sticking with <strong>nVidia</strong> or switching to <strong>AMD</strong>. I am currently torn between the two. Now, I know most of you would recommend <strong>AMD</strong> because it’s hassle-free on <strong>Linux</strong>—and you’d be right. But as a content creator who relies on <a href="https://docs.nvidia.com/cuda/" target="_blank"><strong>Cuda</strong></a> and <strong>nVidia</strong>'s <a href="https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/" target="_blank"><strong>nVenc Encoder</strong></a>, I’m leaning towards sticking with nVidia.</p><p><img alt="type:video" src="https://www.youtube.com/embed/0VbzHckdHNE" /></p><p>However, if I do decide to switch to Team Red, I’d go for the <a href="https://www.lebanonstores.com/shop-1/amd-radeon-rx-6950xt-16gb" target="_blank"><strong>RX 6950XT</strong></a> currently valued at $400 here. Otherwise, if I stay with Team-Green, it’s going to be the <a href="https://www.lebanonstores.com/shop-1/rtx-3090-msi-suprim-x-24gb" target="_blank"><strong>RTX 3090</strong></a> valued at $595.</p><h4 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h4><p>Upgrading the <strong>GPU</strong> is my top priority right now, as it will make the most significant impact. My current <strong>GTX 1080</strong> is nearing its end-of-life, and I can manage with my <strong>Ryzen 5 3600X</strong> for a bit longer. So, if you can help me raise enough funds to upgrade the <strong>GPU</strong> and stay ahead in the <strong>Linux</strong> world, I’d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.</p><p>Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we’ll reach the goal in no time. Your support means the world to me, and it’ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.</p><p><center><script type='text/javascript' src='https://storage.ko-fi.com/cdn/widget/Widget_2.js'></script><script type='text/javascript'>kofiwidget2.init('Support Me on Ko-fi', '#9d28e0', 'I2I4K55AA');kofiwidget2.draw();</script></center></p>https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ Fri, 06 Sep 2024 13:03:43 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ Linux in a Nutshell Kernel Linux Packages <p>I thought I'd share this explanation about <strong>Linux</strong> a good friend and fellow Linux enthusiast <a href="https://github.com/REALERvolker1" target="_blank"><strong>REALERvolker1</strong></a> recently posted on <strong>Discord</strong>.</p><div class="admonition tip"><p class="admonition-title">Tip</p><p>The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various <em>Desktop Environments</em> or <em>Window Managers</em>. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...</p></div><h3 id="what-is-linux">What is Linux ?<a class="headerlink" href="#what-is-linux" title="Permanent link">&para;</a></h3><p>Since not everyone's super familiar with Linux, here's a quick crash course.</p><p>Linux is a <a href="https://en.wikipedia.org/wiki/Monolithic_kernel#:~:text=A%20monolithic%20kernel%20is%20an,virtual%20interface%20over%20computer%20hardware." target="_blank"><strong>Monolithic Kernel</strong></a>, so all the drivers and whatnot are compiled into the binary. The <a href="https://www.fsf.org/about/what-is-free-software" target="_blank"><strong>Nonfree software</strong></a> is usually put in the actual source repo as binary blobs, or in the case of <strong>nVidia</strong> drivers, built using a system called <a href="https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support" target="_blank"><strong>DKMS</strong></a> and compiled into the kernel binary.</p><p>Once the computer boots up, an init process is started (the default is <code>/sbin/init</code>, usually a symlink to your init system), which is <code>PID 1</code>. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having <em>too</em> much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.</p><p>Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being <a href="https://en.wikipedia.org/wiki/POSIX" target="_blank"><strong>POSIX</strong></a> compliant, and not really caring about file extensions.</p><p align="center"> <img width="600" src="https://i.imgur.com/Mu7NHx9.png" alt="logo"></p><h3 id="distros-pkg-managers">Distros &amp; PKG Managers<a class="headerlink" href="#distros-pkg-managers" title="Permanent link">&para;</a></h3><p>On <a href="https://www.debian.org" target="_blank"><strong>Debian</strong></a>, you install packages with <code>apt</code>. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a <em>GUI</em> frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the <a href="https://wiki.debian.org/DontBreakDebian" target="_blank"><strong>Debian Wiki</strong></a> is pretty mid, but the <a href="https://wiki.archlinux.org" target="_blank"><strong>Arch Wiki</strong></a> is amazing.</p><p>Since <a href="https://archlinux.org" target="_blank"><strong>Arch Linux</strong></a> aims to be the most generic <em>Linux distro</em> ever, information written for it should also help with <strong>Debian</strong>, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:</p><ul><li><strong>Flatpak:</strong> Sandboxed apps that "just work" on every distribution.</li><li><strong>Snap:</strong> <em>Ubuntu</em>'s sandboxed apps that are supposed to work on every distribution but have had mixed results.</li><li><strong>AppImages:</strong> These are like <code>.exe</code> files on <strong>Windows</strong>, but they require adding executable permissions and manually launching them. They also won't have a desktop entry by default.</li></ul><h3 id="filesystem-updates">Filesystem &amp; Updates<a class="headerlink" href="#filesystem-updates" title="Permanent link">&para;</a></h3><p>If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not—it might fix a bug.</p><p>As for the filesystem:</p><ul><li><code>/etc</code> is where your Editable Text Configurations go.</li><li><code>/usr</code> is where program files go.</li><li><code>/usr/local</code> is where program files go for programs you manually installed.</li><li><code>/home</code> is where your personal files go.</li><li><code>/dev</code> is for device files.</li><li>There is no <code>C</code> or <code>D</code> drive; instead, you mount external drives to a location, like <code>/mnt</code>. A GUI file manager mounts flash drives somewhere in <code>/run</code> since it is temporary.</li><li><code>/opt</code> is where miscellaneous stuff goes.</li><li><code>/var</code> is for variable data like system logs.</li><li><code>/tmp</code> is for temporary files.</li><li><code>/dev/null</code> is a "black hole" for data you want to discard.</li><li><code>/dev/urandom</code> is an IO-based random number generator.</li></ul><p>In <a href="https://en.wikipedia.org/wiki/Unix" target="_blank"><strong>UNIX</strong></a>, everything is a file. This means you can:</p><ul><li>See process details by reading files in <code>/proc</code>.</li><li>Check system settings or driver configurations in <code>/sys</code>.</li><li>View your bootloader in <code>/boot</code>.</li></ul><h3 id="wrapping-it-all-up">Wrapping it all up<a class="headerlink" href="#wrapping-it-all-up" title="Permanent link">&para;</a></h3><p>This was a quick run-through explaining what <strong>GNU/Linux</strong> is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.</p>https://bytes.xerolinux.xyz/docs/linux-explained/ Fri, 06 Sep 2024 12:06:17 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/linux-explained/ SUMMARY <ul><li><a href="../">🏠Home</a></li><li><a href="/docs/">🗒️Documentation</a></li><li><a href="/fund/">💰Fundraising</a></li><li><a href="/priv/">🗨️Thoughts</a></li><li><a href="/projects/">💻Projects</a></li><li><a href="/tech/">⚙️Technology</a></li></ul>https://bytes.xerolinux.xyz/SUMMARY/ Fri, 06 Sep 2024 11:52:57 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/SUMMARY/ Be Thankful Content Creation Linux YouTube <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.</p><h3 id="content-creators">Content Creators<a class="headerlink" href="#content-creators" title="Permanent link">&para;</a></h3><p>Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.</p><p>YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.</p><p>Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.</p><h3 id="writers-blog-posters">Writers / Blog Posters<a class="headerlink" href="#writers-blog-posters" title="Permanent link">&para;</a></h3><p>This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.</p><p>One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I’ve learned to improve, and I thank them for that.</p><h3 id="appreciating-ccs-and-writers">Appreciating CCs and Writers<a class="headerlink" href="#appreciating-ccs-and-writers" title="Permanent link">&para;</a></h3><p>We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.</p><p>Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.</p><p>As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.</p><h3 id="fostering-a-positive-community">Fostering a Positive Community<a class="headerlink" href="#fostering-a-positive-community" title="Permanent link">&para;</a></h3><p>The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.</p><p>When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.</p><p>Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.</p><h3 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h3><p>Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.</p>https://bytes.xerolinux.xyz/priv/be-thankful/ Fri, 06 Sep 2024 11:30:00 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/be-thankful/ FOSS Struggles FOSS Fundraising Health Linux Struggles <h3 id="hello-everyone">Hello everyone,<a class="headerlink" href="#hello-everyone" title="Permanent link">&para;</a></h3><p>Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.</p><p>Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.</p><blockquote><p>P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let’s dive in.</p></blockquote><p><img alt="type:video" src="https://www.youtube.com/embed/BpmAFwZy0Gg" /></p><h3 id="my-frustration">My Frustration<a class="headerlink" href="#my-frustration" title="Permanent link">&para;</a></h3><p>Recently, I’ve been investing a lot of time and effort into my projects and contributing to <strong>FOSS</strong> (Free and Open Source Software) wherever possible. While I find this work rewarding, it’s also been increasingly frustrating. Why? Let me explain.</p><p>I spend countless hours working behind the scenes to make everyone’s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it’s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I’m making a real impact.</p><h3 id="seeking-purpose">Seeking Purpose<a class="headerlink" href="#seeking-purpose" title="Permanent link">&para;</a></h3><p>Initially, I embarked on this journey for fun and to learn new things. However, lately, I’ve been questioning the purpose behind my efforts. It feels like I’m stuck in a cycle of constant work with little to show for it. This isn’t about blaming anyone; it’s about seeking the motivation to keep going.</p><h3 id="monetization-attempts">Monetization Attempts<a class="headerlink" href="#monetization-attempts" title="Permanent link">&para;</a></h3><p>As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a "pay what you can" model, hoping it would help sustain my work. However, this didn’t go as planned.</p><p>The <strong>FOSS</strong> community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It’s a complex issue, and while some have been supportive, overall, the response hasn’t been enough to make a significant difference.</p><h3 id="health-concerns">Health Concerns<a class="headerlink" href="#health-concerns" title="Permanent link">&para;</a></h3><p>On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn’t cheap, and without stable income, it’s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.</p><h3 id="mental-health-struggles">Mental Health Struggles<a class="headerlink" href="#mental-health-struggles" title="Permanent link">&para;</a></h3><p>The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.</p><h3 id="the-way-forward">The Way Forward<a class="headerlink" href="#the-way-forward" title="Permanent link">&para;</a></h3><p>Given these circumstances, I’m focusing more on forums and this blog. Writing provides a creative outlet that isn’t constrained by algorithms or view counts. I’ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.</p><p>My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.</p><h3 id="closing-thoughts">Closing Thoughts<a class="headerlink" href="#closing-thoughts" title="Permanent link">&para;</a></h3><p>I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.</p><p>For now, I need to prioritize my well-being and financial stability. Once those are in place, I’ll be back with future projects. Right now, I’m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.</p><p>Thank you for understanding and supporting me through this journey.</p>https://bytes.xerolinux.xyz/priv/real-foss-struggles/ Fri, 06 Sep 2024 11:30:00 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/real-foss-struggles/ MKDocs Install Blogging Linux MKDocs <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the installation of <a href="https://www.mkdocs.org" target="_blank"><strong>MKDocs</strong></a> the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for <strong>ArchLinux</strong> if you don't use that distro, well, their site shows how to install for your distro.</p><p><img alt="type:video" src="https://www.youtube.com/embed/9V0NpLPXS-Y" /></p><h3 id="installing-mkdocs">Installing MKDocs<a class="headerlink" href="#installing-mkdocs" title="Permanent link">&para;</a></h3><p>We will need to install it with some extras. The 2 main packages exist on the <strong>Arch</strong> repos. The rest are on the <strong>AUR</strong>, so to grab everything in one go, I will be using <strong>Paru</strong>. Compiling might take a while, so sit back wile it finishes.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>paru<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>mkdocs<span class="w"> </span>mkdocs-get-deps<span class="w"> </span>mkdocs-material<span class="w"> </span>python-pipx</span></code></pre></div><p>Donce that's done we need to create the site. There's a command for that.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>mkdocs<span class="w"> </span>new<span class="w"> </span>my-project</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="nb">cd</span><span class="w"> </span>my-project</span></code></pre></div><p>Now that we initialized the new site we need to configure it. We do so by editing the <code>mkdocs.yml</code> file putting in the following info :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">site_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Sitename</span></span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a></span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nt">theme</span><span class="p">:</span></span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">material</span></span><span id="__span-2-5"><a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">logo</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">assets/Tux.gif</span></span><span id="__span-2-6"><a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="nt">favicon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">assets/favicon.ico</span></span><span id="__span-2-7"><a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="nt">palette</span><span class="p">:</span></span><span id="__span-2-8"><a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="nt">scheme</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">slate</span></span><span id="__span-2-9"><a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="nt">primary</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">deep purple</span></span><span id="__span-2-10"><a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="w"> </span><span class="nt">features</span><span class="p">:</span></span><span id="__span-2-11"><a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.top</span></span><span id="__span-2-12"><a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.footer</span></span><span id="__span-2-13"><a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.indexes</span></span><span id="__span-2-14"><a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">content.code.copy</span></span><span id="__span-2-15"><a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.suggest</span></span><span id="__span-2-16"><a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.highlight</span></span><span id="__span-2-17"><a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.share</span></span><span id="__span-2-18"><a id="__codelineno-2-18" name="__codelineno-2-18" href="#__codelineno-2-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.expand</span></span></code></pre></div><p>This will make it use the <strong>Slate Material</strong> Theme with <strong>Deep Purple</strong> accents. To know more about the theme check the <a href="https://squidfunk.github.io/mkdocs-material/getting-started/" target="_blank"><strong>MKDocs Material Wiki</strong></a>. That's it go from there.</p><h3 id="plugins-extra-stuff">Plugins &amp; Extra Stuff<a class="headerlink" href="#plugins-extra-stuff" title="Permanent link">&para;</a></h3><p>I have found a few that I liked on the <strong>AUR</strong>, let's install them via :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>paru<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>mkdocs-autorefs<span class="w"> </span>mkdocs-section-index<span class="w"> </span>mkdocs-glightbox<span class="w"> </span>mkdocs-backlinks-plugin<span class="w"> </span>mkdocs-redirects<span class="w"> </span>mkdocs-ezlinks-plugin<span class="w"> </span>mkdocs-literate-nav</span></code></pre></div><p>For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...</p><ul><li>MKDocs-Video</li></ul><div class="language-Bash highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>wget<span class="w"> </span>https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz</span></code></pre></div><p>Extract &amp; <code>cd</code> into it then run the following command :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>sudo<span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>install</span></code></pre></div><ul><li>MKDocs-RSS</li></ul><div class="language-Bash highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/Guts/mkdocs-rss-plugin.git</span></code></pre></div><p>Now we <code>cd</code> into it then run the following command :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>sudo<span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>install</span></code></pre></div><p>To activate them we edit the same <code>mkdocs.yml</code> file as before like so :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="nt">plugins</span><span class="p">:</span></span><span id="__span-8-2"><a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rss</span></span><span id="__span-8-3"><a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">social</span></span><span id="__span-8-4"><a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search</span></span><span id="__span-8-5"><a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">autorefs</span></span><span id="__span-8-6"><a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">glightbox</span></span></code></pre></div><p>There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nt">markdown_extensions</span><span class="p">:</span></span><span id="__span-9-2"><a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a></span><span id="__span-9-3"><a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="c1"># Python Markdown</span></span><span id="__span-9-4"><a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">abbr</span></span><span id="__span-9-5"><a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">admonition</span></span><span id="__span-9-6"><a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">attr_list</span></span><span id="__span-9-7"><a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">def_list</span></span><span id="__span-9-8"><a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">footnotes</span></span><span id="__span-9-9"><a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">md_in_html</span></span><span id="__span-9-10"><a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">toc</span><span class="p">:</span></span><span id="__span-9-11"><a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a><span class="w"> </span><span class="nt">permalink</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-12"><a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a></span><span id="__span-9-13"><a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a><span class="w"> </span><span class="c1"># Python Markdown Extensions</span></span><span id="__span-9-14"><a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.arithmatex</span><span class="p">:</span></span><span id="__span-9-15"><a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a><span class="w"> </span><span class="nt">generic</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-16"><a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.betterem</span><span class="p">:</span></span><span id="__span-9-17"><a id="__codelineno-9-17" name="__codelineno-9-17" href="#__codelineno-9-17"></a><span class="w"> </span><span class="nt">smart_enable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">all</span></span><span id="__span-9-18"><a id="__codelineno-9-18" name="__codelineno-9-18" href="#__codelineno-9-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.caret</span></span><span id="__span-9-19"><a id="__codelineno-9-19" name="__codelineno-9-19" href="#__codelineno-9-19"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.details</span></span><span id="__span-9-20"><a id="__codelineno-9-20" name="__codelineno-9-20" href="#__codelineno-9-20"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.emoji</span><span class="p">:</span></span><span id="__span-9-21"><a id="__codelineno-9-21" name="__codelineno-9-21" href="#__codelineno-9-21"></a><span class="w"> </span><span class="nt">emoji_index</span><span class="p">:</span><span class="w"> </span><span class="kt">!!python/name:material.extensions.emoji.twemoji</span></span><span id="__span-9-22"><a id="__codelineno-9-22" name="__codelineno-9-22" href="#__codelineno-9-22"></a><span class="w"> </span><span class="nt">emoji_generator</span><span class="p">:</span><span class="w"> </span><span class="kt">!!python/name:material.extensions.emoji.to_svg</span></span><span id="__span-9-23"><a id="__codelineno-9-23" name="__codelineno-9-23" href="#__codelineno-9-23"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.highlight</span><span class="p">:</span></span><span id="__span-9-24"><a id="__codelineno-9-24" name="__codelineno-9-24" href="#__codelineno-9-24"></a><span class="w"> </span><span class="nt">anchor_linenums</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-25"><a id="__codelineno-9-25" name="__codelineno-9-25" href="#__codelineno-9-25"></a><span class="w"> </span><span class="nt">line_spans</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">__span</span></span><span id="__span-9-26"><a id="__codelineno-9-26" name="__codelineno-9-26" href="#__codelineno-9-26"></a><span class="w"> </span><span class="nt">pygments_lang_class</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-27"><a id="__codelineno-9-27" name="__codelineno-9-27" href="#__codelineno-9-27"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.inlinehilite</span></span><span id="__span-9-28"><a id="__codelineno-9-28" name="__codelineno-9-28" href="#__codelineno-9-28"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.keys</span></span><span id="__span-9-29"><a id="__codelineno-9-29" name="__codelineno-9-29" href="#__codelineno-9-29"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.mark</span></span><span id="__span-9-30"><a id="__codelineno-9-30" name="__codelineno-9-30" href="#__codelineno-9-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.smartsymbols</span></span><span id="__span-9-31"><a id="__codelineno-9-31" name="__codelineno-9-31" href="#__codelineno-9-31"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.superfences</span></span><span id="__span-9-32"><a id="__codelineno-9-32" name="__codelineno-9-32" href="#__codelineno-9-32"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.tabbed</span><span class="p">:</span></span><span id="__span-9-33"><a id="__codelineno-9-33" name="__codelineno-9-33" href="#__codelineno-9-33"></a><span class="w"> </span><span class="nt">alternate_style</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-34"><a id="__codelineno-9-34" name="__codelineno-9-34" href="#__codelineno-9-34"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.tasklist</span><span class="p">:</span></span><span id="__span-9-35"><a id="__codelineno-9-35" name="__codelineno-9-35" href="#__codelineno-9-35"></a><span class="w"> </span><span class="nt">custom_checkbox</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-36"><a id="__codelineno-9-36" name="__codelineno-9-36" href="#__codelineno-9-36"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.tilde</span></span><span id="__span-9-37"><a id="__codelineno-9-37" name="__codelineno-9-37" href="#__codelineno-9-37"></a></span><span id="__span-9-38"><a id="__codelineno-9-38" name="__codelineno-9-38" href="#__codelineno-9-38"></a><span class="nt">extra</span><span class="p">:</span></span><span id="__span-9-39"><a id="__codelineno-9-39" name="__codelineno-9-39" href="#__codelineno-9-39"></a><span class="w"> </span><span class="nt">social</span><span class="p">:</span></span><span id="__span-9-40"><a id="__codelineno-9-40" name="__codelineno-9-40" href="#__codelineno-9-40"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/github</span></span><span id="__span-9-41"><a id="__codelineno-9-41" name="__codelineno-9-41" href="#__codelineno-9-41"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://github.com/darkxero-dev</span></span><span id="__span-9-42"><a id="__codelineno-9-42" name="__codelineno-9-42" href="#__codelineno-9-42"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/youtube</span></span><span id="__span-9-43"><a id="__codelineno-9-43" name="__codelineno-9-43" href="#__codelineno-9-43"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://youtube.com/XeroLinuxOfficial</span></span><span id="__span-9-44"><a id="__codelineno-9-44" name="__codelineno-9-44" href="#__codelineno-9-44"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/x-twitter</span></span><span id="__span-9-45"><a id="__codelineno-9-45" name="__codelineno-9-45" href="#__codelineno-9-45"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://twitter.com/xerolinuxop</span></span><span id="__span-9-46"><a id="__codelineno-9-46" name="__codelineno-9-46" href="#__codelineno-9-46"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/mastodon</span></span><span id="__span-9-47"><a id="__codelineno-9-47" name="__codelineno-9-47" href="#__codelineno-9-47"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://fosstodon.org/@xerolinux</span></span></code></pre></div><p>That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to <a href="https://github.com/drewgrif" target="_blank"><strong>@JustAGuyLinux</strong></a> for helping out a little hehe.</p>https://bytes.xerolinux.xyz/docs/mkdocs-install/ Thu, 05 Sep 2024 20:40:33 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/mkdocs-install/ Docker A Love Story Containers Docker Linux <h3 id="what-is-docker">What is Docker ?<a class="headerlink" href="#what-is-docker" title="Permanent link">&para;</a></h3><p><a href="https://docker.com/" target="_blank"><strong>Docker</strong></a> is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.</p><p align="center"> <img width="500" src="https://i.imgur.com/bbD4JDy.png" alt="logo"></p><h3 id="how-it-all-started">How it all started<a class="headerlink" href="#how-it-all-started" title="Permanent link">&para;</a></h3><p>It all started with <a href="https://distrobox.it/" target="_blank"><strong>Distrobox</strong></a>. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered <strong>Docker</strong> containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like <a href="https://immich.app/" target="_blank"><strong>Immich</strong></a> for images and videos, which would allow me to sync my devices locally rather than with <a href="https://icloud.com" target="_blank"><strong>Apple iCloud</strong></a> or <strong>Google</strong> making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...</p><p>With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3<sup>rd</sup> party conglomerates made me fall in love more and more as time went by...</p><h3 id="my-setup-so-far">My setup so far<a class="headerlink" href="#my-setup-so-far" title="Permanent link">&para;</a></h3><p>Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive <strong>MY</strong> setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.</p><p align="center"> <img width="500" src="https://i.imgur.com/DhfbUBs.png" alt="logo"></p><ul><li><strong>Homepage</strong></li></ul><p>To start off, let me tell you what am using for the page you see in the image, it's simply called <a href="https://gethomepage.dev" target="_blank"><strong>Homepage</strong></a>. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via <a href="https://en.wikipedia.org/wiki/YAML" target="_blank"><strong>YAML</strong></a> configurations files, and that the community behind it are so damn friendly ! Yep, there is no <em>dumb</em> question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their <a href="https://discord.gg/k4ruYNrudu" target="_blank"><strong>Discord Server</strong></a>.</p><ul><li><strong>File Browser</strong></li></ul><p>As for the File Browser I use to share files between PCs, it's also has a <em>creative</em> name lol, just called <a href="https://filebrowser.org" target="_blank"><strong>FileBrowser</strong></a>, it serves one purpose, browsing files, with ability to upload &amp; download from/to any PC. That's it. It just works nothing else to say about that.</p><ul><li><strong>Search Engine (Xoogle)</strong></li></ul><p>Hehe, the only reason I called it <em>Xoogle</em> is coz it's Xero + Google, get it ? Anyway, this is using something called <a href="https://whoogle.io" target="_blank"><strong>Whoogle</strong></a>, weird name I know, loogs damn ugly too. It's just a search engine that uses <strong>Google</strong> stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of <strong>Google</strong> the way it was back in the day..</p><ul><li><strong>Vaultwarden</strong></li></ul><p>That's a 3<sup>rd</sup>-party <a href="https://bitwarden.com" target="_blank"><strong>Bitwarden</strong></a> server-as-a-container, endorsed by them so can be trusted called <a href="https://github.com/dani-garcia/vaultwarden" target="_blank"><strong>Vaultwarden</strong></a>. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.</p><ul><li><strong>ShareX</strong></li></ul><p>This one is not for everyone. It uses <a href="https://zipline.diced.sh" target="_blank"><strong>Zipline</strong></a>. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.</p><ul><li><strong>My Comics</strong></li></ul><p>I am a big fan of comic books, especially the ones from my childhood. This container uses <a href="https://kavitareader.com/" target="_blank"><strong>Kavita</strong></a>. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their <a href="https://discord.gg/b52wT37kt7" target="_blank"><strong>Discord Server</strong></a>.</p><ul><li><strong>Audiobookshelf</strong></li></ul><p>I guess I do not need to explain that one. It's just a docker container for <a href="https://www.audiobookshelf.org" target="_blank"><strong>Audiobookshelf</strong></a>. In case you have some Audio books or podcasts. Have fun.</p><ul><li><strong>FreshRSS</strong></li></ul><p>That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called <a href="https://www.freshrss.org" target="_blank"><strong>FreshRSS</strong></a>. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.</p><ul><li><strong>Immich</strong></li></ul><p>Now, this is one of the big ones, <a href="https://immich.app" target="_blank"><strong>Immich</strong></a> is an amazing image cloud like service. Allowing you to move away from <strong>Apple</strong> and <strong>Google</strong>. I love that as I said at the beginning of this long post. They even have companion apps for both <a href="https://play.google.com/store/apps/details?id=app.alextran.immich" target="_blank"><strong>Android</strong></a> and <a href="https://apps.apple.com/sg/app/immich/id1613945652" target="_blank"><strong>iOS</strong></a> which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.</p><h3 id="you-get-the-idea">You get the idea<a class="headerlink" href="#you-get-the-idea" title="Permanent link">&para;</a></h3><p>Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's <strong>BIG</strong> rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.</p><ul><li><a href="https://plex.tv" target="_blank"><strong>Plex Server</strong></a></li><li><a href="https://github.com/alexta69/metube" target="_blank"><strong>meTube</strong></a></li><li><a href="https://koel.dev" target="_blank"><strong>Koel</strong></a></li><li><a href="https://tautulli.com" target="_blank"><strong>Tautulli</strong></a></li><li><a href="https://www.portainer.io" target="_blank"><strong>Portainer</strong></a></li><li><a href="https://github.com/schlagmichdoch/pairdrop" target="_blank"><strong>PairDrop</strong></a></li><li><a href="https://github.com/CorentinTh/it-tools" target="_blank"><strong>IT-Tools</strong></a></li><li><a href="https://cockpit-project.org" target="_blank"><strong>Cockpit</strong></a></li></ul><h3 id="where-to-find-more-containers">Where to find more containers ?<a class="headerlink" href="#where-to-find-more-containers" title="Permanent link">&para;</a></h3><p>Well, there are many places, but my favorite has to be <a href="https://selfh.st/apps/" target="_blank"><strong>Selfh.st</strong></a> hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.</p><h3 id="closing-words">Closing words<a class="headerlink" href="#closing-words" title="Permanent link">&para;</a></h3><p>Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.</p><p>Thanks again for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p>https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ \ No newline at end of file + DarkXero's BytesThoughts, Opinions, Documentation, and more...https://bytes.xerolinux.xyz/en Sat, 21 Sep 2024 09:17:20 -0000 Sat, 21 Sep 2024 09:17:20 -0000 60 MkDocs RSS plugin - v1.15.0 https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png DarkXero's Byteshttps://bytes.xerolinux.xyz/ Current Situation Lebanon Situation Struggles War <h3 id="hello-everyone">Hello everyone,<a class="headerlink" href="#hello-everyone" title="Permanent link">&para;</a></h3><p>Today is one of those days where words fall short. The past few days have been incredibly difficult for us here in <strong>Lebanon</strong>, and it feels like things are only getting worse with each passing moment. Both the political and economic situation are spiraling out of control, and it’s impacting every single person here. Close friends, people I’ve known for years, have been injured, and some have even been forced to flee their homes. We’re now living in a reality where technology, something we all rely on daily, has become a source of fear. Can you imagine? Tech warfare? Exploding pagers and phones? It’s something straight out of a dystopian novel, but it's happening right here, right now.</p><p>We are terrified to carry even the most basic tech devices, and it's surreal to say the least.</p><p><img alt="type:video" src="https://www.youtube.com/embed/OmeKpICXiBA" /></p><p>In the video below, you’ll see just how grim the situation has become. Just yesterday, a town not far from where I live was hit. I didn’t just hear it, I <em>felt</em> it. The windows shook violently as multiple, deafening sonic booms erupted overhead. I don’t exaggerate when I say my heart sank. The sound alone brought back memories of the 1970s and 80s, when I lived through a different war, but the fear is just as real now as it was then. I’m still shaking as I write this. This kind of fear paralyzes you. You never know if the next blast will be the one that hits your home.</p><p><img alt="type:video" src="https://www.youtube.com/embed/tC1a3kk8jKQ" /></p><p>For the first time in my life, I genuinely don’t know what to do. Should I flee? Should I stay? Do I hide and pray it doesn’t get worse? I’ve been praying for things to calm down for over a year now, ever since the violence in the south started, but each day feels heavier, as if we’re on the edge of something catastrophic.</p><h3 id="safety-1st">Safety 1<sup>st</sup><a class="headerlink" href="#safety-1st" title="Permanent link">&para;</a></h3><p>With everything that’s happening, I need to prioritize my safety and that of my family. If the situation continues to deteriorate, I may be forced to stop everything I’m doing just to focus on survival. We’re actively searching for potential shelters, just in case things take an even darker turn. It’s heartbreaking, but these are the conversations we’re having right now—finding a safe place to hide from the chaos.</p><p>I know many of you are eagerly waiting for updates on the <strong>XeroLinux</strong> project, and believe me, I haven’t forgotten about it. But I hope you understand that it’s nearly impossible to work under these conditions. My mind is constantly racing, wondering if we’ll be the next to face the violence, or if a full-scale war will erupt before we even have a chance to react.</p><h3 id="how-to-help">How to help<a class="headerlink" href="#how-to-help" title="Permanent link">&para;</a></h3><p>As most of you are aware, my financial situation has been precarious for quite some time. If I do have to flee the country, I’m going to need resources to make that happen. Right now, I have about $320 to my name. That’s not nearly enough to cover the costs of leaving Lebanon if things continue to worsen.</p><p>If you want to help, please know that this is separate from any funds raised for the XeroLinux project. I’ve made sure to keep the project’s funds separate so they are used exclusively for its development and survival. The funds I need now are for a different, more personal cause—ensuring my safety and the safety of my family.</p><p>If you’re able and willing to contribute, your help could make a real difference in what happens next. No amount is too small, and every bit helps in these uncertain times.</p><p>To do so head on over to <a href="https://fundrazr.com/XeroLinux?ref=ab_eBckkc"><strong>FundRazr</strong></a>.</p><p>Thanks for all your help &amp; support !</p>https://bytes.xerolinux.xyz/priv/current-situation/ Sat, 21 Sep 2024 09:17:21 +0000DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/current-situation/ Why Revive XeroLinux ArchLinux Distribution Linux XeroLinux <div class="admonition info"><p class="admonition-title">Info</p><p>This post will explain why I decided to bring back <strong>XeroLinux</strong> and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the <a href="https://wiki.xerolinux.xyz/distro/" target="_blank"><strong>XeroLinux Wiki</strong></a></p></div><h3 id="what-is-xerolinux">What is XeroLinux<a class="headerlink" href="#what-is-xerolinux" title="Permanent link">&para;</a></h3><p>In short, it's just an alternative to the <a href="https://wiki.xerolinux.xyz/plasma/" target="_blank"><strong>Plasma Install Script</strong></a>, making it easier to install <strong>Arch</strong>, bypassing the need for <strong>ArchInstall</strong>. The ISO includes my toolkit as well as my famous <a href="https://wiki.xerolinux.xyz/rice/" target="_blank"><strong>Xero Layan Rice</strong></a> all-in-one shot.</p><p align="center"> <img src="https://i.imgur.com/ejZ1ZQv.png"></p><p>You can use the included <a href="https://wiki.xerolinux.xyz/xlapit/" target="_blank"><strong>Xero Toolkit</strong></a>, 1<sup>st</sup> icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the <a href="https://aur.chaotic.cx" target="_blank"><strong>Chaotic-AUR</strong></a> repository so it's easier for you to install <strong>AUR</strong> packages rather from having to compile them.</p><h3 id="why-is-xerolinux-back">Why is XeroLinux back<a class="headerlink" href="#why-is-xerolinux-back" title="Permanent link">&para;</a></h3><p>To explain why, let me set the stage. As you may already know, I’m going through significant financial difficulties. Living in Lebanon, finding a job—especially a remote one—is extremely challenging, and the situation continues to worsen. I won’t rehash the entire story here, but if you’re not familiar, you can read more about it in this <a href="https://blog.techxero.com/index.php/2024/06/07/actively-looking-for-a-job/" target="_blank"><strong>BlogPost</strong></a>.</p><p>After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro’s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it—and make it a way to sustain myself?</p><p><img alt="type:video" src="https://www.youtube.com/embed/lsYg6-wUWXw" /></p><p>Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the <a href="https://distrowatch.com" target="_blank"><strong>DistroWatch</strong></a> rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!</p><p>That answers the why.</p><h3 id="how-to-get-it">How to get it<a class="headerlink" href="#how-to-get-it" title="Permanent link">&para;</a></h3><p>I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO—a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the <a href="https://xerolinux.xyz/iso/" target="_blank"><strong>Release Post</strong></a></p><p>Now, I know that some of you will say, "But it's FOSS; you shouldn't charge for it." To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the <a href="https://github.com/XeroLinuxDev" target="_blank"><strong>Source Code</strong></a> and do with it as you wish. I am simply charging for my time.</p><p>The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up… well, let's not dwell on that. Let’s focus on keeping it alive and thriving for a long and happy journey together!</p><h3 id="is-it-any-special">Is it any Special<a class="headerlink" href="#is-it-any-special" title="Permanent link">&para;</a></h3><p>This is a common question I get. To be honest, there’s no groundbreaking advantage—it simply provides an easier way to install <strong>Arch</strong> with a polished <strong>KDE</strong> experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.</p><p>Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that <strong>XeroLinux</strong> is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.</p><h3 id="how-to-get-it-for-free">How to get it for free<a class="headerlink" href="#how-to-get-it-for-free" title="Permanent link">&para;</a></h3><p>If you can’t support me financially but still want <strong>XeroLinux</strong>, while the ISO isn't available for free right now, you can still achieve similar results with my <a href="https://xerolinux.xyz/news/xerolinux-plasma/" target="_blank"><strong>PlasmaInstall</strong></a> script, which will always be free of charge. It just requires a bit more elbow grease on your part—that’s all there is to it!</p><h3 id="i-dont-like-arch">I don't like Arch<a class="headerlink" href="#i-dont-like-arch" title="Permanent link">&para;</a></h3><p>In case you don't like <strong>Arch</strong> for whatever reason, but still want to support me, I have put up a <a href="https://shop.xerolinux.xyz" target="_blank"><strong>Merch Store</strong></a> where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.</p><h3 id="private-donations">Private Donations<a class="headerlink" href="#private-donations" title="Permanent link">&para;</a></h3><p>Did you know I have a private fundraiser account? It’s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at <a href="https://fundrazr.com/xerolinux" target="_blank"><strong>FundRazr</strong></a>.</p><p>Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving <strong>XeroLinux</strong>, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn’t been getting much support. Ideally, I’d love to keep these funds separate, but ultimately, it’s your choice.</p><h3 id="wrapping-up">Wrapping up<a class="headerlink" href="#wrapping-up" title="Permanent link">&para;</a></h3><p>That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.</p><p>Thank you to each and everyone for the support.</p>https://bytes.xerolinux.xyz/projects/why-is-distro-back/ Tue, 17 Sep 2024 14:32:35 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/why-is-distro-back/ XeroLinux Channel ArchLinux Linux XeroLinux YouTube <h3 id="youtube-channel">YouTube Channel ?<a class="headerlink" href="#youtube-channel" title="Permanent link">&para;</a></h3><p>Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, <strong>Nice!</strong>.</p><p>But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.</p><h3 id="what-now-xero">What now Xero ?<a class="headerlink" href="#what-now-xero" title="Permanent link">&para;</a></h3><p>Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since <strong>YouTube</strong> and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.</p><h3 id="whats-the-catch">What's the Catch ?<a class="headerlink" href="#whats-the-catch" title="Permanent link">&para;</a></h3><p>This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the <a href="https://ko-fi.com/XeroLinux" target="_blank"><strong>XeroLinux Ko-Fi</strong></a> fundraiser for the forseeable future.</p><p>Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to <em>donate</em>, however would be highly appreciated if you do.</p><h3 id="future-plans">Future Plans<a class="headerlink" href="#future-plans" title="Permanent link">&para;</a></h3><p>When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.</p><p>Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.</p><p>Anyways, thanks again for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p>https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ Tue, 17 Sep 2024 13:41:54 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ ArchISO Build ArchISO ArchLinux Linux <h3 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h3><p>This guide was written by following the <strong>ArchWiki</strong>. It's for my own use. The public version can be found on the official <a href="https://xerolinux.xyz/posts/build-archiso/" target="_blank"><strong>XeroLinux</strong></a>. This version will always be updated. Sometimes need to remind myself which files to modify...</p><p align="center"> <img src="https://i.imgur.com/QWqMIsr.png" alt="logo"></p><h3 id="lets-do-this">Let's do this 🚀<a class="headerlink" href="#lets-do-this" title="Permanent link">&para;</a></h3><p>First off we need to grab a few packages in order to be able to build the ISO.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo<span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>archiso</span></code></pre></div><p>Now we need create two folders in our home directory or anywhere else, up to you, one called <code>XeroWork</code> for placing extracted files, another called <code>XeroOut</code> where final ISO will be located.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>mkdir<span class="w"> </span>~/XeroWork<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>mkdir<span class="w"> </span>~/XeroOut</span></code></pre></div><p>Modify the <code>packages.x86_64</code> inside <code>releng</code> folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new &amp; updated <strong>ArchISO</strong>. Just use the command below and watch the magic happen.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo<span class="w"> </span>mkarchiso<span class="w"> </span>-v<span class="w"> </span>-w<span class="w"> </span>~/XeroWork<span class="w"> </span>-o<span class="w"> </span>~/XeroOut<span class="w"> </span>/usr/share/archiso/configs/releng</span></code></pre></div><p>Finally we can delete the work directory to save space. just do <code>sudo rm -rf ~/XeroWork/</code>.</p><p>That's it !</p>https://bytes.xerolinux.xyz/docs/build-archiso/ Tue, 17 Sep 2024 13:23:32 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/build-archiso/ Affinity on Linux Affinity Linux Photoshop <div class="admonition warning"><p class="admonition-title">Warning</p><p>I am aware that these apps are what's called "<strong>Proprietary</strong>" and require us to purchase a one-time <em>License</em> in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.</p></div><h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the installation of <a href="https://affinity.serif.com/en-us/" target="_blank"><strong>Affinity Apps</strong></a> on <strong>Linux</strong> with the help of some scripts I found thanks to <a href="https://github.com/Twig6943" target="_blank"><strong>Twig6943</strong></a> who went out of his way to create them.</p><p align="center"> <img src="https://i.imgur.com/MABHj31.jpeg"></p><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>First we will need to download the <a href="https://store.serif.com/update/windows/photo/2/" target="_blank"><strong>Photo</strong></a>, <a href="https://store.serif.com/update/windows/designer/2/" target="_blank"><strong>Designer</strong></a> or <a href="https://store.serif.com/update/windows/publisher/2/" target="_blank"><strong>Publisher</strong></a> <code>exe</code> from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a <strong>Discreet GPU</strong> is highly recommended for Hardware Acceleration &amp; good performance.</p><div class="admonition note"><p class="admonition-title">Note</p><p>Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required <a href="https://github.com/Twig6943/AffinityOnLinux/blob/main/Guide/Guide.md#required-dependencies" target="_blank"><strong>Dependencies</strong></a></p></div><p align="center"> <img src="https://i.imgur.com/YPXV9bc.png"></p><ul><li><a href="https://affinity.serif.com/en-gb/photo/?#top" target="_blank"><strong>Affinity Photo</strong></a></li></ul><p>Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><ul><li><a href="https://affinity.serif.com/en-us/designer/?#top" target="_blank"><strong>Affinity Designer</strong></a></li></ul><p>Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><ul><li><a href="https://affinity.serif.com/en-us/designer/?#top" target="_blank"><strong>Affinity Publisher</strong></a></li></ul><p>Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh<span class="k">)</span><span class="s2">&quot;</span></span></code></pre></div><h3 id="wrap-up">Wrap up<a class="headerlink" href="#wrap-up" title="Permanent link">&para;</a></h3><div class="admonition tip"><p class="admonition-title">Tip</p><p>Check the <a href="https://github.com/Twig6943/AffinityOnLinux/blob/main/Guide/Guide.md" target="_blank"><strong>Written Guide</strong></a> if you prefer doing it manually. Also the author posted his scripts on the <strong>Affinity</strong>'s forums, who knows maybe in the future a <strong>Linux</strong> native version ? Let's all cross our fingers 🤞</p></div><p>That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to <strong>Photoshop</strong> I have ever gotten, without having to go through <em>WinBlows</em> if ya know what I mean.</p><p>Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.</p>https://bytes.xerolinux.xyz/docs/affinity-linux/ Tue, 17 Sep 2024 13:17:33 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/affinity-linux/ 🏠Home <h1 id="welcome">Welcome<a class="headerlink" href="#welcome" title="Permanent link">&para;</a></h1><div class="admonition info"><p class="admonition-title">Info</p><p>All the documentation found herein, will be for <strong>ArchLinux</strong> since that's the distro I use. Some will be general <strong>Linux</strong> ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.</p></div><p>Welcome to <strong>DarkXero's Bytes</strong> ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the <a href="https://xerolinux.xyz" target="_blank"><strong>XeroLinux</strong></a> main site.</p><p align="center"> <img src="https://i.imgur.com/ZAvPAkx.png" alt="logo"></p><p>Documenting my learning journey has become an essential part of my <strong>Linux</strong> experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.</p><p align="center"> <img src="https://i.imgur.com/TgVQf9z.png" alt="ArchPorn"></p>https://bytes.xerolinux.xyz/ Tue, 17 Sep 2024 13:08:59 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/ Reset Password Linux Recovery Reset <h3 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h3><p>I have lost my root pass on <strong>Linux</strong> more times than I can count. This guide is here so I do not have to <em>Google</em> it lol. Might be useful to you I dunno. But it's here.</p><p align="center"> <img src="https://i.imgur.com/VFXV09r.jpeg"></p><h3 id="lets-do-this">Let's do this 🚀<a class="headerlink" href="#lets-do-this" title="Permanent link">&para;</a></h3><p>How to reset forgotten root password in a <strong>GNU/Linux</strong> distribution with <code>GRUB</code>?</p><p>If this is a laptop or a desktop which you have next to you then follow these steps.</p><ol><li>Shut down the device.</li><li>Start it again. When you see GRUB menu, press the <code>e</code> key on the keyboard before the system starts booting.</li><li>In the <code>GRUB</code> boot options, scroll down and locate the line that begins with <code>linux</code>. In this line move the cursor to the end, right after <code>ro quiet</code>. Delete everything after that. Change <code>ro</code> to <code>rw</code>. Append the parameter <code>init=/bin/bash</code></li><li>Press Ctrl+x, or F10, to boot.</li><li>You will see a root prompt.</li></ol><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>:#</span></code></pre></div><p>Remount the filesystem in read/write mode:</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>:#<span class="w"> </span>mount<span class="w"> </span>-no<span class="w"> </span>remount,rw<span class="w"> </span>/</span></code></pre></div><ol><li>Set the password of any user(s).</li></ol><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>:#<span class="w"> </span>passwd<span class="w"> </span>joe</span></code></pre></div><ol><li>Reboot with the command <code>reboot -f</code>.</li></ol><p>That's it ! The new password should work now.</p>https://bytes.xerolinux.xyz/docs/passwd-reset/ Tue, 17 Sep 2024 12:47:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/passwd-reset/ FFmpeg Cheat Sheet CheatSheet FFmpeg Linux <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the use of <a href="https://www.ffmpeg.org/ffmpeg.html" target="_blank"><strong>FFmpeg</strong></a> on <strong>Linux</strong>.</p><p align="center"> <img src="https://i.imgur.com/TweW8fW.png"></p><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>First we will need to install <code>FFmpeg</code>. I will be doing it on <strong>ArchLinux</strong> since that's what I use. Look for packages on your distro if you don't use it.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>sudo<span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>--needed<span class="w"> </span>ffmpeg<span class="w"> </span>ffmpegthumbnailer<span class="w"> </span>ffmpegthumbs<span class="w"> </span>qt6-multimedia-ffmpeg</span></code></pre></div><p>Now that we have it, it's time for the cheat sheet.</p><hr /><h1 align="center">.// The Cheat Sheet \\.</h1><h2 id="basic-conversion">Basic conversion<a class="headerlink" href="#basic-conversion" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>ffmpeg -i in.mp4 out.avi</span></code></pre></div><h3 id="remux-an-mkv-file-into-mp4">Remux an MKV file into MP4<a class="headerlink" href="#remux-an-mkv-file-into-mp4" title="Permanent link">&para;</a></h3><div class="language-text highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4</span></code></pre></div><h3 id="high-quality-encoding">High-quality encoding<a class="headerlink" href="#high-quality-encoding" title="Permanent link">&para;</a></h3><p>Use the <code>crf</code> (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to <code>-crf 18</code>. Use the <code>preset</code> parameter to control the speed of the compression process. <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" target="_blank"><strong>Additional info</strong></a>.</p><div class="language-text highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4</span></code></pre></div><h2 id="trimming">Trimming<a class="headerlink" href="#trimming" title="Permanent link">&para;</a></h2><p>Without re-encoding:<div class="language-text highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4</span></code></pre></div>- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-ss</code></a> specifies the start time, e.g. <code>00:01:23.000</code> or <code>83</code> (in seconds)- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-t</code></a> specifies the duration of the clip (same format).- Recent <code>ffmpeg</code> also has a flag to supply the end time with <code>-to</code>.- <a href="http://ffmpeg.org/ffmpeg-all.html#Main-options" target="_blank"><code>-c</code></a> copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.</p><p>With re-encoding:</p><p>If you leave out the <code>-c copy</code> option, <code>ffmpeg</code> will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the <a href="https://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide" target="_blank"><strong>x264 Encoding Guide</strong></a> and the <a href="http://ffmpeg.org/trac/ffmpeg/wiki/AACEncodingGuide" target="_blank"><strong>AAC Encoding Guide</strong></a>, respectively.</p><p>For example:<div class="language-text highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4</span></code></pre></div></p><h2 id="mux-video-and-audio-from-another-video">Mux video and audio from another video<a class="headerlink" href="#mux-video-and-audio-from-another-video" title="Permanent link">&para;</a></h2><p>To copy the video from in0.mp4 and audio from in1.mp4:<div class="language-text highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4</span></code></pre></div>- With <a href="http://ffmpeg.org/ffmpeg.html#Stream-copy" target="_blank">-c copy</a> the streams will be <code>stream copied</code>, not re-encoded, so there will be no quality loss. If you want to re-encode, see <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" target="_blank"><strong>FFmpeg Wiki: H.264 Encoding Guide</strong></a>.- The <code>-shortest</code> option will cause the output duration to match the duration of the shortest input stream.- See the <a href="http://ffmpeg.org/ffmpeg.html#Advanced-options" target="_blank"><code>-map</code> option documentation</a> for more info.</p><h2 id="concat-demuxer">Concat demuxer<a class="headerlink" href="#concat-demuxer" title="Permanent link">&para;</a></h2><p>First, make a text file.<div class="language-text highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>file &#39;in1.mp4&#39;</span><span id="__span-7-2"><a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>file &#39;in2.mp4&#39;</span><span id="__span-7-3"><a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a>file &#39;in3.mp4&#39;</span><span id="__span-7-4"><a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a>file &#39;in4.mp4&#39;</span></code></pre></div>Then, run <code>ffmpeg</code>:<div class="language-text highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>ffmpeg -f concat -i list.txt -c copy out.mp4</span></code></pre></div></p><h2 id="delay-audiovideo">Delay audio/video<a class="headerlink" href="#delay-audiovideo" title="Permanent link">&para;</a></h2><p>Delay video by 3.84 seconds:<div class="language-text highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4</span></code></pre></div>Delay audio by 3.84 seconds:<div class="language-text highlight"><pre><span></span><code><span id="__span-10-1"><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4</span></code></pre></div></p><h2 id="burn-subtitles">Burn subtitles<a class="headerlink" href="#burn-subtitles" title="Permanent link">&para;</a></h2><p>Use the <a href="http://ffmpeg.org/ffmpeg.html#ass" target="_blank">libass</a> library (make sure your ffmpeg install has the library in the configuration <code>--enable-libass</code>).</p><p>First convert the subtitles to .ass format:<div class="language-text highlight"><pre><span></span><code><span id="__span-11-1"><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>ffmpeg -i sub.srt sub.ass</span></code></pre></div>Then add them using a video filter:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-12-1"><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4</span></code></pre></div><h2 id="extract-the-frames-from-a-video">Extract the frames from a video<a class="headerlink" href="#extract-the-frames-from-a-video" title="Permanent link">&para;</a></h2><p>To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-13-1"><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>ffmpeg -i in.mp4 -vf select=&#39;between(t,1,5)+between(t,11,15)&#39; -vsync 0 out%d.png</span></code></pre></div><p>To extract one frame per second only:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-14-1"><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png</span></code></pre></div><h2 id="rotate-a-video">Rotate a video<a class="headerlink" href="#rotate-a-video" title="Permanent link">&para;</a></h2><p>Rotate 90 clockwise:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-15-1"><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>ffmpeg -i in.mov -vf &quot;transpose=1&quot; out.mov</span></code></pre></div><p>For the transpose parameter you can pass:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-16-1"><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>0 = 90CounterCLockwise and Vertical Flip (default)</span><span id="__span-16-2"><a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>1 = 90Clockwise</span><span id="__span-16-3"><a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a>2 = 90CounterClockwise</span><span id="__span-16-4"><a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a>3 = 90Clockwise and Vertical Flip</span></code></pre></div><p>Use <code>-vf "transpose=2,transpose=2"</code> for 180 degrees.</p><h2 id="download-transport-stream-video-streams">Download "Transport Stream" video streams<a class="headerlink" href="#download-transport-stream-video-streams" title="Permanent link">&para;</a></h2><ol><li>Locate the playlist file, e.g. using Chrome &gt; F12 &gt; Network &gt; Filter: m3u8</li><li>Download and concatenate the video fragments:</li></ol><div class="language-text highlight"><pre><span></span><code><span id="__span-17-1"><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>ffmpeg -i &quot;path_to_playlist.m3u8&quot; -c copy -bsf:a aac_adtstoasc out.mp4</span></code></pre></div><p>If you get a "Protocol 'https not on whitelist 'file,crypto'!" error, add the <code>protocol_whitelist</code> option:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-18-1"><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>ffmpeg -protocol_whitelist &quot;file,http,https,tcp,tls&quot; -i &quot;path_to_playlist.m3u8&quot; -c copy -bsf:a aac_adtstoasc out.mp4</span></code></pre></div><h2 id="mute-some-of-the-audio">Mute some of the audio<a class="headerlink" href="#mute-some-of-the-audio" title="Permanent link">&para;</a></h2><p>To replace the first 90 seconds of audio with silence:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-19-1"><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>ffmpeg -i in.mp4 -vcodec copy -af &quot;volume=enable=&#39;lte(t,90)&#39;:volume=0&quot; out.mp4</span></code></pre></div><p>To replace all audio between 1'20" and 1'30" with silence:</p><div class="language-text highlight"><pre><span></span><code><span id="__span-20-1"><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>ffmpeg -i in.mp4 -vcodec copy -af &quot;volume=enable=&#39;between(t,80,90)&#39;:volume=0&quot; out.mp4</span></code></pre></div><h2 id="deinterlace">Deinterlace<a class="headerlink" href="#deinterlace" title="Permanent link">&para;</a></h2><p>Deinterlacing using "yet another deinterlacing filter".</p><div class="language-text highlight"><pre><span></span><code><span id="__span-21-1"><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>ffmpeg -i in.mp4 -vf yadif out.mp4</span></code></pre></div><h2 id="create-a-video-slideshow-from-images">Create a video slideshow from images<a class="headerlink" href="#create-a-video-slideshow-from-images" title="Permanent link">&para;</a></h2><p>Parameters: <code>-r</code> marks the image framerate (inverse time of each image); <code>-vf fps=25</code> marks the true framerate of the output.</p><div class="language-text highlight"><pre><span></span><code><span id="__span-22-1"><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4</span></code></pre></div><h2 id="extract-images-from-a-video">Extract images from a video<a class="headerlink" href="#extract-images-from-a-video" title="Permanent link">&para;</a></h2><ul><li>Extract all frames: <code>ffmpeg -i input.mp4 thumb%04d.jpg -hide_banner</code></li><li>Extract a frame each second: <code>ffmpeg -i input.mp4 -vf fps=1 thumb%04d.jpg -hide_banner</code></li><li>Extract only one frame: <code>ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 thumb.jpg</code></li></ul><h2 id="display-the-frame-number-on-each-frame">Display the frame number on each frame<a class="headerlink" href="#display-the-frame-number-on-each-frame" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-23-1"><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>ffmpeg -i in.mov -vf &quot;drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72&quot; -y out.mov</span></code></pre></div><h2 id="metadata-change-the-title">Metadata: Change the title<a class="headerlink" href="#metadata-change-the-title" title="Permanent link">&para;</a></h2><div class="language-text highlight"><pre><span></span><code><span id="__span-24-1"><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>ffmpeg -i in.mp4 -map_metadata -1 -metadata title=&quot;My Title&quot; -c:v copy -c:a copy out.mp4</span></code></pre></div><h3 id="wrap-up">Wrap up<a class="headerlink" href="#wrap-up" title="Permanent link">&para;</a></h3><p>That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.</p>https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ Tue, 17 Sep 2024 12:36:31 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ Cosmic Install Script ArchLinux CosmicDE Linux XeroLinux <h2 align="center">.//Updated on Sep. 15th 2024\\.</h2><div class="admonition info"><p class="admonition-title">Info</p><p>This project has moved to the <a href="https://wiki.xerolinux.xyz/cosmic/" target="_blank"><strong>XeroLinux Wiki</strong></a>. Will keep this page around for updates. Keep in mind it's in <strong>Alpha</strong>.</p></div><h3 id="script-info">Script info<a class="headerlink" href="#script-info" title="Permanent link">&para;</a></h3><p>Well, it does what title says, it installs <strong>Cosmic</strong> in one of 3 ways, similar to how my <a href="https://xerolinux.xyz/news/xerolinux-plasma/" target="_blank"><strong>Plasma Install</strong></a> script does.</p><ul><li><strong>Complete</strong> : Installs Cosmic from Extra Repos.</li><li><strong>Selective</strong> : Select pkgs you want yourselves.</li><li><strong>Development</strong> : Commit-based Install -DANGER-.</li></ul><p align="center"> <img src="https://i.imgur.com/Fvl9uRU.png"></p><p>Included are some useful packages, like a freaking web browser eg. <strong>Firefox</strong>, an archive manager, <strong>Meld</strong> and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official <strong>Arch Repositories</strong> are supported, none from the <strong>AUR</strong>.</p><h3 id="wrapping-up">Wrapping up<a class="headerlink" href="#wrapping-up" title="Permanent link">&para;</a></h3><p><strong>Cosmic</strong> is shaping up to be the DE that <em>might</em> break the current <em>Top 2</em> (KDE and Gnome) making it the <em>Top 3</em> DEs of all time. Who knows ? I wish the <strong>System76</strong> team all the best.</p><p>Cheers !</p>https://bytes.xerolinux.xyz/projects/cosmic-script/ Mon, 16 Sep 2024 12:53:29 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/projects/cosmic-script/ My Cosmic Experience ArchLinux Cosmic Linux <div class="admonition note"><p class="admonition-title">Note</p><p>Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.</p></div><h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h3><p>The <a href="https://xerolinux.xyz/posts/arch-cosmic/" target="_blank"><strong>Cosmic DE</strong></a> hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.</p><p align="center"> <img src="https://i.imgur.com/Fvl9uRU.png"></p><p>Since I am an avid <strong>ArchLinux</strong> user, that's how I installed it. I did not use the <strong>Pop!_OS 24.04 LTS alpha</strong> ISO from &gt;&gt; <a href="https://system76.com/cosmic" target="_blank"><strong>Cosmic Downloads</strong></a>. So my views come from there. So I cannot compare.</p><p>Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the <strong>ArchInstall</strong> profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.</p><p>Now on to the more detailed things I have done to install <strong>Cosmic</strong>. I first installed <strong>Arch Minimal</strong> using the <strong>ArchInstall</strong> script, meaning that I avoided the profiles, &amp; drivers sections completely, I always choose <code>Grub</code> as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in <code>chroot</code> I installed the DE the following way, knowing that, we can skip the use of <code>sudo</code> since we are still logged in as root...</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>pacman<span class="w"> </span>-Syy<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>pacman<span class="w"> </span>-S<span class="w"> </span>cosmic<span class="w"> </span>linux-headers<span class="w"> </span>pacman-contrib<span class="w"> </span>xdg-user-dirs<span class="w"> </span>power-profiles-daemon<span class="w"> </span>wayland-protocols<span class="w"> </span>wayland-utils</span></code></pre></div><p align="center"> <img src="https://i.imgur.com/tR8WJJI.png"></p><p>Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because <a href="https://archlinux.org/packages/?sort=&amp;q=cosmic&amp;maintainer=&amp;flagged=" target="_blank"><strong>cosmic</strong></a> is not a single one, it's a <em>Group</em> of packages or a <em>meta-package</em> as it is known as. That said, the reason I installed <code>linux-headers</code> is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially <code>xdg-user-dirs</code> without which no <code>Documents, Pictures, Videos...</code> folders will be created. Strange I know.</p><p>What I also found weird, is the fact that <code>cosmic-greeter</code> service was not being enabled after install which was netting me a boot to <code>TTY</code> session. So I had to enable it while at the same time generating the <code>user-dirs</code> via...</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>cosmic-greeter.service<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>xdg-user-dirs-update</span></code></pre></div><p>Keep in mind that I am doing all this while still in <code>chroot</code> post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.</p><h3 id="experience">Experience<a class="headerlink" href="#experience" title="Permanent link">&para;</a></h3><p>Now on to what y'all came here for. All was good, well sorta, system rebooted into <code>Grub</code>, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some <code>TTY dmsg</code> errors, flickering on and off. But after a few seconds I finally saw the <strong>Cosmic Greeter</strong> login screen, relief finally.</p><p align="center"> <img src="https://i.imgur.com/TPjWMjR.png"></p><p>I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an <strong>nVidia</strong> user, I thought could be a driver issue since on first boot it uses the not so great <code>nouveau</code> ones. That's why my first reflex was to install them, so I did.</p><p align="center"> <img src="https://i.imgur.com/VotUyBS.jpeg"></p><p>After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about <code>EGL drm</code> crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?</p><p>As it turns out I had forgotten to include the <code>nVidia drm kernel modules</code> lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>sudo<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span><span class="s1">&#39;/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/&#39;</span><span class="w"> </span>/etc/mkinitcpio.conf</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>sudo<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>nvidia-suspend.service<span class="w"> </span>nvidia-hibernate.service<span class="w"> </span>nvidia-resume.service<span class="w"> </span>nvidia-powerd.service</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nb">echo</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02&#39;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>-a<span class="w"> </span>/etc/modprobe.d/nvidia.conf</span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="nb">echo</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;options nvidia_drm modeset=1 fbdev=1&#39;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>-a<span class="w"> </span>/etc/modprobe.d/nvidia.conf<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>sudo<span class="w"> </span>mkinitcpio<span class="w"> </span>-P</span></code></pre></div><p>After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like <strong>XFCE</strong>. Fired up <code>top</code> to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than <strong>KDE Plasma</strong> ! Nice !</p><p>Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run <code>nmtui</code> and deactivate it from there making sure it doesn't automatically reconnect on login.</p><p>Now on to the <code>System Settings</code>. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..</p><p>That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.</p><p>Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean <strong>Cosmic-Notes</strong> was there, just not handling documents...</p><p>I try to right-click &gt; open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself "It's Alpha Software, calm down Steve".</p><p>To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a <code>CLI</code> and no default app set ? I dunno.</p><p>Finally I decided to try out the thing that almost everyone's raving about, <strong>Tiling/Stacking</strong>. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...</p><p>That's where I gave up and decided to go back home to <strong>KDE Plasma</strong>.</p><h3 id="final-words">Final words<a class="headerlink" href="#final-words" title="Permanent link">&para;</a></h3><p>Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.</p><p>It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.</p><p>I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. <strong>Cosmic</strong> has come a long way in such a short time. I mean, writing a DE from scratch using <strong>Rust</strong> a sorta new programming language is no easy feat.</p><p>I will end the post by congratulating the <strong>System76</strong> dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a <strong>XeroCosmic</strong> to the family.. Just don't hold your breath on that, it ain't set in stone.</p>https://bytes.xerolinux.xyz/tech/cosmic-experience/ Thu, 12 Sep 2024 12:16:04 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/tech/cosmic-experience/ Developing is fun Developer Development Linux <h3 id="am-i-a-developer">Am I a Developer ?<a class="headerlink" href="#am-i-a-developer" title="Permanent link">&para;</a></h3><p>Lol, yeah, I know—it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code—specifically <strong>Bash</strong>. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.</p><p><img alt="type:video" src="https://www.youtube.com/embed/8_K-NOu-STs" /></p><p>And if it does work, I'm happy and share the result with the <strong>FOSS</strong> community.</p><h3 id="its-fun-until">It's fun until...<a class="headerlink" href="#its-fun-until" title="Permanent link">&para;</a></h3><p>Doing this is super fun and fulfilling—until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.</p><p>Now, I know I can reach out to the <strong>FOSS</strong> community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.</p><p>Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere—not just in <strong>FOSS</strong>. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.</p><p>Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.</p><h3 id="sharing-is-caring">Sharing is caring<a class="headerlink" href="#sharing-is-caring" title="Permanent link">&para;</a></h3><p>This is the part where I say: please, don't keep your work to yourself. Share it with the community—who knows, maybe you'll find someone who can help take your project to another level.</p><p>I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.</p><p>"Sharing is caring," as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)</p>https://bytes.xerolinux.xyz/priv/developing-is-fun-but/ Fri, 06 Sep 2024 15:15:59 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/developing-is-fun-but/ FOSS Fundraising ArchLinux Fundraising Linux <h3 id="backstory">Backstory<a class="headerlink" href="#backstory" title="Permanent link">&para;</a></h3><p>Before I begin, I would like to clarify that, when I say <strong>Linux</strong> in this context I mean <strong>Desktop Linux</strong>.</p><p>When I started this whole <strong>Linux</strong> endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with <a href="https://kde.org" target="_blank"><strong>KDE Plasma</strong></a> while using the now infamous <a href="https://manjaro.org" target="_blank"><strong>Manjaro</strong></a> Distrobution. Yes, this is when I got hooked to <strong>Linux</strong>. Now don't get me wrong, I have since tried many DEs and WMs. But alas only <strong>KDE Plasma</strong> answered my needs.</p><p>Since then I started getting the urge to build my own <em>Distro</em> my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called <a href="https://arcolinux.info" target="_blank"><strong>ArcoLinux</strong></a>. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro <a href="https://archlinux.org" target="_blank"><strong>ArchLinux</strong></a>.</p><h3 id="fundraising">Fundraising<a class="headerlink" href="#fundraising" title="Permanent link">&para;</a></h3><p>Now we get to the meat and potatoes of this post, why ask for money when it's <strong>FOSS</strong> ? Well in case you did not know, the <em>Free</em> in <em>Free Open Source</em> does <strong>NOT</strong> mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our <strong>TIME</strong>.</p><p>Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a <em>real</em> job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.</p><p>Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the <em>Fundraising</em> or <em>Donation</em> methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the <strong>Donate</strong> button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)</p><h3 id="hate-in-foss">Hate in FOSS<a class="headerlink" href="#hate-in-foss" title="Permanent link">&para;</a></h3><p>Now let's address the <em>other</em> elephant in the room, the hate in the <strong>FOSS</strong> community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word <em>Free</em> in <em>Free Open Source</em>. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they <em>despise</em> others, the ones we call <em>Protest Distros</em>. Now am not going to name any names here, but the longer this goes on, the slower <strong>Linux</strong> will grow.</p><p>So if you love <strong>Linux</strong> as much as you say you do, please help your favorite projects grow in any way shape or form, either <em>Donating</em> for financial support if you can and are not a developer, or by simply <em>Reporting Issues</em> upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.</p><p>Anyways, thanks for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p><p>See ya there</p>https://bytes.xerolinux.xyz/fund/foss-fundraising/ Fri, 06 Sep 2024 13:03:43 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/fund/foss-fundraising/ GPU &/or CPU Fund ArchLinux Fundraising Hardware Linux Upgrade <h4 id="whats-this">What's this ?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h4><p>My PC could really use an upgrade. I’m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the <strong>CPU</strong> and <strong>GPU</strong>. With the <strong>XeroLinux</strong> Distro not coming back anytime soon, it’s crucial to put funds towards these upgrades where they truly matter.</p><p align="center"> <img width="600" src="https://i.imgur.com/sy5D8T0.png" alt="logo"></p><p>As you can see from image above, the <strong>GTX 1080</strong> (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As <em>nVidia</em> just announced it's going full Open-Source. You can read more on &gt;&gt; <a href="https://www.phoronix.com/news/NVIDIA-Transitions-OSS-KMD" target="_blank"><strong>This Article</strong></a></p><h4 id="what-cpu">What CPU ?<a class="headerlink" href="#what-cpu" title="Permanent link">&para;</a></h4><p>Well, I’m not looking for much. For the CPU, I’m considering an upgrade to either the <a href="https://www.lebanonstores.com/shop-1/amd-ryzen-7-5800x3d-socket-am4" target="_blank"><strong>Ryzen 7 5800X3D</strong></a> valued at $330 or the <a href="https://global.microless.com/product/amd-ryzen-9-5950x-16-core-3-4-ghz-socket-am4-105w-desktop-processor-100-100000059wof/" target="_blank"><strong>Ryzen 9 5950X</strong></a> valued at $452. Honestly, it doesn’t matter which one—I just need that extra boost for compiling stuff.</p><p><img alt="type:video" src="https://www.youtube.com/embed/4IJCsxeCJ6o" /></p><h4 id="what-gpu">What GPU ?<a class="headerlink" href="#what-gpu" title="Permanent link">&para;</a></h4><p>That’s where things get a bit tricky. I’m still undecided between sticking with <strong>nVidia</strong> or switching to <strong>AMD</strong>. I am currently torn between the two. Now, I know most of you would recommend <strong>AMD</strong> because it’s hassle-free on <strong>Linux</strong>—and you’d be right. But as a content creator who relies on <a href="https://docs.nvidia.com/cuda/" target="_blank"><strong>Cuda</strong></a> and <strong>nVidia</strong>'s <a href="https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/" target="_blank"><strong>nVenc Encoder</strong></a>, I’m leaning towards sticking with nVidia.</p><p><img alt="type:video" src="https://www.youtube.com/embed/0VbzHckdHNE" /></p><p>However, if I do decide to switch to Team Red, I’d go for the <a href="https://www.lebanonstores.com/shop-1/amd-radeon-rx-6950xt-16gb" target="_blank"><strong>RX 6950XT</strong></a> currently valued at $400 here. Otherwise, if I stay with Team-Green, it’s going to be the <a href="https://www.lebanonstores.com/shop-1/rtx-3090-msi-suprim-x-24gb" target="_blank"><strong>RTX 3090</strong></a> valued at $595.</p><h4 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h4><p>Upgrading the <strong>GPU</strong> is my top priority right now, as it will make the most significant impact. My current <strong>GTX 1080</strong> is nearing its end-of-life, and I can manage with my <strong>Ryzen 5 3600X</strong> for a bit longer. So, if you can help me raise enough funds to upgrade the <strong>GPU</strong> and stay ahead in the <strong>Linux</strong> world, I’d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.</p><p>Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we’ll reach the goal in no time. Your support means the world to me, and it’ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.</p><p><center><script type='text/javascript' src='https://storage.ko-fi.com/cdn/widget/Widget_2.js'></script><script type='text/javascript'>kofiwidget2.init('Support Me on Ko-fi', '#9d28e0', 'I2I4K55AA');kofiwidget2.draw();</script></center></p>https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ Fri, 06 Sep 2024 13:03:43 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ Linux in a Nutshell Kernel Linux Packages <p>I thought I'd share this explanation about <strong>Linux</strong> a good friend and fellow Linux enthusiast <a href="https://github.com/REALERvolker1" target="_blank"><strong>REALERvolker1</strong></a> recently posted on <strong>Discord</strong>.</p><div class="admonition tip"><p class="admonition-title">Tip</p><p>The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various <em>Desktop Environments</em> or <em>Window Managers</em>. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...</p></div><h3 id="what-is-linux">What is Linux ?<a class="headerlink" href="#what-is-linux" title="Permanent link">&para;</a></h3><p>Since not everyone's super familiar with Linux, here's a quick crash course.</p><p>Linux is a <a href="https://en.wikipedia.org/wiki/Monolithic_kernel#:~:text=A%20monolithic%20kernel%20is%20an,virtual%20interface%20over%20computer%20hardware." target="_blank"><strong>Monolithic Kernel</strong></a>, so all the drivers and whatnot are compiled into the binary. The <a href="https://www.fsf.org/about/what-is-free-software" target="_blank"><strong>Nonfree software</strong></a> is usually put in the actual source repo as binary blobs, or in the case of <strong>nVidia</strong> drivers, built using a system called <a href="https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support" target="_blank"><strong>DKMS</strong></a> and compiled into the kernel binary.</p><p>Once the computer boots up, an init process is started (the default is <code>/sbin/init</code>, usually a symlink to your init system), which is <code>PID 1</code>. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having <em>too</em> much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.</p><p>Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being <a href="https://en.wikipedia.org/wiki/POSIX" target="_blank"><strong>POSIX</strong></a> compliant, and not really caring about file extensions.</p><p align="center"> <img width="600" src="https://i.imgur.com/Mu7NHx9.png" alt="logo"></p><h3 id="distros-pkg-managers">Distros &amp; PKG Managers<a class="headerlink" href="#distros-pkg-managers" title="Permanent link">&para;</a></h3><p>On <a href="https://www.debian.org" target="_blank"><strong>Debian</strong></a>, you install packages with <code>apt</code>. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a <em>GUI</em> frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the <a href="https://wiki.debian.org/DontBreakDebian" target="_blank"><strong>Debian Wiki</strong></a> is pretty mid, but the <a href="https://wiki.archlinux.org" target="_blank"><strong>Arch Wiki</strong></a> is amazing.</p><p>Since <a href="https://archlinux.org" target="_blank"><strong>Arch Linux</strong></a> aims to be the most generic <em>Linux distro</em> ever, information written for it should also help with <strong>Debian</strong>, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:</p><ul><li><strong>Flatpak:</strong> Sandboxed apps that "just work" on every distribution.</li><li><strong>Snap:</strong> <em>Ubuntu</em>'s sandboxed apps that are supposed to work on every distribution but have had mixed results.</li><li><strong>AppImages:</strong> These are like <code>.exe</code> files on <strong>Windows</strong>, but they require adding executable permissions and manually launching them. They also won't have a desktop entry by default.</li></ul><h3 id="filesystem-updates">Filesystem &amp; Updates<a class="headerlink" href="#filesystem-updates" title="Permanent link">&para;</a></h3><p>If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not—it might fix a bug.</p><p>As for the filesystem:</p><ul><li><code>/etc</code> is where your Editable Text Configurations go.</li><li><code>/usr</code> is where program files go.</li><li><code>/usr/local</code> is where program files go for programs you manually installed.</li><li><code>/home</code> is where your personal files go.</li><li><code>/dev</code> is for device files.</li><li>There is no <code>C</code> or <code>D</code> drive; instead, you mount external drives to a location, like <code>/mnt</code>. A GUI file manager mounts flash drives somewhere in <code>/run</code> since it is temporary.</li><li><code>/opt</code> is where miscellaneous stuff goes.</li><li><code>/var</code> is for variable data like system logs.</li><li><code>/tmp</code> is for temporary files.</li><li><code>/dev/null</code> is a "black hole" for data you want to discard.</li><li><code>/dev/urandom</code> is an IO-based random number generator.</li></ul><p>In <a href="https://en.wikipedia.org/wiki/Unix" target="_blank"><strong>UNIX</strong></a>, everything is a file. This means you can:</p><ul><li>See process details by reading files in <code>/proc</code>.</li><li>Check system settings or driver configurations in <code>/sys</code>.</li><li>View your bootloader in <code>/boot</code>.</li></ul><h3 id="wrapping-it-all-up">Wrapping it all up<a class="headerlink" href="#wrapping-it-all-up" title="Permanent link">&para;</a></h3><p>This was a quick run-through explaining what <strong>GNU/Linux</strong> is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.</p>https://bytes.xerolinux.xyz/docs/linux-explained/ Fri, 06 Sep 2024 12:06:17 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/linux-explained/ SUMMARY <ul><li><a href="../">🏠Home</a></li><li><a href="/docs/">🗒️Documentation</a></li><li><a href="/fund/">💰Fundraising</a></li><li><a href="/priv/">🗨️Thoughts</a></li><li><a href="/projects/">💻Projects</a></li><li><a href="/tech/">⚙️Technology</a></li></ul>https://bytes.xerolinux.xyz/SUMMARY/ Fri, 06 Sep 2024 11:52:57 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/SUMMARY/ Be Thankful Content Creation Linux YouTube <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.</p><h3 id="content-creators">Content Creators<a class="headerlink" href="#content-creators" title="Permanent link">&para;</a></h3><p>Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.</p><p>YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.</p><p>Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.</p><h3 id="writers-blog-posters">Writers / Blog Posters<a class="headerlink" href="#writers-blog-posters" title="Permanent link">&para;</a></h3><p>This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.</p><p>One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I’ve learned to improve, and I thank them for that.</p><h3 id="appreciating-ccs-and-writers">Appreciating CCs and Writers<a class="headerlink" href="#appreciating-ccs-and-writers" title="Permanent link">&para;</a></h3><p>We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.</p><p>Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.</p><p>As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.</p><h3 id="fostering-a-positive-community">Fostering a Positive Community<a class="headerlink" href="#fostering-a-positive-community" title="Permanent link">&para;</a></h3><p>The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.</p><p>When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.</p><p>Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.</p><h3 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h3><p>Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.</p>https://bytes.xerolinux.xyz/priv/be-thankful/ Fri, 06 Sep 2024 11:30:00 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/be-thankful/ FOSS Struggles FOSS Fundraising Health Linux Struggles <h3 id="hello-everyone">Hello everyone,<a class="headerlink" href="#hello-everyone" title="Permanent link">&para;</a></h3><p>Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.</p><p>Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.</p><blockquote><p>P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let’s dive in.</p></blockquote><p><img alt="type:video" src="https://www.youtube.com/embed/BpmAFwZy0Gg" /></p><h3 id="my-frustration">My Frustration<a class="headerlink" href="#my-frustration" title="Permanent link">&para;</a></h3><p>Recently, I’ve been investing a lot of time and effort into my projects and contributing to <strong>FOSS</strong> (Free and Open Source Software) wherever possible. While I find this work rewarding, it’s also been increasingly frustrating. Why? Let me explain.</p><p>I spend countless hours working behind the scenes to make everyone’s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it’s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I’m making a real impact.</p><h3 id="seeking-purpose">Seeking Purpose<a class="headerlink" href="#seeking-purpose" title="Permanent link">&para;</a></h3><p>Initially, I embarked on this journey for fun and to learn new things. However, lately, I’ve been questioning the purpose behind my efforts. It feels like I’m stuck in a cycle of constant work with little to show for it. This isn’t about blaming anyone; it’s about seeking the motivation to keep going.</p><h3 id="monetization-attempts">Monetization Attempts<a class="headerlink" href="#monetization-attempts" title="Permanent link">&para;</a></h3><p>As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a "pay what you can" model, hoping it would help sustain my work. However, this didn’t go as planned.</p><p>The <strong>FOSS</strong> community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It’s a complex issue, and while some have been supportive, overall, the response hasn’t been enough to make a significant difference.</p><h3 id="health-concerns">Health Concerns<a class="headerlink" href="#health-concerns" title="Permanent link">&para;</a></h3><p>On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn’t cheap, and without stable income, it’s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.</p><h3 id="mental-health-struggles">Mental Health Struggles<a class="headerlink" href="#mental-health-struggles" title="Permanent link">&para;</a></h3><p>The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.</p><h3 id="the-way-forward">The Way Forward<a class="headerlink" href="#the-way-forward" title="Permanent link">&para;</a></h3><p>Given these circumstances, I’m focusing more on forums and this blog. Writing provides a creative outlet that isn’t constrained by algorithms or view counts. I’ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.</p><p>My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.</p><h3 id="closing-thoughts">Closing Thoughts<a class="headerlink" href="#closing-thoughts" title="Permanent link">&para;</a></h3><p>I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.</p><p>For now, I need to prioritize my well-being and financial stability. Once those are in place, I’ll be back with future projects. Right now, I’m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.</p><p>Thank you for understanding and supporting me through this journey.</p>https://bytes.xerolinux.xyz/priv/real-foss-struggles/ Fri, 06 Sep 2024 11:30:00 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/priv/real-foss-struggles/ MKDocs Install Blogging Linux MKDocs <h3 id="whats-this">What's This?<a class="headerlink" href="#whats-this" title="Permanent link">&para;</a></h3><p>This for my own use. Use it if you want to. Just documenting the installation of <a href="https://www.mkdocs.org" target="_blank"><strong>MKDocs</strong></a> the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for <strong>ArchLinux</strong> if you don't use that distro, well, their site shows how to install for your distro.</p><p><img alt="type:video" src="https://www.youtube.com/embed/9V0NpLPXS-Y" /></p><h3 id="installing-mkdocs">Installing MKDocs<a class="headerlink" href="#installing-mkdocs" title="Permanent link">&para;</a></h3><p>We will need to install it with some extras. The 2 main packages exist on the <strong>Arch</strong> repos. The rest are on the <strong>AUR</strong>, so to grab everything in one go, I will be using <strong>Paru</strong>. Compiling might take a while, so sit back wile it finishes.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>paru<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>mkdocs<span class="w"> </span>mkdocs-get-deps<span class="w"> </span>mkdocs-material<span class="w"> </span>python-pipx</span></code></pre></div><p>Donce that's done we need to create the site. There's a command for that.</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>mkdocs<span class="w"> </span>new<span class="w"> </span>my-project</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="nb">cd</span><span class="w"> </span>my-project</span></code></pre></div><p>Now that we initialized the new site we need to configure it. We do so by editing the <code>mkdocs.yml</code> file putting in the following info :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">site_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Sitename</span></span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a></span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nt">theme</span><span class="p">:</span></span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">material</span></span><span id="__span-2-5"><a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">logo</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">assets/Tux.gif</span></span><span id="__span-2-6"><a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="nt">favicon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">assets/favicon.ico</span></span><span id="__span-2-7"><a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="nt">palette</span><span class="p">:</span></span><span id="__span-2-8"><a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="nt">scheme</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">slate</span></span><span id="__span-2-9"><a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="nt">primary</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">deep purple</span></span><span id="__span-2-10"><a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="w"> </span><span class="nt">features</span><span class="p">:</span></span><span id="__span-2-11"><a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.top</span></span><span id="__span-2-12"><a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.footer</span></span><span id="__span-2-13"><a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.indexes</span></span><span id="__span-2-14"><a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">content.code.copy</span></span><span id="__span-2-15"><a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.suggest</span></span><span id="__span-2-16"><a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.highlight</span></span><span id="__span-2-17"><a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search.share</span></span><span id="__span-2-18"><a id="__codelineno-2-18" name="__codelineno-2-18" href="#__codelineno-2-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">navigation.expand</span></span></code></pre></div><p>This will make it use the <strong>Slate Material</strong> Theme with <strong>Deep Purple</strong> accents. To know more about the theme check the <a href="https://squidfunk.github.io/mkdocs-material/getting-started/" target="_blank"><strong>MKDocs Material Wiki</strong></a>. That's it go from there.</p><h3 id="plugins-extra-stuff">Plugins &amp; Extra Stuff<a class="headerlink" href="#plugins-extra-stuff" title="Permanent link">&para;</a></h3><p>I have found a few that I liked on the <strong>AUR</strong>, let's install them via :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>paru<span class="w"> </span>-S<span class="w"> </span>--noconfirm<span class="w"> </span>mkdocs-autorefs<span class="w"> </span>mkdocs-section-index<span class="w"> </span>mkdocs-glightbox<span class="w"> </span>mkdocs-backlinks-plugin<span class="w"> </span>mkdocs-redirects<span class="w"> </span>mkdocs-ezlinks-plugin<span class="w"> </span>mkdocs-literate-nav</span></code></pre></div><p>For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...</p><ul><li>MKDocs-Video</li></ul><div class="language-Bash highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>wget<span class="w"> </span>https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz</span></code></pre></div><p>Extract &amp; <code>cd</code> into it then run the following command :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>sudo<span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>install</span></code></pre></div><ul><li>MKDocs-RSS</li></ul><div class="language-Bash highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/Guts/mkdocs-rss-plugin.git</span></code></pre></div><p>Now we <code>cd</code> into it then run the following command :</p><div class="language-Bash highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>sudo<span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>install</span></code></pre></div><p>To activate them we edit the same <code>mkdocs.yml</code> file as before like so :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="nt">plugins</span><span class="p">:</span></span><span id="__span-8-2"><a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rss</span></span><span id="__span-8-3"><a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">social</span></span><span id="__span-8-4"><a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">search</span></span><span id="__span-8-5"><a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">autorefs</span></span><span id="__span-8-6"><a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">glightbox</span></span></code></pre></div><p>There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :</p><div class="language-YAML highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nt">markdown_extensions</span><span class="p">:</span></span><span id="__span-9-2"><a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a></span><span id="__span-9-3"><a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="c1"># Python Markdown</span></span><span id="__span-9-4"><a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">abbr</span></span><span id="__span-9-5"><a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">admonition</span></span><span id="__span-9-6"><a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">attr_list</span></span><span id="__span-9-7"><a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">def_list</span></span><span id="__span-9-8"><a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">footnotes</span></span><span id="__span-9-9"><a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">md_in_html</span></span><span id="__span-9-10"><a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">toc</span><span class="p">:</span></span><span id="__span-9-11"><a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a><span class="w"> </span><span class="nt">permalink</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-12"><a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a></span><span id="__span-9-13"><a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a><span class="w"> </span><span class="c1"># Python Markdown Extensions</span></span><span id="__span-9-14"><a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.arithmatex</span><span class="p">:</span></span><span id="__span-9-15"><a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a><span class="w"> </span><span class="nt">generic</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-16"><a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.betterem</span><span class="p">:</span></span><span id="__span-9-17"><a id="__codelineno-9-17" name="__codelineno-9-17" href="#__codelineno-9-17"></a><span class="w"> </span><span class="nt">smart_enable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">all</span></span><span id="__span-9-18"><a id="__codelineno-9-18" name="__codelineno-9-18" href="#__codelineno-9-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.caret</span></span><span id="__span-9-19"><a id="__codelineno-9-19" name="__codelineno-9-19" href="#__codelineno-9-19"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.details</span></span><span id="__span-9-20"><a id="__codelineno-9-20" name="__codelineno-9-20" href="#__codelineno-9-20"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.emoji</span><span class="p">:</span></span><span id="__span-9-21"><a id="__codelineno-9-21" name="__codelineno-9-21" href="#__codelineno-9-21"></a><span class="w"> </span><span class="nt">emoji_index</span><span class="p">:</span><span class="w"> </span><span class="kt">!!python/name:material.extensions.emoji.twemoji</span></span><span id="__span-9-22"><a id="__codelineno-9-22" name="__codelineno-9-22" href="#__codelineno-9-22"></a><span class="w"> </span><span class="nt">emoji_generator</span><span class="p">:</span><span class="w"> </span><span class="kt">!!python/name:material.extensions.emoji.to_svg</span></span><span id="__span-9-23"><a id="__codelineno-9-23" name="__codelineno-9-23" href="#__codelineno-9-23"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.highlight</span><span class="p">:</span></span><span id="__span-9-24"><a id="__codelineno-9-24" name="__codelineno-9-24" href="#__codelineno-9-24"></a><span class="w"> </span><span class="nt">anchor_linenums</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-25"><a id="__codelineno-9-25" name="__codelineno-9-25" href="#__codelineno-9-25"></a><span class="w"> </span><span class="nt">line_spans</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">__span</span></span><span id="__span-9-26"><a id="__codelineno-9-26" name="__codelineno-9-26" href="#__codelineno-9-26"></a><span class="w"> </span><span class="nt">pygments_lang_class</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-27"><a id="__codelineno-9-27" name="__codelineno-9-27" href="#__codelineno-9-27"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.inlinehilite</span></span><span id="__span-9-28"><a id="__codelineno-9-28" name="__codelineno-9-28" href="#__codelineno-9-28"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.keys</span></span><span id="__span-9-29"><a id="__codelineno-9-29" name="__codelineno-9-29" href="#__codelineno-9-29"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.mark</span></span><span id="__span-9-30"><a id="__codelineno-9-30" name="__codelineno-9-30" href="#__codelineno-9-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.smartsymbols</span></span><span id="__span-9-31"><a id="__codelineno-9-31" name="__codelineno-9-31" href="#__codelineno-9-31"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.superfences</span></span><span id="__span-9-32"><a id="__codelineno-9-32" name="__codelineno-9-32" href="#__codelineno-9-32"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.tabbed</span><span class="p">:</span></span><span id="__span-9-33"><a id="__codelineno-9-33" name="__codelineno-9-33" href="#__codelineno-9-33"></a><span class="w"> </span><span class="nt">alternate_style</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-34"><a id="__codelineno-9-34" name="__codelineno-9-34" href="#__codelineno-9-34"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pymdownx.tasklist</span><span class="p">:</span></span><span id="__span-9-35"><a id="__codelineno-9-35" name="__codelineno-9-35" href="#__codelineno-9-35"></a><span class="w"> </span><span class="nt">custom_checkbox</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span></span><span id="__span-9-36"><a id="__codelineno-9-36" name="__codelineno-9-36" href="#__codelineno-9-36"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pymdownx.tilde</span></span><span id="__span-9-37"><a id="__codelineno-9-37" name="__codelineno-9-37" href="#__codelineno-9-37"></a></span><span id="__span-9-38"><a id="__codelineno-9-38" name="__codelineno-9-38" href="#__codelineno-9-38"></a><span class="nt">extra</span><span class="p">:</span></span><span id="__span-9-39"><a id="__codelineno-9-39" name="__codelineno-9-39" href="#__codelineno-9-39"></a><span class="w"> </span><span class="nt">social</span><span class="p">:</span></span><span id="__span-9-40"><a id="__codelineno-9-40" name="__codelineno-9-40" href="#__codelineno-9-40"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/github</span></span><span id="__span-9-41"><a id="__codelineno-9-41" name="__codelineno-9-41" href="#__codelineno-9-41"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://github.com/darkxero-dev</span></span><span id="__span-9-42"><a id="__codelineno-9-42" name="__codelineno-9-42" href="#__codelineno-9-42"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/youtube</span></span><span id="__span-9-43"><a id="__codelineno-9-43" name="__codelineno-9-43" href="#__codelineno-9-43"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://youtube.com/XeroLinuxOfficial</span></span><span id="__span-9-44"><a id="__codelineno-9-44" name="__codelineno-9-44" href="#__codelineno-9-44"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/x-twitter</span></span><span id="__span-9-45"><a id="__codelineno-9-45" name="__codelineno-9-45" href="#__codelineno-9-45"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://twitter.com/xerolinuxop</span></span><span id="__span-9-46"><a id="__codelineno-9-46" name="__codelineno-9-46" href="#__codelineno-9-46"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fontawesome/brands/mastodon</span></span><span id="__span-9-47"><a id="__codelineno-9-47" name="__codelineno-9-47" href="#__codelineno-9-47"></a><span class="w"> </span><span class="nt">link</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://fosstodon.org/@xerolinux</span></span></code></pre></div><p>That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to <a href="https://github.com/drewgrif" target="_blank"><strong>@JustAGuyLinux</strong></a> for helping out a little hehe.</p>https://bytes.xerolinux.xyz/docs/mkdocs-install/ Thu, 05 Sep 2024 20:40:33 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/docs/mkdocs-install/ Docker A Love Story Containers Docker Linux <h3 id="what-is-docker">What is Docker ?<a class="headerlink" href="#what-is-docker" title="Permanent link">&para;</a></h3><p><a href="https://docker.com/" target="_blank"><strong>Docker</strong></a> is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.</p><p align="center"> <img width="500" src="https://i.imgur.com/bbD4JDy.png" alt="logo"></p><h3 id="how-it-all-started">How it all started<a class="headerlink" href="#how-it-all-started" title="Permanent link">&para;</a></h3><p>It all started with <a href="https://distrobox.it/" target="_blank"><strong>Distrobox</strong></a>. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered <strong>Docker</strong> containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like <a href="https://immich.app/" target="_blank"><strong>Immich</strong></a> for images and videos, which would allow me to sync my devices locally rather than with <a href="https://icloud.com" target="_blank"><strong>Apple iCloud</strong></a> or <strong>Google</strong> making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...</p><p>With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3<sup>rd</sup> party conglomerates made me fall in love more and more as time went by...</p><h3 id="my-setup-so-far">My setup so far<a class="headerlink" href="#my-setup-so-far" title="Permanent link">&para;</a></h3><p>Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive <strong>MY</strong> setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.</p><p align="center"> <img width="500" src="https://i.imgur.com/DhfbUBs.png" alt="logo"></p><ul><li><strong>Homepage</strong></li></ul><p>To start off, let me tell you what am using for the page you see in the image, it's simply called <a href="https://gethomepage.dev" target="_blank"><strong>Homepage</strong></a>. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via <a href="https://en.wikipedia.org/wiki/YAML" target="_blank"><strong>YAML</strong></a> configurations files, and that the community behind it are so damn friendly ! Yep, there is no <em>dumb</em> question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their <a href="https://discord.gg/k4ruYNrudu" target="_blank"><strong>Discord Server</strong></a>.</p><ul><li><strong>File Browser</strong></li></ul><p>As for the File Browser I use to share files between PCs, it's also has a <em>creative</em> name lol, just called <a href="https://filebrowser.org" target="_blank"><strong>FileBrowser</strong></a>, it serves one purpose, browsing files, with ability to upload &amp; download from/to any PC. That's it. It just works nothing else to say about that.</p><ul><li><strong>Search Engine (Xoogle)</strong></li></ul><p>Hehe, the only reason I called it <em>Xoogle</em> is coz it's Xero + Google, get it ? Anyway, this is using something called <a href="https://whoogle.io" target="_blank"><strong>Whoogle</strong></a>, weird name I know, loogs damn ugly too. It's just a search engine that uses <strong>Google</strong> stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of <strong>Google</strong> the way it was back in the day..</p><ul><li><strong>Vaultwarden</strong></li></ul><p>That's a 3<sup>rd</sup>-party <a href="https://bitwarden.com" target="_blank"><strong>Bitwarden</strong></a> server-as-a-container, endorsed by them so can be trusted called <a href="https://github.com/dani-garcia/vaultwarden" target="_blank"><strong>Vaultwarden</strong></a>. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.</p><ul><li><strong>ShareX</strong></li></ul><p>This one is not for everyone. It uses <a href="https://zipline.diced.sh" target="_blank"><strong>Zipline</strong></a>. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.</p><ul><li><strong>My Comics</strong></li></ul><p>I am a big fan of comic books, especially the ones from my childhood. This container uses <a href="https://kavitareader.com/" target="_blank"><strong>Kavita</strong></a>. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their <a href="https://discord.gg/b52wT37kt7" target="_blank"><strong>Discord Server</strong></a>.</p><ul><li><strong>Audiobookshelf</strong></li></ul><p>I guess I do not need to explain that one. It's just a docker container for <a href="https://www.audiobookshelf.org" target="_blank"><strong>Audiobookshelf</strong></a>. In case you have some Audio books or podcasts. Have fun.</p><ul><li><strong>FreshRSS</strong></li></ul><p>That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called <a href="https://www.freshrss.org" target="_blank"><strong>FreshRSS</strong></a>. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.</p><ul><li><strong>Immich</strong></li></ul><p>Now, this is one of the big ones, <a href="https://immich.app" target="_blank"><strong>Immich</strong></a> is an amazing image cloud like service. Allowing you to move away from <strong>Apple</strong> and <strong>Google</strong>. I love that as I said at the beginning of this long post. They even have companion apps for both <a href="https://play.google.com/store/apps/details?id=app.alextran.immich" target="_blank"><strong>Android</strong></a> and <a href="https://apps.apple.com/sg/app/immich/id1613945652" target="_blank"><strong>iOS</strong></a> which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.</p><h3 id="you-get-the-idea">You get the idea<a class="headerlink" href="#you-get-the-idea" title="Permanent link">&para;</a></h3><p>Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's <strong>BIG</strong> rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.</p><ul><li><a href="https://plex.tv" target="_blank"><strong>Plex Server</strong></a></li><li><a href="https://github.com/alexta69/metube" target="_blank"><strong>meTube</strong></a></li><li><a href="https://koel.dev" target="_blank"><strong>Koel</strong></a></li><li><a href="https://tautulli.com" target="_blank"><strong>Tautulli</strong></a></li><li><a href="https://www.portainer.io" target="_blank"><strong>Portainer</strong></a></li><li><a href="https://github.com/schlagmichdoch/pairdrop" target="_blank"><strong>PairDrop</strong></a></li><li><a href="https://github.com/CorentinTh/it-tools" target="_blank"><strong>IT-Tools</strong></a></li><li><a href="https://cockpit-project.org" target="_blank"><strong>Cockpit</strong></a></li></ul><h3 id="where-to-find-more-containers">Where to find more containers ?<a class="headerlink" href="#where-to-find-more-containers" title="Permanent link">&para;</a></h3><p>Well, there are many places, but my favorite has to be <a href="https://selfh.st/apps/" target="_blank"><strong>Selfh.st</strong></a> hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.</p><h3 id="closing-words">Closing words<a class="headerlink" href="#closing-words" title="Permanent link">&para;</a></h3><p>Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.</p><p>Thanks again for reading this. If you want to discuss the matter, you can <em>Toot</em> me on <a href="https://fosstodon.org/@XeroLinux" target="_blank"><strong>Fosstodon</strong></a> or by joining me on my <a href="https://discord.gg/5sqxTSuKZu" target="_blank"><strong>Discord Server</strong></a>.</p>https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ Wed, 04 Sep 2024 23:31:15 +0300DarkXero's Byteshttps://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ \ No newline at end of file diff --git a/site/fund/foss-fundraising/index.html b/site/fund/foss-fundraising/index.html index dc2936a..6b16966 100644 --- a/site/fund/foss-fundraising/index.html +++ b/site/fund/foss-fundraising/index.html @@ -621,6 +621,8 @@ + + @@ -681,6 +683,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/fund/new-gpu-cpu-fund/index.html b/site/fund/new-gpu-cpu-fund/index.html index 7c335f2..e28cce9 100644 --- a/site/fund/new-gpu-cpu-fund/index.html +++ b/site/fund/new-gpu-cpu-fund/index.html @@ -630,6 +630,8 @@ + + @@ -690,6 +692,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/index.html b/site/index.html index d6883f0..973e6cc 100644 --- a/site/index.html +++ b/site/index.html @@ -564,6 +564,8 @@ + + @@ -624,6 +626,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/priv/be-thankful/index.html b/site/priv/be-thankful/index.html index 1339693..952d00b 100644 --- a/site/priv/be-thankful/index.html +++ b/site/priv/be-thankful/index.html @@ -16,7 +16,7 @@ - + @@ -556,6 +556,8 @@ + + @@ -708,6 +710,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • @@ -1135,13 +1158,13 @@

    Conclusion + diff --git a/site/priv/real-foss-struggles/index.html b/site/priv/real-foss-struggles/index.html index d638ad0..4770603 100644 --- a/site/priv/real-foss-struggles/index.html +++ b/site/priv/real-foss-struggles/index.html @@ -556,6 +556,8 @@ + + @@ -618,6 +620,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/projects/cosmic-script/index.html b/site/projects/cosmic-script/index.html index d932ec5..4d97e78 100644 --- a/site/projects/cosmic-script/index.html +++ b/site/projects/cosmic-script/index.html @@ -556,6 +556,8 @@ + + @@ -616,6 +618,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/projects/what-s-up-with-my-channel/index.html b/site/projects/what-s-up-with-my-channel/index.html index 6089ea6..4e8de26 100644 --- a/site/projects/what-s-up-with-my-channel/index.html +++ b/site/projects/what-s-up-with-my-channel/index.html @@ -556,6 +556,8 @@ + + @@ -616,6 +618,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/projects/why-is-distro-back/index.html b/site/projects/why-is-distro-back/index.html index 867bc0e..c4c1d05 100644 --- a/site/projects/why-is-distro-back/index.html +++ b/site/projects/why-is-distro-back/index.html @@ -556,6 +556,8 @@ + + @@ -616,6 +618,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/search/search_index.json b/site/search/search_index.json index 778a466..13d48eb 100644 --- a/site/search/search_index.json +++ b/site/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"\ud83c\udfe0Home","text":""},{"location":"#welcome","title":"Welcome","text":"

    Info

    All the documentation found herein, will be for ArchLinux since that's the distro I use. Some will be general Linux ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.

    Welcome to DarkXero's Bytes ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the XeroLinux main site.

    Documenting my learning journey has become an essential part of my Linux experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.

    "},{"location":"SUMMARY/","title":"SUMMARY","text":"
    • \ud83c\udfe0Home
    • \ud83d\uddd2\ufe0fDocumentation
    • \ud83d\udcb0Fundraising
    • \ud83d\udde8\ufe0fThoughts
    • \ud83d\udcbbProjects
    • \u2699\ufe0fTechnology
    "},{"location":"docs/affinity-linux/","title":"Affinity on Linux","text":"

    Warning

    I am aware that these apps are what's called \"Proprietary\" and require us to purchase a one-time License in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.

    ","tags":["Linux","Affinity","Photoshop"]},{"location":"docs/affinity-linux/#whats-this","title":"What's This?","text":"

    This for my own use. Use it if you want to. Just documenting the installation of Affinity Apps on Linux with the help of some scripts I found thanks to Twig6943 who went out of his way to create them.

    ","tags":["Linux","Affinity","Photoshop"]},{"location":"docs/affinity-linux/#installation","title":"Installation","text":"

    First we will need to download the Photo, Designer or Publisher exe from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a Discreet GPU is highly recommended for Hardware Acceleration & good performance.

    Note

    Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required Dependencies

    • Affinity Photo

    Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.

    bash -c \"$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh)\"\n
    • Affinity Designer

    Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.

    bash -c \"$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh)\"\n
    • Affinity Publisher

    Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.

    bash -c \"$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh)\"\n
    ","tags":["Linux","Affinity","Photoshop"]},{"location":"docs/affinity-linux/#wrap-up","title":"Wrap up","text":"

    Tip

    Check the Written Guide if you prefer doing it manually. Also the author posted his scripts on the Affinity's forums, who knows maybe in the future a Linux native version ? Let's all cross our fingers \ud83e\udd1e

    That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to Photoshop I have ever gotten, without having to go through WinBlows if ya know what I mean.

    Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.

    ","tags":["Linux","Affinity","Photoshop"]},{"location":"docs/build-archiso/","title":"ArchISO Build","text":"","tags":["Linux","ArchISO","ArchLinux"]},{"location":"docs/build-archiso/#information","title":"Information","text":"

    This guide was written by following the ArchWiki. It's for my own use. The public version can be found on the official XeroLinux. This version will always be updated. Sometimes need to remind myself which files to modify...

    ","tags":["Linux","ArchISO","ArchLinux"]},{"location":"docs/build-archiso/#lets-do-this","title":"Let's do this \ud83d\ude80","text":"

    First off we need to grab a few packages in order to be able to build the ISO.

    sudo pacman -S archiso\n

    Now we need create two folders in our home directory or anywhere else, up to you, one called XeroWork for placing extracted files, another called XeroOut where final ISO will be located.

    mkdir ~/XeroWork && mkdir ~/XeroOut\n

    Modify the packages.x86_64 inside releng folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new & updated ArchISO. Just use the command below and watch the magic happen.

    sudo mkarchiso -v -w ~/XeroWork -o ~/XeroOut /usr/share/archiso/configs/releng\n

    Finally we can delete the work directory to save space. just do sudo rm -rf ~/XeroWork/.

    That's it !

    ","tags":["Linux","ArchISO","ArchLinux"]},{"location":"docs/ffmpeg-cheats/","title":"FFmpeg Cheat Sheet","text":"","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#whats-this","title":"What's This?","text":"

    This for my own use. Use it if you want to. Just documenting the use of FFmpeg on Linux.

    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#installation","title":"Installation","text":"

    First we will need to install FFmpeg. I will be doing it on ArchLinux since that's what I use. Look for packages on your distro if you don't use it.

    sudo pacman -S --noconfirm --needed ffmpeg ffmpegthumbnailer ffmpegthumbs qt6-multimedia-ffmpeg\n

    Now that we have it, it's time for the cheat sheet.

    .// The Cheat Sheet \\\\.","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#basic-conversion","title":"Basic conversion","text":"
    ffmpeg -i in.mp4 out.avi\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#remux-an-mkv-file-into-mp4","title":"Remux an MKV file into MP4","text":"
    ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#high-quality-encoding","title":"High-quality encoding","text":"

    Use the crf (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to -crf 18. Use the preset parameter to control the speed of the compression process. Additional info.

    ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#trimming","title":"Trimming","text":"

    Without re-encoding:

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4\n
    - -ss specifies the start time, e.g. 00:01:23.000 or 83 (in seconds) - -t specifies the duration of the clip (same format). - Recent ffmpeg also has a flag to supply the end time with -to. - -c copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.

    With re-encoding:

    If you leave out the -c copy option, ffmpeg will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the x264 Encoding Guide and the AAC Encoding Guide, respectively.

    For example:

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#mux-video-and-audio-from-another-video","title":"Mux video and audio from another video","text":"

    To copy the video from in0.mp4 and audio from in1.mp4:

    ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4\n
    - With -c copy the streams will be stream copied, not re-encoded, so there will be no quality loss. If you want to re-encode, see FFmpeg Wiki: H.264 Encoding Guide. - The -shortest option will cause the output duration to match the duration of the shortest input stream. - See the -map option documentation for more info.","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#concat-demuxer","title":"Concat demuxer","text":"

    First, make a text file.

    file 'in1.mp4'\nfile 'in2.mp4'\nfile 'in3.mp4'\nfile 'in4.mp4'\n
    Then, run ffmpeg:
    ffmpeg -f concat -i list.txt -c copy out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#delay-audiovideo","title":"Delay audio/video","text":"

    Delay video by 3.84 seconds:

    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4\n
    Delay audio by 3.84 seconds:
    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#burn-subtitles","title":"Burn subtitles","text":"

    Use the libass library (make sure your ffmpeg install has the library in the configuration --enable-libass).

    First convert the subtitles to .ass format:

    ffmpeg -i sub.srt sub.ass\n
    Then add them using a video filter:
    ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#extract-the-frames-from-a-video","title":"Extract the frames from a video","text":"

    To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:

    ffmpeg -i in.mp4 -vf select='between(t,1,5)+between(t,11,15)' -vsync 0 out%d.png\n

    To extract one frame per second only:

    ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#rotate-a-video","title":"Rotate a video","text":"

    Rotate 90 clockwise:

    ffmpeg -i in.mov -vf \"transpose=1\" out.mov\n

    For the transpose parameter you can pass:

    0 = 90CounterCLockwise and Vertical Flip (default)\n1 = 90Clockwise\n2 = 90CounterClockwise\n3 = 90Clockwise and Vertical Flip\n

    Use -vf \"transpose=2,transpose=2\" for 180 degrees.

    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#download-transport-stream-video-streams","title":"Download \"Transport Stream\" video streams","text":"
    1. Locate the playlist file, e.g. using Chrome > F12 > Network > Filter: m3u8
    2. Download and concatenate the video fragments:
    ffmpeg -i \"path_to_playlist.m3u8\" -c copy -bsf:a aac_adtstoasc out.mp4\n

    If you get a \"Protocol 'https not on whitelist 'file,crypto'!\" error, add the protocol_whitelist option:

    ffmpeg -protocol_whitelist \"file,http,https,tcp,tls\" -i \"path_to_playlist.m3u8\" -c copy -bsf:a aac_adtstoasc out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#mute-some-of-the-audio","title":"Mute some of the audio","text":"

    To replace the first 90 seconds of audio with silence:

    ffmpeg -i in.mp4 -vcodec copy -af \"volume=enable='lte(t,90)':volume=0\" out.mp4\n

    To replace all audio between 1'20\" and 1'30\" with silence:

    ffmpeg -i in.mp4 -vcodec copy -af \"volume=enable='between(t,80,90)':volume=0\" out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#deinterlace","title":"Deinterlace","text":"

    Deinterlacing using \"yet another deinterlacing filter\".

    ffmpeg -i in.mp4 -vf yadif out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#create-a-video-slideshow-from-images","title":"Create a video slideshow from images","text":"

    Parameters: -r marks the image framerate (inverse time of each image); -vf fps=25 marks the true framerate of the output.

    ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#extract-images-from-a-video","title":"Extract images from a video","text":"
    • Extract all frames: ffmpeg -i input.mp4 thumb%04d.jpg -hide_banner
    • Extract a frame each second: ffmpeg -i input.mp4 -vf fps=1 thumb%04d.jpg -hide_banner
    • Extract only one frame: ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 thumb.jpg
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#display-the-frame-number-on-each-frame","title":"Display the frame number on each frame","text":"
    ffmpeg -i in.mov -vf \"drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72\" -y out.mov\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#metadata-change-the-title","title":"Metadata: Change the title","text":"
    ffmpeg -i in.mp4 -map_metadata -1 -metadata title=\"My Title\" -c:v copy -c:a copy out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#wrap-up","title":"Wrap up","text":"

    That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.

    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/linux-explained/","title":"Linux in a Nutshell","text":"

    I thought I'd share this explanation about Linux a good friend and fellow Linux enthusiast REALERvolker1 recently posted on Discord.

    Tip

    The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various Desktop Environments or Window Managers. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...

    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/linux-explained/#what-is-linux","title":"What is Linux ?","text":"

    Since not everyone's super familiar with Linux, here's a quick crash course.

    Linux is a Monolithic Kernel, so all the drivers and whatnot are compiled into the binary. The Nonfree software is usually put in the actual source repo as binary blobs, or in the case of nVidia drivers, built using a system called DKMS and compiled into the kernel binary.

    Once the computer boots up, an init process is started (the default is /sbin/init, usually a symlink to your init system), which is PID 1. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having too much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.

    Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being POSIX compliant, and not really caring about file extensions.

    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/linux-explained/#distros-pkg-managers","title":"Distros & PKG Managers","text":"

    On Debian, you install packages with apt. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a GUI frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the Debian Wiki is pretty mid, but the Arch Wiki is amazing.

    Since Arch Linux aims to be the most generic Linux distro ever, information written for it should also help with Debian, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:

    • Flatpak: Sandboxed apps that \"just work\" on every distribution.
    • Snap: Ubuntu's sandboxed apps that are supposed to work on every distribution but have had mixed results.
    • AppImages: These are like .exe files on Windows, but they require adding executable permissions and manually launching them. They also won't have a desktop entry by default.
    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/linux-explained/#filesystem-updates","title":"Filesystem & Updates","text":"

    If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not\u2014it might fix a bug.

    As for the filesystem:

    • /etc is where your Editable Text Configurations go.
    • /usr is where program files go.
    • /usr/local is where program files go for programs you manually installed.
    • /home is where your personal files go.
    • /dev is for device files.
    • There is no C or D drive; instead, you mount external drives to a location, like /mnt. A GUI file manager mounts flash drives somewhere in /run since it is temporary.
    • /opt is where miscellaneous stuff goes.
    • /var is for variable data like system logs.
    • /tmp is for temporary files.
    • /dev/null is a \"black hole\" for data you want to discard.
    • /dev/urandom is an IO-based random number generator.

    In UNIX, everything is a file. This means you can:

    • See process details by reading files in /proc.
    • Check system settings or driver configurations in /sys.
    • View your bootloader in /boot.
    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/linux-explained/#wrapping-it-all-up","title":"Wrapping it all up","text":"

    This was a quick run-through explaining what GNU/Linux is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.

    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/mkdocs-install/","title":"MKDocs Install","text":"","tags":["Linux","MKDocs","Blogging"]},{"location":"docs/mkdocs-install/#whats-this","title":"What's This?","text":"

    This for my own use. Use it if you want to. Just documenting the installation of MKDocs the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for ArchLinux if you don't use that distro, well, their site shows how to install for your distro.

    ","tags":["Linux","MKDocs","Blogging"]},{"location":"docs/mkdocs-install/#installing-mkdocs","title":"Installing MKDocs","text":"

    We will need to install it with some extras. The 2 main packages exist on the Arch repos. The rest are on the AUR, so to grab everything in one go, I will be using Paru. Compiling might take a while, so sit back wile it finishes.

    paru -S --noconfirm mkdocs mkdocs-get-deps mkdocs-material python-pipx\n

    Donce that's done we need to create the site. There's a command for that.

    mkdocs new my-project\ncd my-project\n

    Now that we initialized the new site we need to configure it. We do so by editing the mkdocs.yml file putting in the following info :

    site_name: Sitename\n\ntheme:\n  name: material\n  logo: assets/Tux.gif\n  favicon: assets/favicon.ico\n  palette:\n    scheme: slate\n    primary: deep purple\n  features:\n   - navigation.top\n   - navigation.footer\n   - navigation.indexes\n   - content.code.copy\n   - search.suggest\n   - search.highlight\n   - search.share\n   - navigation.expand\n

    This will make it use the Slate Material Theme with Deep Purple accents. To know more about the theme check the MKDocs Material Wiki. That's it go from there.

    ","tags":["Linux","MKDocs","Blogging"]},{"location":"docs/mkdocs-install/#plugins-extra-stuff","title":"Plugins & Extra Stuff","text":"

    I have found a few that I liked on the AUR, let's install them via :

    paru -S --noconfirm mkdocs-autorefs mkdocs-section-index mkdocs-glightbox mkdocs-backlinks-plugin mkdocs-redirects mkdocs-ezlinks-plugin mkdocs-literate-nav\n

    For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...

    • MKDocs-Video
    wget https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz\n

    Extract & cd into it then run the following command :

    sudo python setup.py install\n
    • MKDocs-RSS
    git clone https://github.com/Guts/mkdocs-rss-plugin.git\n

    Now we cd into it then run the following command :

    sudo python setup.py install\n

    To activate them we edit the same mkdocs.yml file as before like so :

    plugins:\n  - rss\n  - social\n  - search\n  - autorefs\n  - glightbox\n

    There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :

    markdown_extensions:\n\n  # Python Markdown\n   - abbr\n   - admonition\n   - attr_list\n   - def_list\n   - footnotes\n   - md_in_html\n   - toc:\n      permalink: true\n\n  # Python Markdown Extensions\n   - pymdownx.arithmatex:\n       generic: true\n   - pymdownx.betterem:\n       smart_enable: all\n   - pymdownx.caret\n   - pymdownx.details\n   - pymdownx.emoji:\n      emoji_index: !!python/name:material.extensions.emoji.twemoji\n      emoji_generator: !!python/name:material.extensions.emoji.to_svg\n   - pymdownx.highlight:\n      anchor_linenums: true\n      line_spans: __span\n      pygments_lang_class: true\n   - pymdownx.inlinehilite\n   - pymdownx.keys\n   - pymdownx.mark\n   - pymdownx.smartsymbols\n   - pymdownx.superfences\n   - pymdownx.tabbed:\n       alternate_style: true\n   - pymdownx.tasklist:\n       custom_checkbox: true\n   - pymdownx.tilde\n\nextra:\n  social:\n    - icon: fontawesome/brands/github\n      link: https://github.com/darkxero-dev\n    - icon: fontawesome/brands/youtube\n      link: https://youtube.com/XeroLinuxOfficial\n    - icon: fontawesome/brands/x-twitter\n      link: https://twitter.com/xerolinuxop\n    - icon: fontawesome/brands/mastodon\n      link: https://fosstodon.org/@xerolinux\n

    That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to @JustAGuyLinux for helping out a little hehe.

    ","tags":["Linux","MKDocs","Blogging"]},{"location":"docs/passwd-reset/","title":"Reset Password","text":"","tags":["Linux","Reset","Recovery"]},{"location":"docs/passwd-reset/#information","title":"Information","text":"

    I have lost my root pass on Linux more times than I can count. This guide is here so I do not have to Google it lol. Might be useful to you I dunno. But it's here.

    ","tags":["Linux","Reset","Recovery"]},{"location":"docs/passwd-reset/#lets-do-this","title":"Let's do this \ud83d\ude80","text":"

    How to reset forgotten root password in a GNU/Linux distribution with GRUB?

    If this is a laptop or a desktop which you have next to you then follow these steps.

    1. Shut down the device.
    2. Start it again. When you see GRUB menu, press the e key on the keyboard before the system starts booting.
    3. In the GRUB boot options, scroll down and locate the line that begins with linux. In this line move the cursor to the end, right after ro quiet. Delete everything after that. Change ro to rw. Append the parameter init=/bin/bash
    4. Press Ctrl+x, or F10, to boot.
    5. You will see a root prompt.
    :#\n

    Remount the filesystem in read/write mode:

    :# mount -no remount,rw /\n
    1. Set the password of any user(s).
    :# passwd joe\n
    1. Reboot with the command reboot -f.

    That's it ! The new password should work now.

    ","tags":["Linux","Reset","Recovery"]},{"location":"fund/foss-fundraising/","title":"FOSS Fundraising","text":"","tags":["Linux","ArchLinux","Fundraising"]},{"location":"fund/foss-fundraising/#backstory","title":"Backstory","text":"

    Before I begin, I would like to clarify that, when I say Linux in this context I mean Desktop Linux.

    When I started this whole Linux endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with KDE Plasma while using the now infamous Manjaro Distrobution. Yes, this is when I got hooked to Linux. Now don't get me wrong, I have since tried many DEs and WMs. But alas only KDE Plasma answered my needs.

    Since then I started getting the urge to build my own Distro my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called ArcoLinux. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro ArchLinux.

    ","tags":["Linux","ArchLinux","Fundraising"]},{"location":"fund/foss-fundraising/#fundraising","title":"Fundraising","text":"

    Now we get to the meat and potatoes of this post, why ask for money when it's FOSS ? Well in case you did not know, the Free in Free Open Source does NOT mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our TIME.

    Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a real job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.

    Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the Fundraising or Donation methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the Donate button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)

    ","tags":["Linux","ArchLinux","Fundraising"]},{"location":"fund/foss-fundraising/#hate-in-foss","title":"Hate in FOSS","text":"

    Now let's address the other elephant in the room, the hate in the FOSS community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word Free in Free Open Source. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they despise others, the ones we call Protest Distros. Now am not going to name any names here, but the longer this goes on, the slower Linux will grow.

    So if you love Linux as much as you say you do, please help your favorite projects grow in any way shape or form, either Donating for financial support if you can and are not a developer, or by simply Reporting Issues upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.

    Anyways, thanks for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    See ya there

    ","tags":["Linux","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/","title":"GPU &/or CPU Fund","text":"","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/#whats-this","title":"What's this ?","text":"

    My PC could really use an upgrade. I\u2019m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the CPU and GPU. With the XeroLinux Distro not coming back anytime soon, it\u2019s crucial to put funds towards these upgrades where they truly matter.

    As you can see from image above, the GTX 1080 (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As nVidia just announced it's going full Open-Source. You can read more on >> This Article

    ","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/#what-cpu","title":"What CPU ?","text":"

    Well, I\u2019m not looking for much. For the CPU, I\u2019m considering an upgrade to either the Ryzen 7 5800X3D valued at $330 or the Ryzen 9 5950X valued at $452. Honestly, it doesn\u2019t matter which one\u2014I just need that extra boost for compiling stuff.

    ","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/#what-gpu","title":"What GPU ?","text":"

    That\u2019s where things get a bit tricky. I\u2019m still undecided between sticking with nVidia or switching to AMD. I am currently torn between the two. Now, I know most of you would recommend AMD because it\u2019s hassle-free on Linux\u2014and you\u2019d be right. But as a content creator who relies on Cuda and nVidia's nVenc Encoder, I\u2019m leaning towards sticking with nVidia.

    However, if I do decide to switch to Team Red, I\u2019d go for the RX 6950XT currently valued at $400 here. Otherwise, if I stay with Team-Green, it\u2019s going to be the RTX 3090 valued at $595.

    ","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/#conclusion","title":"Conclusion","text":"

    Upgrading the GPU is my top priority right now, as it will make the most significant impact. My current GTX 1080 is nearing its end-of-life, and I can manage with my Ryzen 5 3600X for a bit longer. So, if you can help me raise enough funds to upgrade the GPU and stay ahead in the Linux world, I\u2019d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.

    Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we\u2019ll reach the goal in no time. Your support means the world to me, and it\u2019ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.

    ","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"priv/be-thankful/","title":"Be Thankful","text":"","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#whats-this","title":"What's This?","text":"

    Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#content-creators","title":"Content Creators","text":"

    Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.

    YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.

    Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#writers-blog-posters","title":"Writers / Blog Posters","text":"

    This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.

    One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I\u2019ve learned to improve, and I thank them for that.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#appreciating-ccs-and-writers","title":"Appreciating CCs and Writers","text":"

    We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.

    Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.

    As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#fostering-a-positive-community","title":"Fostering a Positive Community","text":"

    The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.

    When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.

    Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#conclusion","title":"Conclusion","text":"

    Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/developing-is-fun-but/","title":"Developing is fun","text":"","tags":["Linux","Development","Developer"]},{"location":"priv/developing-is-fun-but/#am-i-a-developer","title":"Am I a Developer ?","text":"

    Lol, yeah, I know\u2014it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code\u2014specifically Bash. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.

    And if it does work, I'm happy and share the result with the FOSS community.

    ","tags":["Linux","Development","Developer"]},{"location":"priv/developing-is-fun-but/#its-fun-until","title":"It's fun until...","text":"

    Doing this is super fun and fulfilling\u2014until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.

    Now, I know I can reach out to the FOSS community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.

    Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere\u2014not just in FOSS. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.

    Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.

    ","tags":["Linux","Development","Developer"]},{"location":"priv/developing-is-fun-but/#sharing-is-caring","title":"Sharing is caring","text":"

    This is the part where I say: please, don't keep your work to yourself. Share it with the community\u2014who knows, maybe you'll find someone who can help take your project to another level.

    I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.

    \"Sharing is caring,\" as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)

    ","tags":["Linux","Development","Developer"]},{"location":"priv/real-foss-struggles/","title":"FOSS Struggles","text":"","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#hello-everyone","title":"Hello everyone,","text":"

    Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.

    Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.

    P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let\u2019s dive in.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#my-frustration","title":"My Frustration","text":"

    Recently, I\u2019ve been investing a lot of time and effort into my projects and contributing to FOSS (Free and Open Source Software) wherever possible. While I find this work rewarding, it\u2019s also been increasingly frustrating. Why? Let me explain.

    I spend countless hours working behind the scenes to make everyone\u2019s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it\u2019s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I\u2019m making a real impact.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#seeking-purpose","title":"Seeking Purpose","text":"

    Initially, I embarked on this journey for fun and to learn new things. However, lately, I\u2019ve been questioning the purpose behind my efforts. It feels like I\u2019m stuck in a cycle of constant work with little to show for it. This isn\u2019t about blaming anyone; it\u2019s about seeking the motivation to keep going.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#monetization-attempts","title":"Monetization Attempts","text":"

    As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a \"pay what you can\" model, hoping it would help sustain my work. However, this didn\u2019t go as planned.

    The FOSS community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It\u2019s a complex issue, and while some have been supportive, overall, the response hasn\u2019t been enough to make a significant difference.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#health-concerns","title":"Health Concerns","text":"

    On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn\u2019t cheap, and without stable income, it\u2019s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#mental-health-struggles","title":"Mental Health Struggles","text":"

    The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#the-way-forward","title":"The Way Forward","text":"

    Given these circumstances, I\u2019m focusing more on forums and this blog. Writing provides a creative outlet that isn\u2019t constrained by algorithms or view counts. I\u2019ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.

    My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#closing-thoughts","title":"Closing Thoughts","text":"

    I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.

    For now, I need to prioritize my well-being and financial stability. Once those are in place, I\u2019ll be back with future projects. Right now, I\u2019m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.

    Thank you for understanding and supporting me through this journey.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"projects/cosmic-script/","title":"Cosmic Install Script","text":".//Updated on Sep. 15th 2024\\\\.

    Info

    This project has moved to the XeroLinux Wiki. Will keep this page around for updates. Keep in mind it's in Alpha.

    ","tags":["Linux","CosmicDE","XeroLinux","ArchLinux"]},{"location":"projects/cosmic-script/#script-info","title":"Script info","text":"

    Well, it does what title says, it installs Cosmic in one of 3 ways, similar to how my Plasma Install script does.

    • Complete : Installs Cosmic from Extra Repos.
    • Selective : Select pkgs you want yourselves.
    • Development : Commit-based Install -DANGER-.

    Included are some useful packages, like a freaking web browser eg. Firefox, an archive manager, Meld and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official Arch Repositories are supported, none from the AUR.

    ","tags":["Linux","CosmicDE","XeroLinux","ArchLinux"]},{"location":"projects/cosmic-script/#wrapping-up","title":"Wrapping up","text":"

    Cosmic is shaping up to be the DE that might break the current Top 2 (KDE and Gnome) making it the Top 3 DEs of all time. Who knows ? I wish the System76 team all the best.

    Cheers !

    ","tags":["Linux","CosmicDE","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/","title":"XeroLinux Channel","text":"","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/#youtube-channel","title":"YouTube Channel ?","text":"

    Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, Nice!.

    But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.

    ","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/#what-now-xero","title":"What now Xero ?","text":"

    Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since YouTube and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.

    ","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/#whats-the-catch","title":"What's the Catch ?","text":"

    This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the XeroLinux Ko-Fi fundraiser for the forseeable future.

    Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to donate, however would be highly appreciated if you do.

    ","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/#future-plans","title":"Future Plans","text":"

    When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.

    Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.

    Anyways, thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/why-is-distro-back/","title":"Why Revive XeroLinux","text":"

    Info

    This post will explain why I decided to bring back XeroLinux and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the XeroLinux Wiki

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#what-is-xerolinux","title":"What is XeroLinux","text":"

    In short, it's just an alternative to the Plasma Install Script, making it easier to install Arch, bypassing the need for ArchInstall. The ISO includes my toolkit as well as my famous Xero Layan Rice all-in-one shot.

    You can use the included Xero Toolkit, 1st icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the Chaotic-AUR repository so it's easier for you to install AUR packages rather from having to compile them.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#why-is-xerolinux-back","title":"Why is XeroLinux back","text":"

    To explain why, let me set the stage. As you may already know, I\u2019m going through significant financial difficulties. Living in Lebanon, finding a job\u2014especially a remote one\u2014is extremely challenging, and the situation continues to worsen. I won\u2019t rehash the entire story here, but if you\u2019re not familiar, you can read more about it in this BlogPost.

    After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro\u2019s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it\u2014and make it a way to sustain myself?

    Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the DistroWatch rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!

    That answers the why.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#how-to-get-it","title":"How to get it","text":"

    I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO\u2014a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the Release Post

    Now, I know that some of you will say, \"But it's FOSS; you shouldn't charge for it.\" To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the Source Code and do with it as you wish. I am simply charging for my time.

    The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up\u2026 well, let's not dwell on that. Let\u2019s focus on keeping it alive and thriving for a long and happy journey together!

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#is-it-any-special","title":"Is it any Special","text":"

    This is a common question I get. To be honest, there\u2019s no groundbreaking advantage\u2014it simply provides an easier way to install Arch with a polished KDE experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.

    Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that XeroLinux is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#how-to-get-it-for-free","title":"How to get it for free","text":"

    If you can\u2019t support me financially but still want XeroLinux, while the ISO isn't available for free right now, you can still achieve similar results with my PlasmaInstall script, which will always be free of charge. It just requires a bit more elbow grease on your part\u2014that\u2019s all there is to it!

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#i-dont-like-arch","title":"I don't like Arch","text":"

    In case you don't like Arch for whatever reason, but still want to support me, I have put up a Merch Store where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#private-donations","title":"Private Donations","text":"

    Did you know I have a private fundraiser account? It\u2019s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at FundRazr.

    Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving XeroLinux, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn\u2019t been getting much support. Ideally, I\u2019d love to keep these funds separate, but ultimately, it\u2019s your choice.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#wrapping-up","title":"Wrapping up","text":"

    That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.

    Thank you to each and everyone for the support.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"tech/cosmic-experience/","title":"My Cosmic Experience","text":"

    Note

    Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.

    ","tags":["Linux","Cosmic","ArchLinux"]},{"location":"tech/cosmic-experience/#installation","title":"Installation","text":"

    The Cosmic DE hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.

    Since I am an avid ArchLinux user, that's how I installed it. I did not use the Pop!_OS 24.04 LTS alpha ISO from >> Cosmic Downloads. So my views come from there. So I cannot compare.

    Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the ArchInstall profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.

    Now on to the more detailed things I have done to install Cosmic. I first installed Arch Minimal using the ArchInstall script, meaning that I avoided the profiles, & drivers sections completely, I always choose Grub as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in chroot I installed the DE the following way, knowing that, we can skip the use of sudo since we are still logged in as root...

    pacman -Syy && pacman -S cosmic linux-headers pacman-contrib xdg-user-dirs power-profiles-daemon wayland-protocols wayland-utils\n

    Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because cosmic is not a single one, it's a Group of packages or a meta-package as it is known as. That said, the reason I installed linux-headers is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially xdg-user-dirs without which no Documents, Pictures, Videos... folders will be created. Strange I know.

    What I also found weird, is the fact that cosmic-greeter service was not being enabled after install which was netting me a boot to TTY session. So I had to enable it while at the same time generating the user-dirs via...

    systemctl enable cosmic-greeter.service && xdg-user-dirs-update\n

    Keep in mind that I am doing all this while still in chroot post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.

    ","tags":["Linux","Cosmic","ArchLinux"]},{"location":"tech/cosmic-experience/#experience","title":"Experience","text":"

    Now on to what y'all came here for. All was good, well sorta, system rebooted into Grub, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some TTY dmsg errors, flickering on and off. But after a few seconds I finally saw the Cosmic Greeter login screen, relief finally.

    I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an nVidia user, I thought could be a driver issue since on first boot it uses the not so great nouveau ones. That's why my first reflex was to install them, so I did.

    After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about EGL drm crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?

    As it turns out I had forgotten to include the nVidia drm kernel modules lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.

    sudo sed -i '/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf\nsudo systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service nvidia-powerd.service\necho -e 'options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02' | sudo tee -a /etc/modprobe.d/nvidia.conf\necho -e 'options nvidia_drm modeset=1 fbdev=1' | sudo tee -a /etc/modprobe.d/nvidia.conf && sudo mkinitcpio -P\n

    After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like XFCE. Fired up top to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than KDE Plasma ! Nice !

    Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run nmtui and deactivate it from there making sure it doesn't automatically reconnect on login.

    Now on to the System Settings. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..

    That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.

    Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean Cosmic-Notes was there, just not handling documents...

    I try to right-click > open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself \"It's Alpha Software, calm down Steve\".

    To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a CLI and no default app set ? I dunno.

    Finally I decided to try out the thing that almost everyone's raving about, Tiling/Stacking. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...

    That's where I gave up and decided to go back home to KDE Plasma.

    ","tags":["Linux","Cosmic","ArchLinux"]},{"location":"tech/cosmic-experience/#final-words","title":"Final words","text":"

    Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.

    It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.

    I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. Cosmic has come a long way in such a short time. I mean, writing a DE from scratch using Rust a sorta new programming language is no easy feat.

    I will end the post by congratulating the System76 dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a XeroCosmic to the family.. Just don't hold your breath on that, it ain't set in stone.

    ","tags":["Linux","Cosmic","ArchLinux"]},{"location":"tech/docker-containers-a-love-story/","title":"Docker A Love Story","text":"","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#what-is-docker","title":"What is Docker ?","text":"

    Docker is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.

    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#how-it-all-started","title":"How it all started","text":"

    It all started with Distrobox. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered Docker containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like Immich for images and videos, which would allow me to sync my devices locally rather than with Apple iCloud or Google making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...

    With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3rd party conglomerates made me fall in love more and more as time went by...

    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#my-setup-so-far","title":"My setup so far","text":"

    Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive MY setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.

    • Homepage

    To start off, let me tell you what am using for the page you see in the image, it's simply called Homepage. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via YAML configurations files, and that the community behind it are so damn friendly ! Yep, there is no dumb question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their Discord Server.

    • File Browser

    As for the File Browser I use to share files between PCs, it's also has a creative name lol, just called FileBrowser, it serves one purpose, browsing files, with ability to upload & download from/to any PC. That's it. It just works nothing else to say about that.

    • Search Engine (Xoogle)

    Hehe, the only reason I called it Xoogle is coz it's Xero + Google, get it ? Anyway, this is using something called Whoogle, weird name I know, loogs damn ugly too. It's just a search engine that uses Google stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of Google the way it was back in the day..

    • Vaultwarden

    That's a 3rd-party Bitwarden server-as-a-container, endorsed by them so can be trusted called Vaultwarden. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.

    • ShareX

    This one is not for everyone. It uses Zipline. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.

    • My Comics

    I am a big fan of comic books, especially the ones from my childhood. This container uses Kavita. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their Discord Server.

    • Audiobookshelf

    I guess I do not need to explain that one. It's just a docker container for Audiobookshelf. In case you have some Audio books or podcasts. Have fun.

    • FreshRSS

    That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called FreshRSS. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.

    • Immich

    Now, this is one of the big ones, Immich is an amazing image cloud like service. Allowing you to move away from Apple and Google. I love that as I said at the beginning of this long post. They even have companion apps for both Android and iOS which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.

    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#you-get-the-idea","title":"You get the idea","text":"

    Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's BIG rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.

    • Plex Server
    • meTube
    • Koel
    • Tautulli
    • Portainer
    • PairDrop
    • IT-Tools
    • Cockpit
    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#where-to-find-more-containers","title":"Where to find more containers ?","text":"

    Well, there are many places, but my favorite has to be Selfh.st hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.

    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#closing-words","title":"Closing words","text":"

    Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.

    Thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ","tags":["Linux","Docker","Containers"]}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"\ud83c\udfe0Home","text":""},{"location":"#welcome","title":"Welcome","text":"

    Info

    All the documentation found herein, will be for ArchLinux since that's the distro I use. Some will be general Linux ones. Also docs will be mostly modified to work for me and my hardware. Please do keep that in mind when going through this site.

    Welcome to DarkXero's Bytes ! This is where I will be posting my thoughts, feelings and some documentation for myself so I do not have to keep looking for them. All the opinions, thoughts and feelings are my own. If I find something useful worth sharing publicly, I will be posting it on the XeroLinux main site.

    Documenting my learning journey has become an essential part of my Linux experience. It's a powerful way to make life less stressful. Instead of wracking my brain trying to recall a solution from memory or scouring forums and wikis repeatedly for the same answers, I believe that a well-documented note can save time, reduce frustration, and make troubleshooting a far less daunting task. It becomes a reliable companion, ready to guide me whenever a familiar issue arises or a new challenge demands attention.

    "},{"location":"SUMMARY/","title":"SUMMARY","text":"
    • \ud83c\udfe0Home
    • \ud83d\uddd2\ufe0fDocumentation
    • \ud83d\udcb0Fundraising
    • \ud83d\udde8\ufe0fThoughts
    • \ud83d\udcbbProjects
    • \u2699\ufe0fTechnology
    "},{"location":"docs/affinity-linux/","title":"Affinity on Linux","text":"

    Warning

    I am aware that these apps are what's called \"Proprietary\" and require us to purchase a one-time License in order to use them indefinitely. It's on you how you get them. I will not condone piracy anywhere on my sites. Please be aware of that while you follow this guide.

    ","tags":["Linux","Affinity","Photoshop"]},{"location":"docs/affinity-linux/#whats-this","title":"What's This?","text":"

    This for my own use. Use it if you want to. Just documenting the installation of Affinity Apps on Linux with the help of some scripts I found thanks to Twig6943 who went out of his way to create them.

    ","tags":["Linux","Affinity","Photoshop"]},{"location":"docs/affinity-linux/#installation","title":"Installation","text":"

    First we will need to download the Photo, Designer or Publisher exe from the dropdown. Once we have it/them, we will need to go through the following script(s). Process might take time and a Discreet GPU is highly recommended for Hardware Acceleration & good performance.

    Note

    Do not cut-paste installers into location indicated by scripts as they will get deleted once script is done. Before running the scripts below, check if you have the required Dependencies

    • Affinity Photo

    Affinity Photo is a professional-grade photo editing software, designed for photographers, artists, and designers. Known for its robust performance, it offers a comprehensive suite of tools, including advanced retouching, color correction, RAW editing, and non-destructive layering, making it a versatile alternative to Adobe Photoshop.

    bash -c \"$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPhoto.sh)\"\n
    • Affinity Designer

    Affinity Designer is a versatile vector graphics design software, ideal for illustrators, graphic designers, and artists. It offers a comprehensive set of tools for vector illustration, typography, and layout, allowing for precise control over shapes, paths, colors, and gradients. Known for its smooth performance, even with complex designs.

    bash -c \"$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityDesigner.sh)\"\n
    • Affinity Publisher

    Affinity Publisher is a professional desktop publishing software, designed for creating layouts for books, magazines, brochures, and other print and digital publications. It provides a range of powerful tools for precise typography, image placement, and page design, allowing users to create visually engaging documents.

    bash -c \"$(curl -s https://raw.githubusercontent.com/Twig6943/AffinityOnLinux/main/AffinityScripts/AffinityPublisher.sh)\"\n
    ","tags":["Linux","Affinity","Photoshop"]},{"location":"docs/affinity-linux/#wrap-up","title":"Wrap up","text":"

    Tip

    Check the Written Guide if you prefer doing it manually. Also the author posted his scripts on the Affinity's forums, who knows maybe in the future a Linux native version ? Let's all cross our fingers \ud83e\udd1e

    That's it. Once all done we can launch them from the shortcuts the scripts create. That's the closest to Photoshop I have ever gotten, without having to go through WinBlows if ya know what I mean.

    Guide wasn't posted on main site due to the nature of the products included. Also this was, as I said earlier primarily written for myself so I do not have to go digging for it on the web. For archival purposes sorta.

    ","tags":["Linux","Affinity","Photoshop"]},{"location":"docs/build-archiso/","title":"ArchISO Build","text":"","tags":["Linux","ArchISO","ArchLinux"]},{"location":"docs/build-archiso/#information","title":"Information","text":"

    This guide was written by following the ArchWiki. It's for my own use. The public version can be found on the official XeroLinux. This version will always be updated. Sometimes need to remind myself which files to modify...

    ","tags":["Linux","ArchISO","ArchLinux"]},{"location":"docs/build-archiso/#lets-do-this","title":"Let's do this \ud83d\ude80","text":"

    First off we need to grab a few packages in order to be able to build the ISO.

    sudo pacman -S archiso\n

    Now we need create two folders in our home directory or anywhere else, up to you, one called XeroWork for placing extracted files, another called XeroOut where final ISO will be located.

    mkdir ~/XeroWork && mkdir ~/XeroOut\n

    Modify the packages.x86_64 inside releng folder add the necessary required packages. Now that it's all done we can proceed to building a fresh new & updated ArchISO. Just use the command below and watch the magic happen.

    sudo mkarchiso -v -w ~/XeroWork -o ~/XeroOut /usr/share/archiso/configs/releng\n

    Finally we can delete the work directory to save space. just do sudo rm -rf ~/XeroWork/.

    That's it !

    ","tags":["Linux","ArchISO","ArchLinux"]},{"location":"docs/ffmpeg-cheats/","title":"FFmpeg Cheat Sheet","text":"","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#whats-this","title":"What's This?","text":"

    This for my own use. Use it if you want to. Just documenting the use of FFmpeg on Linux.

    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#installation","title":"Installation","text":"

    First we will need to install FFmpeg. I will be doing it on ArchLinux since that's what I use. Look for packages on your distro if you don't use it.

    sudo pacman -S --noconfirm --needed ffmpeg ffmpegthumbnailer ffmpegthumbs qt6-multimedia-ffmpeg\n

    Now that we have it, it's time for the cheat sheet.

    .// The Cheat Sheet \\\\.","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#basic-conversion","title":"Basic conversion","text":"
    ffmpeg -i in.mp4 out.avi\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#remux-an-mkv-file-into-mp4","title":"Remux an MKV file into MP4","text":"
    ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#high-quality-encoding","title":"High-quality encoding","text":"

    Use the crf (Constant Rate Factor) parameter to control the output quality. The lower crf, the higher the quality (range: 0-51). The default value is 23, and visually lossless compression corresponds to -crf 18. Use the preset parameter to control the speed of the compression process. Additional info.

    ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#trimming","title":"Trimming","text":"

    Without re-encoding:

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4\n
    - -ss specifies the start time, e.g. 00:01:23.000 or 83 (in seconds) - -t specifies the duration of the clip (same format). - Recent ffmpeg also has a flag to supply the end time with -to. - -c copy copies the first video, audio, and subtitle bitstream from the input to the output file without re-encoding them. This won't harm the quality and make the command run within seconds.

    With re-encoding:

    If you leave out the -c copy option, ffmpeg will automatically re-encode the output video and audio according to the format you chose. For high quality video and audio, read the x264 Encoding Guide and the AAC Encoding Guide, respectively.

    For example:

    ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#mux-video-and-audio-from-another-video","title":"Mux video and audio from another video","text":"

    To copy the video from in0.mp4 and audio from in1.mp4:

    ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4\n
    - With -c copy the streams will be stream copied, not re-encoded, so there will be no quality loss. If you want to re-encode, see FFmpeg Wiki: H.264 Encoding Guide. - The -shortest option will cause the output duration to match the duration of the shortest input stream. - See the -map option documentation for more info.","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#concat-demuxer","title":"Concat demuxer","text":"

    First, make a text file.

    file 'in1.mp4'\nfile 'in2.mp4'\nfile 'in3.mp4'\nfile 'in4.mp4'\n
    Then, run ffmpeg:
    ffmpeg -f concat -i list.txt -c copy out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#delay-audiovideo","title":"Delay audio/video","text":"

    Delay video by 3.84 seconds:

    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4\n
    Delay audio by 3.84 seconds:
    ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#burn-subtitles","title":"Burn subtitles","text":"

    Use the libass library (make sure your ffmpeg install has the library in the configuration --enable-libass).

    First convert the subtitles to .ass format:

    ffmpeg -i sub.srt sub.ass\n
    Then add them using a video filter:
    ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#extract-the-frames-from-a-video","title":"Extract the frames from a video","text":"

    To extract all frames from between 1 and 5 seconds, and also between 11 and 15 seconds:

    ffmpeg -i in.mp4 -vf select='between(t,1,5)+between(t,11,15)' -vsync 0 out%d.png\n

    To extract one frame per second only:

    ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#rotate-a-video","title":"Rotate a video","text":"

    Rotate 90 clockwise:

    ffmpeg -i in.mov -vf \"transpose=1\" out.mov\n

    For the transpose parameter you can pass:

    0 = 90CounterCLockwise and Vertical Flip (default)\n1 = 90Clockwise\n2 = 90CounterClockwise\n3 = 90Clockwise and Vertical Flip\n

    Use -vf \"transpose=2,transpose=2\" for 180 degrees.

    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#download-transport-stream-video-streams","title":"Download \"Transport Stream\" video streams","text":"
    1. Locate the playlist file, e.g. using Chrome > F12 > Network > Filter: m3u8
    2. Download and concatenate the video fragments:
    ffmpeg -i \"path_to_playlist.m3u8\" -c copy -bsf:a aac_adtstoasc out.mp4\n

    If you get a \"Protocol 'https not on whitelist 'file,crypto'!\" error, add the protocol_whitelist option:

    ffmpeg -protocol_whitelist \"file,http,https,tcp,tls\" -i \"path_to_playlist.m3u8\" -c copy -bsf:a aac_adtstoasc out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#mute-some-of-the-audio","title":"Mute some of the audio","text":"

    To replace the first 90 seconds of audio with silence:

    ffmpeg -i in.mp4 -vcodec copy -af \"volume=enable='lte(t,90)':volume=0\" out.mp4\n

    To replace all audio between 1'20\" and 1'30\" with silence:

    ffmpeg -i in.mp4 -vcodec copy -af \"volume=enable='between(t,80,90)':volume=0\" out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#deinterlace","title":"Deinterlace","text":"

    Deinterlacing using \"yet another deinterlacing filter\".

    ffmpeg -i in.mp4 -vf yadif out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#create-a-video-slideshow-from-images","title":"Create a video slideshow from images","text":"

    Parameters: -r marks the image framerate (inverse time of each image); -vf fps=25 marks the true framerate of the output.

    ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#extract-images-from-a-video","title":"Extract images from a video","text":"
    • Extract all frames: ffmpeg -i input.mp4 thumb%04d.jpg -hide_banner
    • Extract a frame each second: ffmpeg -i input.mp4 -vf fps=1 thumb%04d.jpg -hide_banner
    • Extract only one frame: ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 thumb.jpg
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#display-the-frame-number-on-each-frame","title":"Display the frame number on each frame","text":"
    ffmpeg -i in.mov -vf \"drawtext=fontfile=arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099: fontsize=72\" -y out.mov\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#metadata-change-the-title","title":"Metadata: Change the title","text":"
    ffmpeg -i in.mp4 -map_metadata -1 -metadata title=\"My Title\" -c:v copy -c:a copy out.mp4\n
    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/ffmpeg-cheats/#wrap-up","title":"Wrap up","text":"

    That's it. If you have any additional tips send them my way so I can add to this thing. The more the merrier. Useful for all.

    ","tags":["Linux","FFmpeg","CheatSheet"]},{"location":"docs/linux-explained/","title":"Linux in a Nutshell","text":"

    I thought I'd share this explanation about Linux a good friend and fellow Linux enthusiast REALERvolker1 recently posted on Discord.

    Tip

    The following requires some basic Operating System knowledge (terminologies). Also do not take this as a complete walk-through, We did not even go through the various Desktop Environments or Window Managers. Nevertheless, we hope this gives you some idea of what you'll be walking into when swtiching...

    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/linux-explained/#what-is-linux","title":"What is Linux ?","text":"

    Since not everyone's super familiar with Linux, here's a quick crash course.

    Linux is a Monolithic Kernel, so all the drivers and whatnot are compiled into the binary. The Nonfree software is usually put in the actual source repo as binary blobs, or in the case of nVidia drivers, built using a system called DKMS and compiled into the kernel binary.

    Once the computer boots up, an init process is started (the default is /sbin/init, usually a symlink to your init system), which is PID 1. This is when userspace is initialized. Due to security concerns and whatnot, you are restricted from having too much fun in userspace, so you need to ask the kernel to read files and allocate memory for you using syscalls.

    Anyways, init starts all the userspace stuff (it itself is run in userspace) and this keeps the system secure. Since Linux is monolithic, you can't just throw a malicious library into kernel space at runtime somehow, you have to compile it in. Anyways, Linux is a lot like Unix, with one notable difference being that Linux Is Not UniX. This means it uses the typical Unixy way of doing things like restricting access based on users and groups, being POSIX compliant, and not really caring about file extensions.

    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/linux-explained/#distros-pkg-managers","title":"Distros & PKG Managers","text":"

    On Debian, you install packages with apt. If you can't remember the package name you want, you can use apt to search for it, or use synaptic as a GUI frontend. If your desktop environment comes with one, you can use theirs, as that one should be easier to use, while still providing the exact same functionality. You don't install programs by downloading them from the internet. If you have any questions, the Debian Wiki is pretty mid, but the Arch Wiki is amazing.

    Since Arch Linux aims to be the most generic Linux distro ever, information written for it should also help with Debian, as long as the Arch package didn't receive significant updates in the meantime. There are other ways to install software, like:

    • Flatpak: Sandboxed apps that \"just work\" on every distribution.
    • Snap: Ubuntu's sandboxed apps that are supposed to work on every distribution but have had mixed results.
    • AppImages: These are like .exe files on Windows, but they require adding executable permissions and manually launching them. They also won't have a desktop entry by default.
    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/linux-explained/#filesystem-updates","title":"Filesystem & Updates","text":"

    If you connect your system to the internet, you should update it at least once a week to protect against known vulnerabilities. If you're not connected to the internet, you can choose whether to update or not\u2014it might fix a bug.

    As for the filesystem:

    • /etc is where your Editable Text Configurations go.
    • /usr is where program files go.
    • /usr/local is where program files go for programs you manually installed.
    • /home is where your personal files go.
    • /dev is for device files.
    • There is no C or D drive; instead, you mount external drives to a location, like /mnt. A GUI file manager mounts flash drives somewhere in /run since it is temporary.
    • /opt is where miscellaneous stuff goes.
    • /var is for variable data like system logs.
    • /tmp is for temporary files.
    • /dev/null is a \"black hole\" for data you want to discard.
    • /dev/urandom is an IO-based random number generator.

    In UNIX, everything is a file. This means you can:

    • See process details by reading files in /proc.
    • Check system settings or driver configurations in /sys.
    • View your bootloader in /boot.
    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/linux-explained/#wrapping-it-all-up","title":"Wrapping it all up","text":"

    This was a quick run-through explaining what GNU/Linux is written is, written as mentioned earlier by a good friend. I did not post it on the main site simply because I feel it's not as complete as I would like it to be.

    ","tags":["Linux","Kernel","Packages"]},{"location":"docs/mkdocs-install/","title":"MKDocs Install","text":"","tags":["Linux","MKDocs","Blogging"]},{"location":"docs/mkdocs-install/#whats-this","title":"What's This?","text":"

    This for my own use. Use it if you want to. Just documenting the installation of MKDocs the way that works for me. You are free to go over this and take from it what suites you the best. Please do not ask me for help, it's all there on their site. Also this for ArchLinux if you don't use that distro, well, their site shows how to install for your distro.

    ","tags":["Linux","MKDocs","Blogging"]},{"location":"docs/mkdocs-install/#installing-mkdocs","title":"Installing MKDocs","text":"

    We will need to install it with some extras. The 2 main packages exist on the Arch repos. The rest are on the AUR, so to grab everything in one go, I will be using Paru. Compiling might take a while, so sit back wile it finishes.

    paru -S --noconfirm mkdocs mkdocs-get-deps mkdocs-material python-pipx\n

    Donce that's done we need to create the site. There's a command for that.

    mkdocs new my-project\ncd my-project\n

    Now that we initialized the new site we need to configure it. We do so by editing the mkdocs.yml file putting in the following info :

    site_name: Sitename\n\ntheme:\n  name: material\n  logo: assets/Tux.gif\n  favicon: assets/favicon.ico\n  palette:\n    scheme: slate\n    primary: deep purple\n  features:\n   - navigation.top\n   - navigation.footer\n   - navigation.indexes\n   - content.code.copy\n   - search.suggest\n   - search.highlight\n   - search.share\n   - navigation.expand\n

    This will make it use the Slate Material Theme with Deep Purple accents. To know more about the theme check the MKDocs Material Wiki. That's it go from there.

    ","tags":["Linux","MKDocs","Blogging"]},{"location":"docs/mkdocs-install/#plugins-extra-stuff","title":"Plugins & Extra Stuff","text":"

    I have found a few that I liked on the AUR, let's install them via :

    paru -S --noconfirm mkdocs-autorefs mkdocs-section-index mkdocs-glightbox mkdocs-backlinks-plugin mkdocs-redirects mkdocs-ezlinks-plugin mkdocs-literate-nav\n

    For RSS feed and video plugins we will have to do it manually. I think this method is being discontinued but that's the only way it worked for me, so will use it lol...

    • MKDocs-Video
    wget https://files.pythonhosted.org/packages/cf/16/45213649b6756744f36f31014fc8673df1d7c998bb9a801c2d769fff4114/mkdocs-video-1.5.0.tar.gz\n

    Extract & cd into it then run the following command :

    sudo python setup.py install\n
    • MKDocs-RSS
    git clone https://github.com/Guts/mkdocs-rss-plugin.git\n

    Now we cd into it then run the following command :

    sudo python setup.py install\n

    To activate them we edit the same mkdocs.yml file as before like so :

    plugins:\n  - rss\n  - social\n  - search\n  - autorefs\n  - glightbox\n

    There are some cool features we can enable too. Only gotta figure out why some are not working. Besides that, this is how we add them :

    markdown_extensions:\n\n  # Python Markdown\n   - abbr\n   - admonition\n   - attr_list\n   - def_list\n   - footnotes\n   - md_in_html\n   - toc:\n      permalink: true\n\n  # Python Markdown Extensions\n   - pymdownx.arithmatex:\n       generic: true\n   - pymdownx.betterem:\n       smart_enable: all\n   - pymdownx.caret\n   - pymdownx.details\n   - pymdownx.emoji:\n      emoji_index: !!python/name:material.extensions.emoji.twemoji\n      emoji_generator: !!python/name:material.extensions.emoji.to_svg\n   - pymdownx.highlight:\n      anchor_linenums: true\n      line_spans: __span\n      pygments_lang_class: true\n   - pymdownx.inlinehilite\n   - pymdownx.keys\n   - pymdownx.mark\n   - pymdownx.smartsymbols\n   - pymdownx.superfences\n   - pymdownx.tabbed:\n       alternate_style: true\n   - pymdownx.tasklist:\n       custom_checkbox: true\n   - pymdownx.tilde\n\nextra:\n  social:\n    - icon: fontawesome/brands/github\n      link: https://github.com/darkxero-dev\n    - icon: fontawesome/brands/youtube\n      link: https://youtube.com/XeroLinuxOfficial\n    - icon: fontawesome/brands/x-twitter\n      link: https://twitter.com/xerolinuxop\n    - icon: fontawesome/brands/mastodon\n      link: https://fosstodon.org/@xerolinux\n

    That's it for now. I will be updating this post as I learn more. Still need to figure out a few things. I am just starting with this. Thanks to @JustAGuyLinux for helping out a little hehe.

    ","tags":["Linux","MKDocs","Blogging"]},{"location":"docs/passwd-reset/","title":"Reset Password","text":"","tags":["Linux","Reset","Recovery"]},{"location":"docs/passwd-reset/#information","title":"Information","text":"

    I have lost my root pass on Linux more times than I can count. This guide is here so I do not have to Google it lol. Might be useful to you I dunno. But it's here.

    ","tags":["Linux","Reset","Recovery"]},{"location":"docs/passwd-reset/#lets-do-this","title":"Let's do this \ud83d\ude80","text":"

    How to reset forgotten root password in a GNU/Linux distribution with GRUB?

    If this is a laptop or a desktop which you have next to you then follow these steps.

    1. Shut down the device.
    2. Start it again. When you see GRUB menu, press the e key on the keyboard before the system starts booting.
    3. In the GRUB boot options, scroll down and locate the line that begins with linux. In this line move the cursor to the end, right after ro quiet. Delete everything after that. Change ro to rw. Append the parameter init=/bin/bash
    4. Press Ctrl+x, or F10, to boot.
    5. You will see a root prompt.
    :#\n

    Remount the filesystem in read/write mode:

    :# mount -no remount,rw /\n
    1. Set the password of any user(s).
    :# passwd joe\n
    1. Reboot with the command reboot -f.

    That's it ! The new password should work now.

    ","tags":["Linux","Reset","Recovery"]},{"location":"fund/foss-fundraising/","title":"FOSS Fundraising","text":"","tags":["Linux","ArchLinux","Fundraising"]},{"location":"fund/foss-fundraising/#backstory","title":"Backstory","text":"

    Before I begin, I would like to clarify that, when I say Linux in this context I mean Desktop Linux.

    When I started this whole Linux endeavor, I did not have money in mind. It all started back in 2020, when I fell in love with KDE Plasma while using the now infamous Manjaro Distrobution. Yes, this is when I got hooked to Linux. Now don't get me wrong, I have since tried many DEs and WMs. But alas only KDE Plasma answered my needs.

    Since then I started getting the urge to build my own Distro my way. With everything I wanted out the box. At first it was hard, real hard. I couldn't find an easy way to do it. That's until I stumbled upon a project we all know and love called ArcoLinux. Yep, they are all about learning and becoming self-reliant. Especially that it was based on my favorite builder Distro ArchLinux.

    ","tags":["Linux","ArchLinux","Fundraising"]},{"location":"fund/foss-fundraising/#fundraising","title":"Fundraising","text":"

    Now we get to the meat and potatoes of this post, why ask for money when it's FOSS ? Well in case you did not know, the Free in Free Open Source does NOT mean free of charcge, instead it means Freedom to fork and do with what you want. So us Developers have all the right in the word to charge for our time. Read that again, charge for our TIME.

    Many of us are just contributers, contributing much of our free time, constantly giving without asking for anything in return. Which means no R.O.I (return on time invested). Some, not many, with a real job can do that for a long time, with the rest of us without one, or having difficulties IRL, use the knowledge and creations as a sole means of survival. Especially as a single individual.

    Now, I do agree with you when you say, we shouldn't force you to pay. That's why we use the Fundraising or Donation methods. While we do not force you, it would be great if you did. Would help both of us. You get a useful product while we are able to survive to give you more. A Win-Win scenario. So if you feel like helping me out financially, you can do so via the Donate button in the menu up top or on the side if you are on mobile, or via button below. Thanks ;)

    ","tags":["Linux","ArchLinux","Fundraising"]},{"location":"fund/foss-fundraising/#hate-in-foss","title":"Hate in FOSS","text":"

    Now let's address the other elephant in the room, the hate in the FOSS community. I see a lot of Devs out there, including myself receiving hate, for that reason. Simply because of the misinterpretation of the word Free in Free Open Source. That should stop. We need a more collaborative community. There are tons of friendly ones out there, but equally there are plenty who build projects for the sake of showing off how much they despise others, the ones we call Protest Distros. Now am not going to name any names here, but the longer this goes on, the slower Linux will grow.

    So if you love Linux as much as you say you do, please help your favorite projects grow in any way shape or form, either Donating for financial support if you can and are not a developer, or by simply Reporting Issues upstream helping them get better. Complaining for the sake of it, or hating will go nowhere.

    Anyways, thanks for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    See ya there

    ","tags":["Linux","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/","title":"GPU &/or CPU Fund","text":"","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/#whats-this","title":"What's this ?","text":"

    My PC could really use an upgrade. I\u2019m not looking to build a whole new rig, but I definitely need to swap out a few key parts like the CPU and GPU. With the XeroLinux Distro not coming back anytime soon, it\u2019s crucial to put funds towards these upgrades where they truly matter.

    As you can see from image above, the GTX 1080 (my current GPU) will be soon dropped from upcoming Open Module Drivers.. So I will be stuck with what it currently supports no future for me. As nVidia just announced it's going full Open-Source. You can read more on >> This Article

    ","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/#what-cpu","title":"What CPU ?","text":"

    Well, I\u2019m not looking for much. For the CPU, I\u2019m considering an upgrade to either the Ryzen 7 5800X3D valued at $330 or the Ryzen 9 5950X valued at $452. Honestly, it doesn\u2019t matter which one\u2014I just need that extra boost for compiling stuff.

    ","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/#what-gpu","title":"What GPU ?","text":"

    That\u2019s where things get a bit tricky. I\u2019m still undecided between sticking with nVidia or switching to AMD. I am currently torn between the two. Now, I know most of you would recommend AMD because it\u2019s hassle-free on Linux\u2014and you\u2019d be right. But as a content creator who relies on Cuda and nVidia's nVenc Encoder, I\u2019m leaning towards sticking with nVidia.

    However, if I do decide to switch to Team Red, I\u2019d go for the RX 6950XT currently valued at $400 here. Otherwise, if I stay with Team-Green, it\u2019s going to be the RTX 3090 valued at $595.

    ","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"fund/new-gpu-cpu-fund/#conclusion","title":"Conclusion","text":"

    Upgrading the GPU is my top priority right now, as it will make the most significant impact. My current GTX 1080 is nearing its end-of-life, and I can manage with my Ryzen 5 3600X for a bit longer. So, if you can help me raise enough funds to upgrade the GPU and stay ahead in the Linux world, I\u2019d be incredibly grateful. If we can raise enough for both upgrades, it would be a huge boost to my setup and productivity.

    Every little bit helps, and if each of you who appreciates my work chips in just a few bucks, we\u2019ll reach the goal in no time. Your support means the world to me, and it\u2019ll make a huge difference in keeping my Linux-based content fresh and up-to-date. Thank you so much! To chip-in, click the button below.

    ","tags":["Linux","Upgrade","Hardware","ArchLinux","Fundraising"]},{"location":"priv/be-thankful/","title":"Be Thankful","text":"","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#whats-this","title":"What's This?","text":"

    Today, after reflecting on my activities and our collective behavior as Linux users, I realized a few things I wanted to share. This post doesn't belong on the main site but here, where I can speak candidly about how things have been and how we, as so-called Linux users, often behave. I'm as guilty as anyone else, so let's sit back, relax, grab a cup of coffee or a bottle of beer, and read on.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#content-creators","title":"Content Creators","text":"

    Before diving in, I want to clarify that I am not a content creator. I've tried many times and failed miserably, so I don't include myself in this group for now. However, I need to address the challenges they face.

    YouTube content creators (CCs) do a thankless job. It's incredibly hard work, requiring meticulous planning, high-quality equipment, and, above all, an enormous amount of patience. Unfortunately, the comment sections are often filled with toxic trash talk, which can be demoralizing. Reading these negative comments can lead to feelings of depression and inadequacy, making creators feel they are not meeting viewer expectations. This is far from the truth; the reality is that satisfying everyone is impossible.

    Content creators invest significant time, money, and energy into producing videos that inform, entertain, and educate. Their efforts are crucial for enhancing our understanding and enjoyment of various topics. Even writers like myself sometimes rely on their videos to illustrate points or tools we discuss in our posts. Blog posts and YouTube videos complement each other, making our content more engaging and informative.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#writers-blog-posters","title":"Writers / Blog Posters","text":"

    This is where I include myself. We do our best to bring you high-quality content. We strive to be as unbiased as possible, but mistakes happen. We are human and sometimes say the wrong things out of frustration, but that's no excuse.

    One common mistake we make is not doing enough research before posting. This can lead to a lack of primary sources to back up our claims, which makes our posts less trustworthy. Recently, it was brought to my attention that I was guilty of this. Instead of pushing away constructive criticism, I embraced it and made sure to do better. Thanks to a user on Discord, I\u2019ve learned to improve, and I thank them for that.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#appreciating-ccs-and-writers","title":"Appreciating CCs and Writers","text":"

    We often overlook the effort and dedication that content creators and writers put into their work. From brainstorming ideas to scripting, filming, editing, and publishing, every step requires significant effort and attention to detail. They often juggle these tasks alongside their personal and professional lives, making their commitment even more commendable.

    Both content creators and writers face the challenge of staying updated with the latest trends, technologies, and viewer preferences. This constant evolution demands flexibility and a willingness to learn and adapt. Despite these challenges, many persist, driven by their passion and dedication to their craft.

    As writers and bloggers, we pour our hearts into our work, aiming to provide valuable insights and information. We strive to deliver accurate and engaging content, but we are not infallible. Constructive feedback helps us grow and improve, enabling us to produce better content for our readers. It's essential to recognize that writing is an iterative process. Each piece we publish is a step toward improvement. Constructive criticism, when offered kindly and thoughtfully, is a valuable tool that helps us refine our skills and enhance the quality of our work.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#fostering-a-positive-community","title":"Fostering a Positive Community","text":"

    The F.O.S.S. Linux community thrives on collaboration and mutual support. By fostering a positive and inclusive environment, we can attract more people and encourage contributions. Let's move away from harsh judgments and toward constructive dialogues that promote growth and understanding.

    When we encounter content we don't agree with, let's engage in respectful discussions. Share your perspectives, offer suggestions, and be open to different viewpoints. This approach enriches our community and helps content creators and writers deliver better content.

    Instead of judging writers and content creators harshly, provide constructive criticism and exchange ideas to help us improve and bring you more useful content. Many of us, myself included, have been guilty of negativity. This message serves as a reminder to be more supportive. Let's help each other grow in the F.O.S.S. Linux community and attract more people by discussing and recommending content thoughtfully.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/be-thankful/#conclusion","title":"Conclusion","text":"

    Thank you for reading. I wanted to share my thoughts and recommendations in hopes of making the Linux community a more positive and welcoming place, free from negativity and elitism. By supporting each other and fostering a culture of constructive feedback, we can help each other grow and create a more vibrant and inclusive F.O.S.S. community.

    ","tags":["Linux","YouTube","Content Creation"]},{"location":"priv/current-situation/","title":"Current Situation","text":"","tags":["War","Lebanon","Situation","Struggles"]},{"location":"priv/current-situation/#hello-everyone","title":"Hello everyone,","text":"

    Today is one of those days where words fall short. The past few days have been incredibly difficult for us here in Lebanon, and it feels like things are only getting worse with each passing moment. Both the political and economic situation are spiraling out of control, and it\u2019s impacting every single person here. Close friends, people I\u2019ve known for years, have been injured, and some have even been forced to flee their homes. We\u2019re now living in a reality where technology, something we all rely on daily, has become a source of fear. Can you imagine? Tech warfare? Exploding pagers and phones? It\u2019s something straight out of a dystopian novel, but it's happening right here, right now.

    We are terrified to carry even the most basic tech devices, and it's surreal to say the least.

    In the video below, you\u2019ll see just how grim the situation has become. Just yesterday, a town not far from where I live was hit. I didn\u2019t just hear it, I felt it. The windows shook violently as multiple, deafening sonic booms erupted overhead. I don\u2019t exaggerate when I say my heart sank. The sound alone brought back memories of the 1970s and 80s, when I lived through a different war, but the fear is just as real now as it was then. I\u2019m still shaking as I write this. This kind of fear paralyzes you. You never know if the next blast will be the one that hits your home.

    For the first time in my life, I genuinely don\u2019t know what to do. Should I flee? Should I stay? Do I hide and pray it doesn\u2019t get worse? I\u2019ve been praying for things to calm down for over a year now, ever since the violence in the south started, but each day feels heavier, as if we\u2019re on the edge of something catastrophic.

    ","tags":["War","Lebanon","Situation","Struggles"]},{"location":"priv/current-situation/#safety-1st","title":"Safety 1st","text":"

    With everything that\u2019s happening, I need to prioritize my safety and that of my family. If the situation continues to deteriorate, I may be forced to stop everything I\u2019m doing just to focus on survival. We\u2019re actively searching for potential shelters, just in case things take an even darker turn. It\u2019s heartbreaking, but these are the conversations we\u2019re having right now\u2014finding a safe place to hide from the chaos.

    I know many of you are eagerly waiting for updates on the XeroLinux project, and believe me, I haven\u2019t forgotten about it. But I hope you understand that it\u2019s nearly impossible to work under these conditions. My mind is constantly racing, wondering if we\u2019ll be the next to face the violence, or if a full-scale war will erupt before we even have a chance to react.

    ","tags":["War","Lebanon","Situation","Struggles"]},{"location":"priv/current-situation/#how-to-help","title":"How to help","text":"

    As most of you are aware, my financial situation has been precarious for quite some time. If I do have to flee the country, I\u2019m going to need resources to make that happen. Right now, I have about $320 to my name. That\u2019s not nearly enough to cover the costs of leaving Lebanon if things continue to worsen.

    If you want to help, please know that this is separate from any funds raised for the XeroLinux project. I\u2019ve made sure to keep the project\u2019s funds separate so they are used exclusively for its development and survival. The funds I need now are for a different, more personal cause\u2014ensuring my safety and the safety of my family.

    If you\u2019re able and willing to contribute, your help could make a real difference in what happens next. No amount is too small, and every bit helps in these uncertain times.

    To do so head on over to FundRazr.

    Thanks for all your help & support !

    ","tags":["War","Lebanon","Situation","Struggles"]},{"location":"priv/developing-is-fun-but/","title":"Developing is fun","text":"","tags":["Linux","Development","Developer"]},{"location":"priv/developing-is-fun-but/#am-i-a-developer","title":"Am I a Developer ?","text":"

    Lol, yeah, I know\u2014it's a question I get a lot. But in my humble opinion, no, I am not. Far from it. I'm just a guy who, at most, messes with code\u2014specifically Bash. I take what I understand, put it together in a way that makes sense (to me at least), and hope it works. That's all I do.

    And if it does work, I'm happy and share the result with the FOSS community.

    ","tags":["Linux","Development","Developer"]},{"location":"priv/developing-is-fun-but/#its-fun-until","title":"It's fun until...","text":"

    Doing this is super fun and fulfilling\u2014until I hit a brick wall, stop getting new ideas, or can't find a solution to what I'm trying to accomplish. Yes, it's super frustrating.

    Now, I know I can reach out to the FOSS community for help. However, not all of it is sunshine and roses. I try, but I often get more frustrated with the differences of opinion out there. No matter how much I try to satisfy some requests, I can't do it for everyone.

    Sometimes, I run into some elitists who think their opinion is the only one that matters. I always make the mistake of replying to them when it's better to ignore them. Yes, those types of people exist everywhere\u2014not just in FOSS. But alas, that's where we feel it the most, especially when we try to monetize our work. But I already discussed that in another post.

    Nevertheless, once a project is complete, the feeling of accomplishment is so rewarding, lol.

    ","tags":["Linux","Development","Developer"]},{"location":"priv/developing-is-fun-but/#sharing-is-caring","title":"Sharing is caring","text":"

    This is the part where I say: please, don't keep your work to yourself. Share it with the community\u2014who knows, maybe you'll find someone who can help take your project to another level.

    I used to keep stuff to myself until I began sharing. That's when everything took off, and I was able to help others. If it's not a project, maybe it's the knowledge you've gained. Share it by helping others when and where you can.

    \"Sharing is caring,\" as the saying goes. Anyway, I hope this quick post was a good read. Enjoy! ;)

    ","tags":["Linux","Development","Developer"]},{"location":"priv/real-foss-struggles/","title":"FOSS Struggles","text":"","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#hello-everyone","title":"Hello everyone,","text":"

    Today, I need to share some of my thoughts and frustrations. If this isn't your cup of tea, feel free to check out other posts. For those sticking around, thank you for lending an ear.

    Writing this post wasn't easy; it took a lot of reflection and courage to open up about these feelings.

    P.S: This blog post reflects the thoughts and feelings of a passionate developer navigating the challenging world of FOSS and the struggle for financial stability. Your support and feedback are always appreciated. Now, let\u2019s dive in.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#my-frustration","title":"My Frustration","text":"

    Recently, I\u2019ve been investing a lot of time and effort into my projects and contributing to FOSS (Free and Open Source Software) wherever possible. While I find this work rewarding, it\u2019s also been increasingly frustrating. Why? Let me explain.

    I spend countless hours working behind the scenes to make everyone\u2019s life easier. While there are a few of you who go above and beyond to support my work, and I am incredibly grateful for that, it\u2019s disheartening to see so little engagement overall. Feedback is crucial for improvement, and without issue reports or suggestions, it's challenging to know if I\u2019m making a real impact.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#seeking-purpose","title":"Seeking Purpose","text":"

    Initially, I embarked on this journey for fun and to learn new things. However, lately, I\u2019ve been questioning the purpose behind my efforts. It feels like I\u2019m stuck in a cycle of constant work with little to show for it. This isn\u2019t about blaming anyone; it\u2019s about seeking the motivation to keep going.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#monetization-attempts","title":"Monetization Attempts","text":"

    As my financial situation became more strained, I reluctantly turned to monetization. Many advised me to turn my passion into a viable source of income. So, I tried implementing a \"pay what you can\" model, hoping it would help sustain my work. However, this didn\u2019t go as planned.

    The FOSS community, known for its spirit of freedom, often struggles with the concept of financial support for free software. It\u2019s a complex issue, and while some have been supportive, overall, the response hasn\u2019t been enough to make a significant difference.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#health-concerns","title":"Health Concerns","text":"

    On top of these challenges, I have been dealing with significant health issues. Most notably, I have severe dental problems that require a full set of dentures. This isn\u2019t cheap, and without stable income, it\u2019s been impossible to address. These health issues have affected my confidence and my ability to engage publicly, adding another layer of difficulty to my situation. Health must come before everything else, including fun and passion projects.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#mental-health-struggles","title":"Mental Health Struggles","text":"

    The stress from these financial and health challenges has also taken a toll on my mental health. I've been experiencing frequent anxiety and panic attacks, and the constant pressure has led to a deep sense of depression. The overwhelming silence and lack of engagement have exacerbated these feelings, making it even harder to stay motivated and productive.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#the-way-forward","title":"The Way Forward","text":"

    Given these circumstances, I\u2019m focusing more on forums and this blog. Writing provides a creative outlet that isn\u2019t constrained by algorithms or view counts. I\u2019ll continue to work on my current projects, primarily for my own needs, but I might keep some future creations private until I can find a sustainable way to share them.

    My main priority now is finding a stable job that can support my financial needs. If and when I achieve that stability, I plan to return to my passion projects with renewed energy and many new ideas.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"priv/real-foss-struggles/#closing-thoughts","title":"Closing Thoughts","text":"

    I want to extend my heartfelt thanks to those of you who continue to support my work. Your appreciation means the world to me and keeps me going even when things get tough.

    For now, I need to prioritize my well-being and financial stability. Once those are in place, I\u2019ll be back with future projects. Right now, I\u2019m dealing with depression, anxiety, and panic attacks due to my job situation and need time to recover.

    Thank you for understanding and supporting me through this journey.

    ","tags":["FOSS","Linux","Health","Struggles","Fundraising"]},{"location":"projects/cosmic-script/","title":"Cosmic Install Script","text":".//Updated on Sep. 15th 2024\\\\.

    Info

    This project has moved to the XeroLinux Wiki. Will keep this page around for updates. Keep in mind it's in Alpha.

    ","tags":["Linux","CosmicDE","XeroLinux","ArchLinux"]},{"location":"projects/cosmic-script/#script-info","title":"Script info","text":"

    Well, it does what title says, it installs Cosmic in one of 3 ways, similar to how my Plasma Install script does.

    • Complete : Installs Cosmic from Extra Repos.
    • Selective : Select pkgs you want yourselves.
    • Development : Commit-based Install -DANGER-.

    Included are some useful packages, like a freaking web browser eg. Firefox, an archive manager, Meld and so much more. It's a start. We shall add more if you wish, just keep in mind that only packages coming from the official Arch Repositories are supported, none from the AUR.

    ","tags":["Linux","CosmicDE","XeroLinux","ArchLinux"]},{"location":"projects/cosmic-script/#wrapping-up","title":"Wrapping up","text":"

    Cosmic is shaping up to be the DE that might break the current Top 2 (KDE and Gnome) making it the Top 3 DEs of all time. Who knows ? I wish the System76 team all the best.

    Cheers !

    ","tags":["Linux","CosmicDE","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/","title":"XeroLinux Channel","text":"","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/#youtube-channel","title":"YouTube Channel ?","text":"

    Lol, yeah I know, it such a small one almost no one knows about it. What I first started it, I thought so many people making tons of money, why shouldn't I ? Well, it took me so long to get monetization abilites, and when I did I was like, Nice!.

    But as time went by it became more and more difficult to come up with new ideas to keep it interesting. So I gave up for a while. Then, after 6 to 8 months I came back, rest is history.

    ","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/#what-now-xero","title":"What now Xero ?","text":"

    Hehe, I do not know to be perfectly honest. Am not getting enough views, and my Live Streams are only getting 6 to 8 participants. Also the ideas, quality, and equipment not being available to continue. There's also the fact that there's no point of monetizing my content since YouTube and my Bank, the only one I can use are not talking to each other, without any way for me to fix that. All these issues piling up.

    ","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/#whats-the-catch","title":"What's the Catch ?","text":"

    This comes with a caveat, since I won't be making any money there, due to the mentioned issue, I will instead have no choice but to rely on the XeroLinux Ko-Fi fundraiser for the forseeable future.

    Why there ? Err, coz that's the only service that has no issues with my bank. Simple as that. I hope you understand my situation here. As I mentioned on a previous post, you are not obligated to donate, however would be highly appreciated if you do.

    ","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/what-s-up-with-my-channel/#future-plans","title":"Future Plans","text":"

    When it comes to plans for the channel from this point on, simple, I will be using it as a tool. What I mean by that is, I will be publishing videos only when I feel the situation needs it, for example if I feel a guide I want to put out cannot be done in writing. Or when I need to show off a tool/script am working on. You get the idea.

    Bottom line is, my channel is nothing but a tool, not a way to monetize anymore. I hope I don't lose you as a subscriber because of this. However, it's fine if you feel the need to leave, no harm no foul.

    Anyways, thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ","tags":["Linux","YouTube","XeroLinux","ArchLinux"]},{"location":"projects/why-is-distro-back/","title":"Why Revive XeroLinux","text":"

    Info

    This post will explain why I decided to bring back XeroLinux and how you can get your hands on it. All I ask is for you to read the entire post to understand why it is the way it is. I hope this post clarifies my situation. If you grabbed a copy, find out how to install it via the XeroLinux Wiki

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#what-is-xerolinux","title":"What is XeroLinux","text":"

    In short, it's just an alternative to the Plasma Install Script, making it easier to install Arch, bypassing the need for ArchInstall. The ISO includes my toolkit as well as my famous Xero Layan Rice all-in-one shot.

    You can use the included Xero Toolkit, 1st icon with my logo in the Dock, to configure it, keeping in mind that some of the features were already applied to the ISO. I have also taken the liberty of including the Chaotic-AUR repository so it's easier for you to install AUR packages rather from having to compile them.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#why-is-xerolinux-back","title":"Why is XeroLinux back","text":"

    To explain why, let me set the stage. As you may already know, I\u2019m going through significant financial difficulties. Living in Lebanon, finding a job\u2014especially a remote one\u2014is extremely challenging, and the situation continues to worsen. I won\u2019t rehash the entire story here, but if you\u2019re not familiar, you can read more about it in this BlogPost.

    After giving it a lot of thought, I realized how much I truly enjoy Linux. With bills to pay and my distro\u2019s code still sitting on GitHub, it just makes sense. Many of you have been asking me to bring it back since I pulled the plug months ago, so why not use this opportunity to revive it\u2014and make it a way to sustain myself?

    Not to mention that I've been running it on my own this whole time, and maintaining the ISO was a blast. I've been itching to bring it back, especially since it was rapidly climbing the DistroWatch rankings as a popular distro. Seeing how much you all loved it made me feel guilty for taking something great away from you. Thanks for making it feel so special!

    That answers the why.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#how-to-get-it","title":"How to get it","text":"

    I've decided to put the distro behind a donation wall. By supporting me financially, you'll gain access to the XeroLinux ISO\u2014a true win-win. Your support helps me keep going, and you get something valuable in return. For more details, check out the Release Post

    Now, I know that some of you will say, \"But it's FOSS; you shouldn't charge for it.\" To which I will say the same thing I have been saying for a long time: the Free in Free Open Source does NOT mean free of charge; it just means Freedom to fork the Source Code and do with it as you wish. I am simply charging for my time.

    The distro will be continuously updated to ensure it works seamlessly and will stay alive as long as I have your support. If support ever dries up\u2026 well, let's not dwell on that. Let\u2019s focus on keeping it alive and thriving for a long and happy journey together!

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#is-it-any-special","title":"Is it any Special","text":"

    This is a common question I get. To be honest, there\u2019s no groundbreaking advantage\u2014it simply provides an easier way to install Arch with a polished KDE experience right out of the box, which many users seem to appreciate. I created it specifically for them, as an alternative to my DIY install script, and as a way for you to support my journey.

    Users are free to prefer any other distro over mine. I am not and will never force it. Also, I have never pretended that XeroLinux is better than any other distro. It's never been a competition, and I would hate for people to think it was. I hope this clarifies things.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#how-to-get-it-for-free","title":"How to get it for free","text":"

    If you can\u2019t support me financially but still want XeroLinux, while the ISO isn't available for free right now, you can still achieve similar results with my PlasmaInstall script, which will always be free of charge. It just requires a bit more elbow grease on your part\u2014that\u2019s all there is to it!

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#i-dont-like-arch","title":"I don't like Arch","text":"

    In case you don't like Arch for whatever reason, but still want to support me, I have put up a Merch Store where you will be able to buy something you like. Not much there yet, will have many more items in the near future. It's just there as an alternative way for you to help out.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#private-donations","title":"Private Donations","text":"

    Did you know I have a private fundraiser account? It\u2019s been around forever! If you'd like to support me directly with things like rent and general wellbeing, you can do so at FundRazr.

    Currently, all funds raised from the ISO are split into two categories: private and project. About 60% goes toward improving XeroLinux, covering costs like hosting, domains, and other essentials. The remaining 40% helps me with personal expenses like health, phone bills, etc., mainly because my other account hasn\u2019t been getting much support. Ideally, I\u2019d love to keep these funds separate, but ultimately, it\u2019s your choice.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"projects/why-is-distro-back/#wrapping-up","title":"Wrapping up","text":"

    That's it, now you know the why and the how. So let's keep the distro alive. Keep sharing it and the store with others. I try to be as honest and open about everything. I got nothing to hide.

    Thank you to each and everyone for the support.

    ","tags":["Linux","XeroLinux","ArchLinux","Distribution"]},{"location":"tech/cosmic-experience/","title":"My Cosmic Experience","text":"

    Note

    Contents of this post reflect my own opinion and mine alone. Do not take anything written here as set in stone. It's my own bare-metal experience with the hardware I own. I cannot and will not speak for others. Maybe you had a better experience, and I am glad you did. Just keep that in mind.

    ","tags":["Linux","Cosmic","ArchLinux"]},{"location":"tech/cosmic-experience/#installation","title":"Installation","text":"

    The Cosmic DE hype is real. I saw many reviews of it and was immediately pulled in and got the urge to install it n try it out for myself to see if it was being over-hyped/sensationalized or not. Simply because new things tend to be, it's the norm by now.

    Since I am an avid ArchLinux user, that's how I installed it. I did not use the Pop!_OS 24.04 LTS alpha ISO from >> Cosmic Downloads. So my views come from there. So I cannot compare.

    Anyway, before I talk about my experience using the DE, I would like to mention that, I did not use the ArchInstall profile to install it. Why you ask ? Simply because due to past experience, I learned the hard way not to fully trust them, they tend to be way too basic, missing a lot of essential packages. Don't get me wrong here, I am not saying that you shouldn't use them, far from it, if you just want basics doing everything else yourselves, feel free, but from a new user perspective who expect things to be more complete, please use Distros who do all that for you.

    Now on to the more detailed things I have done to install Cosmic. I first installed Arch Minimal using the ArchInstall script, meaning that I avoided the profiles, & drivers sections completely, I always choose Grub as my bootloader, no swap since I have 32GB RAM, no Encryption either. And once in chroot I installed the DE the following way, knowing that, we can skip the use of sudo since we are still logged in as root...

    pacman -Syy && pacman -S cosmic linux-headers pacman-contrib xdg-user-dirs power-profiles-daemon wayland-protocols wayland-utils\n

    Now, that needs a bit of explaining. In case you were wondering why so few packages, well, it's because cosmic is not a single one, it's a Group of packages or a meta-package as it is known as. That said, the reason I installed linux-headers is because for whatever reason, they were only included if and when you select drivers, same goes for the rest. Especially xdg-user-dirs without which no Documents, Pictures, Videos... folders will be created. Strange I know.

    What I also found weird, is the fact that cosmic-greeter service was not being enabled after install which was netting me a boot to TTY session. So I had to enable it while at the same time generating the user-dirs via...

    systemctl enable cosmic-greeter.service && xdg-user-dirs-update\n

    Keep in mind that I am doing all this while still in chroot post-install. Once I was done with this I exited the live environment and rebooted crossing my fingers and hoping that all went well.

    ","tags":["Linux","Cosmic","ArchLinux"]},{"location":"tech/cosmic-experience/#experience","title":"Experience","text":"

    Now on to what y'all came here for. All was good, well sorta, system rebooted into Grub, selected the OS and waitied... That's when I started to sweat a little, coz I was greeted with some TTY dmsg errors, flickering on and off. But after a few seconds I finally saw the Cosmic Greeter login screen, relief finally.

    I type my super secure password in n wait to see the Desktop. So far so good, or so I thought. More anxiety, as when I opened the Cosmic file manager, what I saw wasn't so great; icons were blacked out, and performance was shit. Being an nVidia user, I thought could be a driver issue since on first boot it uses the not so great nouveau ones. That's why my first reflex was to install them, so I did.

    After driver install was done, I rebooted and that's when my heart sank so deep I couldn't feel it anymore. Why ? How about a screen with so many errors in many colors complaining about EGL drm crap ? Yep wasn't showing the login screen anymore. OH NO! Failed already ?!?!?!?!?

    As it turns out I had forgotten to include the nVidia drm kernel modules lol. What am I talking about ? How to do that you ask ? Well, for me that's what I did, could be different for you I dunno.

    sudo sed -i '/^MODULES=(/ s/)$/nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf\nsudo systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service nvidia-powerd.service\necho -e 'options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02' | sudo tee -a /etc/modprobe.d/nvidia.conf\necho -e 'options nvidia_drm modeset=1 fbdev=1' | sudo tee -a /etc/modprobe.d/nvidia.conf && sudo mkinitcpio -P\n

    After doing that, I rebooted again, heart in hand, fingers n toes crossed lol. Once rebooted, a sigh of relief, I could see the login screen again. So I login, and this time everything was great. Performance was so smooth n fast, sorta felt like XFCE. Fired up top to see memory usage, and to my surprise, it was only using 800mb RAM on fresh boot, that's almost 500MB less than KDE Plasma ! Nice !

    Now came the time to configure the DE. Since I had watched so many videos regarding it, I had a general idea of what to do. Since I have 2 Nics (1 for each ISP), first order of business was to disable one keeping the other active. So I hover mouse over the tray icon, click it then attempt to click to disable the one I do not need, only to see that I couldn't do shit. They seem to just be static indicators, at least for now. So arming myself with all that knowledge I fire up terminal and run nmtui and deactivate it from there making sure it doesn't automatically reconnect on login.

    Now on to the System Settings. I will not bore you with the details, suffice it to say, that's where the biggest Alpha cracks started to show up big time. User profile modification missing, Default Apps too. I mean I could barely do anything besides modify top panel, color scheme, applets, keyboard shortcuts (keybinds) and power profiles. There isn't even a way to enable autologin..

    That's when I began to get frustrated. I mean, how were users online saying they had a great experience when some of the most important things were missing ? I don't understand.

    Anyway, I then took my attention to the included apps. I open the launcher from the bottom dock and click a random one, didn't open, I thought was a mouse issue, so I click again, and again, only after a few clicks did app decide to finally run. WTF!! Angry, I open File Manager again n try to open a document, nothing... OMG!!! I mean not even default app to handle simple text document ? I mean Cosmic-Notes was there, just not handling documents...

    I try to right-click > open with, only to see that part was missing as well, I mean it shows the open-with panel to the right, only nothing's there, it's empty. I kept repeating to myself \"It's Alpha Software, calm down Steve\".

    To relax a bit n make things easier, I installed my toolkit. Then when I tried launching it from the app menu thingy, no matter how many times I clicked it wouldn't launch. So I tried adding a keyboard shortcut for it, still nothing. I guess it's because it's a CLI and no default app set ? I dunno.

    Finally I decided to try out the thing that almost everyone's raving about, Tiling/Stacking. And yes, that part was amazing, worked out great no major deal breaking issues to speak of, just minor nit-picks. Nothing that wasn't mentioned in all them videos on the Tubes. Oh Great ! I thought to myself, sarcastically, coz the only thing that works best is the thing I will never use since I do not like that Tiling stuff. Meh...

    That's where I gave up and decided to go back home to KDE Plasma.

    ","tags":["Linux","Cosmic","ArchLinux"]},{"location":"tech/cosmic-experience/#final-words","title":"Final words","text":"

    Now I know this wasn't a complete experience, but when the most essential features are either missing or incomplete, there's no point in going any further, simply because, the more I used it the more frustrated I got.

    It's barely usable in its current state. I will be keeping it installed, revisiting it once every month to see progress. I will not, however attempt using it on a daily, or put in too much work into it, since it's not yet ready.

    I can't be too mean to the devs, they are doing a great job. It was all a false expectation on my part. Cosmic has come a long way in such a short time. I mean, writing a DE from scratch using Rust a sorta new programming language is no easy feat.

    I will end the post by congratulating the System76 dev team on work well done. I cannot wait to see what the future holds. I wish them the best of luck. Oh and also, who knows if it wins me over, I might add a XeroCosmic to the family.. Just don't hold your breath on that, it ain't set in stone.

    ","tags":["Linux","Cosmic","ArchLinux"]},{"location":"tech/docker-containers-a-love-story/","title":"Docker A Love Story","text":"","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#what-is-docker","title":"What is Docker ?","text":"

    Docker is a platform that simplifies the process of developing, shipping, and running applications by using containerization. Containers package an application and its dependencies into a single, portable unit that can run consistently across different environments.

    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#how-it-all-started","title":"How it all started","text":"

    It all started with Distrobox. Yes a highly unlikly scenario I know. But the more I dug into the world of containerization the more intrigued I got. And that's when I discovered Docker containers, their countless uses. What blew me away mostly, is the fact that I can run cloud services like Immich for images and videos, which would allow me to sync my devices locally rather than with Apple iCloud or Google making me the sole owner of my data. So freeing OMG !!! No longer bound by those shackles...

    With that, I the deeper I went through this bottomless rabbit hole, the more truly useful containers I found. The idea that I can do whatever I wanted without having to deal with any 3rd party conglomerates made me fall in love more and more as time went by...

    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#my-setup-so-far","title":"My setup so far","text":"

    Yep, I know, you are eager to see what I have managed to pull off with everything I found. First, let me say this, I will not be the one guiding you on how to acheive MY setup, since your needs might differ from mine. Heck I am sure of it. Anyway, here's a screenshot, and below it I will link to the various containers I am using in case you find them useful.

    • Homepage

    To start off, let me tell you what am using for the page you see in the image, it's simply called Homepage. Fitting name right ? I love its simplistic design, flexibility, and most of all what sold me on it is two-fold, the fact that everything is done via YAML configurations files, and that the community behind it are so damn friendly ! Yep, there is no dumb question for them, they answer any and all to the best of their abilities.If you have any, feel free to join their Discord Server.

    • File Browser

    As for the File Browser I use to share files between PCs, it's also has a creative name lol, just called FileBrowser, it serves one purpose, browsing files, with ability to upload & download from/to any PC. That's it. It just works nothing else to say about that.

    • Search Engine (Xoogle)

    Hehe, the only reason I called it Xoogle is coz it's Xero + Google, get it ? Anyway, this is using something called Whoogle, weird name I know, loogs damn ugly too. It's just a search engine that uses Google stripping it of all A.I crap and ads. Does its job I prefer it to any other coz I get the power of Google the way it was back in the day..

    • Vaultwarden

    That's a 3rd-party Bitwarden server-as-a-container, endorsed by them so can be trusted called Vaultwarden. I use it coz I prefer to self-host private stuff like that. Where I have total control. I still keep a copy hosted by them. It's just in case they go under I am safe.

    • ShareX

    This one is not for everyone. It uses Zipline. It's a File upload server with a twist. I exposed mine to the web, using it to share files with friends. Use it if you need something like that.

    • My Comics

    I am a big fan of comic books, especially the ones from my childhood. This container uses Kavita. I love it simplicity. I am also proud to say that I currently sponsor their work coz devs are very friendly so is this tool. It works for my needs, I hope it does for you in case you choose to use it. If you have any, feel free to join their Discord Server.

    • Audiobookshelf

    I guess I do not need to explain that one. It's just a docker container for Audiobookshelf. In case you have some Audio books or podcasts. Have fun.

    • FreshRSS

    That too doesn't need an introduction, just that it's the feed agregator I chose to use. Called FreshRSS. It's simple to use, looks good enough, and supports tons of plugins to extend it above and beyond.

    • Immich

    Now, this is one of the big ones, Immich is an amazing image cloud like service. Allowing you to move away from Apple and Google. I love that as I said at the beginning of this long post. They even have companion apps for both Android and iOS which makes it even more amazing. Now we can sync out photos and videos between devices. I recommend this one to everyone who cares about their data.

    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#you-get-the-idea","title":"You get the idea","text":"

    Now am not gonna go over each and ever one of the containers I use. I will list the rest below linking to their related pages, have fun discovering them. Be careful though, once you begin there will be no end in sight. It's BIG rabit hole. You have been warned lol ! It's a super fun and nerdy adventure. Trust me. I have been here for over 3 months.

    • Plex Server
    • meTube
    • Koel
    • Tautulli
    • Portainer
    • PairDrop
    • IT-Tools
    • Cockpit
    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#where-to-find-more-containers","title":"Where to find more containers ?","text":"

    Well, there are many places, but my favorite has to be Selfh.st hands down. I love how they keep the list up-to-date showing last commit date. Site is always updated removing old unmaintained projects replacing them with newer ones. I highly recommend you bookmark this site and keep visiting it from time to time.

    ","tags":["Linux","Docker","Containers"]},{"location":"tech/docker-containers-a-love-story/#closing-words","title":"Closing words","text":"

    Anyway, I hope you have enjoyed this post, and I have helped you discover something new. It's not always one finds something that re-ignites one's pation all over again. I know it did just that for me.

    Thanks again for reading this. If you want to discuss the matter, you can Toot me on Fosstodon or by joining me on my Discord Server.

    ","tags":["Linux","Docker","Containers"]}]} \ No newline at end of file diff --git a/site/sitemap.xml b/site/sitemap.xml index 84ba8f7..365897a 100644 --- a/site/sitemap.xml +++ b/site/sitemap.xml @@ -2,92 +2,97 @@ https://bytes.xerolinux.xyz/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/SUMMARY/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/docs/affinity-linux/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/docs/build-archiso/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/docs/ffmpeg-cheats/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/docs/linux-explained/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/docs/mkdocs-install/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/docs/passwd-reset/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/fund/foss-fundraising/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/fund/new-gpu-cpu-fund/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/priv/be-thankful/ - 2024-09-17 + 2024-09-21 + daily + + + https://bytes.xerolinux.xyz/priv/current-situation/ + 2024-09-21 daily https://bytes.xerolinux.xyz/priv/developing-is-fun-but/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/priv/real-foss-struggles/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/projects/cosmic-script/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/projects/what-s-up-with-my-channel/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/projects/why-is-distro-back/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/tech/cosmic-experience/ - 2024-09-17 + 2024-09-21 daily https://bytes.xerolinux.xyz/tech/docker-containers-a-love-story/ - 2024-09-17 + 2024-09-21 daily \ No newline at end of file diff --git a/site/sitemap.xml.gz b/site/sitemap.xml.gz index 862d4b2..95a7196 100644 Binary files a/site/sitemap.xml.gz and b/site/sitemap.xml.gz differ diff --git a/site/tech/cosmic-experience/index.html b/site/tech/cosmic-experience/index.html index 7e1ef80..7b1f789 100644 --- a/site/tech/cosmic-experience/index.html +++ b/site/tech/cosmic-experience/index.html @@ -556,6 +556,8 @@ + + @@ -616,6 +618,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +
  • diff --git a/site/tech/docker-containers-a-love-story/index.html b/site/tech/docker-containers-a-love-story/index.html index c4a84ab..8f024bb 100644 --- a/site/tech/docker-containers-a-love-story/index.html +++ b/site/tech/docker-containers-a-love-story/index.html @@ -554,6 +554,8 @@ + + @@ -614,6 +616,27 @@ +
  • + + + + + Current Situation + + + + +
  • + + + + + + + + + +