<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://dev1galaxy.org/extern.php?action=feed&amp;fid=7&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Dev1 Galaxy Forum / Documentation]]></title>
		<link>https://dev1galaxy.org/index.php</link>
		<description><![CDATA[The most recent topics at Dev1 Galaxy Forum.]]></description>
		<lastBuildDate>Sun, 26 Jul 2026 11:55:45 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Trying to create a shared directory using only manpages as helpsystem.]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=8061&amp;action=new</link>
			<description><![CDATA[<p>I keep my own personal (Doku)wiki where I note down all the things I spend (lots of) time on finding out.<br />And things that I need in case I have to do an install again, so I don&#039;t forget something.<br />Usually I see that something has changed since that last time and I have to update the wiki too.</p><p>But it is far from neat enough to share for public use and the to-do-list is still long, so cleaning up has not reached top-prio.<br />I therefore applaud this effort to make knowledge available.</p>]]></description>
			<author><![CDATA[dummy@example.com (Kiergan)]]></author>
			<pubDate>Sun, 26 Jul 2026 11:55:45 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=8061&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[My Devuan-Knowledge base (unofficial) on  Github Pages. Few Questions]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=8109&amp;action=new</link>
			<description><![CDATA[<p>So, to conclude and close this post, I have created for myself a Gitea account on Devuan Git Store and published the project there:<br /><a href="https://git.devuan.org/ovi/devuan-knowledge_base" rel="nofollow">https://git.devuan.org/ovi/devuan-knowledge_base</a></p><p>I will try to bring it to an usable form, in time. I have in mind users like me, that are new to Linux and Devuan especially, or migrated from another distribution and that want to know more about the Devuan Operating System, in general. <br />I know that Devuan has its own wiki, but it just doesn&#039;t fit for my project idea and also I don&#039;t like it, to be honest.</p><p>There are many good, general topics inside the forum that can have place in my devuan-knowledge_base. I will look for them and add them there.</p><p>So, who knows, maybe over one, two years if somebody from Devuan team consider that the content make sense for the general public, the repo will be always there.Just take the public folder, correct, throw away what is unecessary and that&#039;s all.<br />If somebody wants to have a look time to time, criticize, add corrections, ideas, etc. I would be glad to hear them. Is only one package to install.<br />But not so soon <img src="https://dev1galaxy.org/img/smilies/smile.png" width="15" height="15" alt="smile" />, there is nothing inside yet, just a sketch with some blank pages.</p><p>Finally, my strong opinion is that any good product needs to have a simple HandBook, accessible to anyone.</p>]]></description>
			<author><![CDATA[dummy@example.com (ovi)]]></author>
			<pubDate>Wed, 22 Jul 2026 20:38:27 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=8109&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[[HowTo] Portmaster v2 on Devuan 6 Excalibur Desktop]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=8001&amp;action=new</link>
			<description><![CDATA[<p>Anyone confirm?</p>]]></description>
			<author><![CDATA[dummy@example.com (matthew)]]></author>
			<pubDate>Mon, 29 Jun 2026 18:43:29 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=8001&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[[HowTo] Hassle-free LAN file transfer with a Windows machine]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=8050&amp;action=new</link>
			<description><![CDATA[<p>Okay, so here&#039;s the story. Recently I got myself an Ethernet adapter for my newer laptop that runs Devuan Excalibur, since it lacks the appropriate (essential!) port being the victim of certain ... <em>sickly</em> modern trends. Now, since I also have an older machine running Windows 7 and a spare Ethernet cable, I decided to try and connect the two for the purpose of fast and easy file transfers. Creating a connection was the easy part, but what about actual sharing?</p><p>From the get-go, I was looking for a straightforward way to transfer files, preferably not involving Samba shares or complex server-client setups with encryption, compression etc. I researched several solutions, some of them seemed more feasible than others. To my surprise, finding a program capable of doing simple LAN transfers between different systems was not an easy task. Some of them could not be used because they were no longer supported on Windows 7 side, some worked but only one way (Win7 &gt; Linux) because they detected wrong IP address due to a bug and had no manual way of setting up things. Some even required Internet access because they used a relay that could not be disabled!</p><p>Oh well. With patience and some trial and error, I eventually found a program called <strong><a href="https://lanxchange.com/" rel="nofollow">LanXchange</a></strong>, which works beautifully. It&#039;s not the prettiest or most featureful thing in existence, but it does its job very well.</p><p>To use it, you need to install <strong>Java Runtime Environment (JRE)</strong>. You can get it via <strong>default-jre</strong> package in Excalibur repos, or from Eclipse Adoptium using <a href="https://dev1galaxy.org/viewtopic.php?id=7759" rel="nofollow">this guide</a>. I just got the repo version, while on Win7 I&#039;m using the latter.</p><p>Unpack and launch LanXchange on both machines. On Windows, <span class="bbc">lxc.exe</span> complained that I do not have Java installed, but the .jar file worked - so if you get the same error, just try that. On Linux side, use the provided <span class="bbc">lxc</span> script. You can also run the .jar directly like this:</p><div class="codebox"><pre><code>$ java -jar lanxchange.jar</code></pre></div><p>but I noticed that it sometimes causes issues with incoming transfers not appearing until you unshare your previous files. Not a big problem, but I still recommend using the script.</p><p>Next, if you use a firewall like <strong>gufw</strong>, you will need to allow the following incoming ports: <strong>27716, 27717, 27719</strong>. Create two separate &#039;Simple&#039; rules both for TCP and UDP. On Windows, you probably don&#039;t need to do anything other than click <em>&#039;Allow access&#039;</em> once.</p><p>So that&#039;s it! Now it should work - nothing beats sending files via a nice fat cable just like in the old days. Enjoy the speed and simplicity (and less wear for your USB Flash devices). Thanks to this wonderful program, I was able to forgo Samba entirely. I did not look into other solutions such as NFS, SFTP or a Python server - they do seem interesting though, so might experiment with them later as well.</p>]]></description>
			<author><![CDATA[dummy@example.com (Calamity)]]></author>
			<pubDate>Thu, 18 Jun 2026 21:05:48 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=8050&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Exploring Help systems semantics]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=8031&amp;action=new</link>
			<description><![CDATA[<p>Lets see what offline help devuan excalibur live cd offers: </p><p>It has on the desktop in prominent place :</p><p>* Release notes<br />* README_desktop-live.txt<br />* REAME.txt</p><p>Except from basic info they basically link to online help.</p><p>Devuan and Artix livecd that i tested they resort to plain text file as an entry help system. Interesting.</p>]]></description>
			<author><![CDATA[dummy@example.com (chomwitt)]]></author>
			<pubDate>Wed, 10 Jun 2026 09:16:54 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=8031&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Install Docker on Devuan]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=6576&amp;action=new</link>
			<description><![CDATA[<p>I was recommended to use the official instructions for Debian, but substitute the corresponding Debian codename here<br />```<br />sudo tee /etc/apt/sources.list.d/docker.sources &lt;&lt;EOF<br />Types: deb<br />URIs: <a href="https://download.docker.com/linux/debian" rel="nofollow">https://download.docker.com/linux/debian</a><br />Suites: $(. /etc/os-release &amp;&amp; echo &quot;$VERSION_CODENAME&quot;)<br />Components: stable<br />Architectures: $(dpkg --print-architecture)<br />Signed-By: /etc/apt/keyrings/docker.asc<br />EOF<br />```<br />for `Suites`. Curiously they suggested using `Suites: trixie` even for Devuan freia. Works so far</p>]]></description>
			<author><![CDATA[dummy@example.com (safari)]]></author>
			<pubDate>Tue, 02 Jun 2026 16:28:31 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=6576&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[An unofficial Guide to runit on Debian-derived distros]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=7802&amp;action=new</link>
			<description><![CDATA[<p>Hi,</p><p>just to drop a note that, in recent versions or runit (currently in testing/unstable) I changed few bits in runit-heper and trigger_sv so that,<br />in order to disable a services you can just</p><div class="codebox"><pre><code>touch /etc/service/.servicename</code></pre></div><p>So you no longer have to create a .symlink, just touch a file with the service name with a leading dot; I hope that it makes easier to preseed and do custom setups</p><p>Best,<br />Lorenzo</p>]]></description>
			<author><![CDATA[dummy@example.com (Lorenzo)]]></author>
			<pubDate>Mon, 01 Jun 2026 17:29:31 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=7802&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[[HowTo] Create a Service Script for sysvinit]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=8010&amp;action=new</link>
			<description><![CDATA[<p>You could also refer to the &quot;man page&quot; <span class="bbc">init-d-script</span>.</p>]]></description>
			<author><![CDATA[dummy@example.com (ralph.ronnquist)]]></author>
			<pubDate>Sat, 30 May 2026 04:26:32 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=8010&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[HOW TO: Install XLibre on Devuan]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=7388&amp;action=new</link>
			<description><![CDATA[<p>FWIW here&#039;s my tangential observation(s).&#160; I am using XLibre but on Debian Test.&#160; I run:</p><p> OS ▸&#160; Debian GNU/Linux Trixie x86_64<br />&#160; &#160; &#160; &#160;BD++++D+D+::::::+D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Kernel ▸&#160; Linux 6.19.14-2-liquorix-amd64<br />&#160; &#160; &#160; D+-::::=D+::::::::+BBDD+&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Uptime ▸&#160; 1 hour, 52 mins<br />&#160; &#160; &#160;D=::::::=B=-::::::=BB++=+D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Processes ▸&#160; 327<br />&#160; &#160; &#160;D-:::::=BDD=-::-=+B=-::::=D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Packages ▸&#160; 2217<br />&#160; &#160; &#160;B+--==+++===++BDD+:::::::-D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Window Manager ▸&#160; dwm (XLibre)<br />&#160; &#160;DB+++==:::::::::-+D-:::::::=D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Shell ▸&#160; zsh 5.9<br />&#160; D=:::::::::::::::::++:::::-+D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Terminal ▸&#160; xterm 409<br /> D+::::::::::::::::::+D++==+BD+&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Terminal Font ▸&#160; JetBrains Mono Nerd Font:style=Regular (11pt)<br />&#160; D=:::::::::::::::::+BD+=--:-+D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Terminal Theme ▸&#160; ● ● ● ● ● ● ● ●<br />&#160; &#160;B+=-::::::::::::::B+-::::::=D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Brightness ▸&#160; 100% [Built-in]<br />&#160; &#160; DBB++-::::::::::-D:::::::-+D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CPU ▸&#160; 12 x AMD Ryzen 7 7445HS<br />&#160; &#160; &#160; &#160; DB+:::::::::+D=-:::-=+D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;GPU ▸&#160; GeForce RTX 4050 Max-Q / Mobile<br />&#160; &#160; &#160; &#160; &#160; D=:::::::-D +BDBBD+&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;GPU ▸&#160; AMD Radeon 740M Graphics<br />&#160; &#160; &#160; &#160; &#160; &#160;B+--::-=D&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; RAM ▸&#160; 2.39 GiB / 14.88 GiB (16%)<br />&#160; &#160; &#160; &#160; &#160; &#160; +BDBDD+&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Swap ▸&#160; 0 B / 7.45 GiB (0%)<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Disk ▸&#160; 1.09 TiB / 1.78 TiB (61%) - ext4</p><p>To answer a few questions I see in this thread.&#160; For me XLibre performance is about 6-7% better than with non-XLibre.&#160; Like many here, I am not a fan of Wayland- I ran it for a year to give it a test... and if I only ran a single wm without conky, I could make it work.&#160; But I run with dwm,i3wm,openbox and choose not survive with a crippled conky (maybe its fixed these days; I don&#039;t know).&#160; &#160;Should I use systemd... just to answer that item, I need my stupid VRAM (nVidia) to work because I run a local AI on my machine- for lots of reasons that would probably get this note thrown off here.&#160; Suffice it to say, nVidia is necessary for resilience and grandsons- not optional and nVidia is also blindingly painful, but I have it working. Yay.</p><p>In general, the politics alluded to here re: XLibre are a pretty obvious issue for some folks.&#160; I have not personally encountered any problems.&#160; So, it&#039;s alright so far.&#160; For any who would like to see my stupid-simple XLibre install it&#039;s freely available here:&#160; </p><p><a href="https://codeberg.org/eirenicon/dwm-XLibre" rel="nofollow">https://codeberg.org/eirenicon/dwm-XLibre</a></p><p>btw. it is worth every penny you paid for it, as well. <img src="https://dev1galaxy.org/img/smilies/wink.png" width="15" height="15" alt="wink" /></p>]]></description>
			<author><![CDATA[dummy@example.com (manyroads)]]></author>
			<pubDate>Mon, 04 May 2026 13:06:40 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=7388&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[[HowTo] Protect from SHH brute force attacks with fail2ban]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=7933&amp;action=new</link>
			<description><![CDATA[<p>An SSH brute force attack is a hacking technique where attackers use automated tools to systematically try thousands of username and password combinations to gain unauthorized access to a remote server via the Secure Shell (SSH) protocol.</p><p>To be fair this is not a definitive protection but another countermeasure to reduce drastically the risks from such attacks when using public IPs.</p><p># As a complementary measure you should NOT allow ssh root login using password but using ssh key in worst case escenario, to do that change the settings for sshd:</p><div class="codebox"><pre><code>sudo nano /etc/ssh/sshd_config</code></pre></div><p># Uncomment the #PermitRootLogin line like:<br /><span class="bbc">PermitRootLogin prohibit-password</span></p><p># Install packages:</p><div class="codebox"><pre><code>sudo apt install -y fail2ban lnav python3-pyinotify</code></pre></div><p># Verify connection attemps</p><div class="codebox"><pre><code>sudo lnav /var/log/auth.log</code></pre></div><p># You will see very often lines like:<br /><span class="bbc">&lt;date&gt; - &lt;time&gt; &lt;hostname&gt; sshd[pid]: Failed password for root from xxx.xxx.xxx.xxx port xxxx ssh2</span> &lt;--- Brute force attack</p><p># and also when you connect you will see a line like this:<br /><span class="bbc">&lt;date&gt; - &lt;time&gt; &lt;hostname&gt; sshd[pid]: Accepted publikey for &lt;youruser&gt; from &lt;your.isp.public.ip&gt; port xxxxx ssh2: EDxxxx &lt;--- If you are using ssh keys instead of password this is you.</span><br /><span class="bbc">&lt;date&gt; - &lt;time&gt; &lt;hostname&gt; sshd-session[pid]: Accepted password for &lt;youruser&gt; from &lt;your.isp.public.ip&gt; port 39284 ssh2 &lt;--- Or if you still using password authentication.</span><br /># We will whitelist this IP &lt;your.isp.public.ip&gt; just in case since we will use a very strict ban criteria/time.</p><p># Press q to exit</p><p># Create Local Configuration to preserve settings during updates.</p><div class="codebox"><pre><code>sudo nano /etc/fail2ban/jail.local</code></pre></div><p># Configure SSH Protection, we will use 3 attemps to block earlier than 5 attemps and for 3 hours but later you can increase the bantime if you notice the same IP addresses repeating again and again:<br /><span class="bbc">[DEFAULT]<br /># Whitelist your own IP address (space-separated)<br />ignoreip = 127.0.0.1/8 ::1 &lt;your.isp.public.ip&gt;</span></p><p><span class="bbc">[sshd]<br />backend = auto<br />enabled = true<br />maxretry = 3<br />bantime = 3h<br />findtime = 10m</span>&#160; &#160;</p><p># Restart fail2ban service</p><div class="codebox"><pre><code>sudo service fail2ban restart</code></pre></div><p># Verify ssh jail status</p><div class="codebox"><pre><code>sudo fail2ban-client status sshd</code></pre></div><p>&#160; </p><p># You will see something like:</p><div class="codebox"><pre><code>Status for the jail: sshd
|- Filter
|  |- Currently failed:	1
|  |- Total failed:	5
|  `- File list:	/var/log/auth.log
`- Actions
   |- Currently banned:	6
   |- Total banned:	6
   `- Banned IP list:	2.57.122.189 2.57.122.192 45.148.10.147 45.148.10.151 45.148.10.157 92.118.39.236</code></pre></div><p>&#160; &#160;<br /># Now if you verify connection attemps again<br /><span class="bbc">sudo lnav /var/log/auth.log</span></p><p>You will notice the attemps wont repeat from the same IP since the moment fail2ban was restarted, keep it running and eventually they will realize is not worthy to keep trying or they will run out of public IPS or you can also increase the time if the same IP address keep showing up.</p><p>To add an extra layer of protection you can also enable 2FA with oathtool to make ssh ask for 6 digits code before you can enter any password, that way the attack never even begins since the client gets disconnected and banned when doens&#039;t provide a valid 6 digits code to begin with the login attemp, link to guide below.</p><p><a href="https://dev1galaxy.org/viewtopic.php?id=7657" rel="nofollow">[HowTo] 2FA TOTPs for SSH without google-authenticator.</a></p><p>Edited on April-29-2026, steps above tested on Devuan 5, but for Devuan 6 these 2 changes below are required:<br />Added package to install: python3-pyinotify<br />Added: backend = auto</p>]]></description>
			<author><![CDATA[dummy@example.com (joser)]]></author>
			<pubDate>Sat, 25 Apr 2026 02:06:37 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=7933&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Installation and Setup: Hyprshot, a screenshot tool for Hyprland]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=7926&amp;action=new</link>
			<description><![CDATA[<p><strong>Hyprshot</strong> is a specialized screenshot utility designed specifically for the Hyprland Wayland compositor. It functions as a shell script that serves as a wrapper around core tools like <span class="bbc">grim</span> (for capturing), <span class="bbc">slurp</span> (for region selection), and <span class="bbc">wl-clipboard</span> (for copying to clipboard).</p><h5>Navigate to the upstream repository</h5><p>Navigate to the Hyprshot <a href="https://github.com/Gustash/Hyprshot#installation" rel="nofollow">GitHub repository</a> for the source files and installation instructions. This guide is based on that repository, customized for Devuan.</p><h5>Install dependencies</h5><p>Install the dependencies mentioned in the Hyprshot repository, alongside the <span class="bbc">dunst</span> notification daemon.</p><div class="quotebox"><blockquote><div><p><strong>ℹ️IMPORTANT</strong><br />On Devuan, <span class="bbc">libnotify-bin</span> by itself is not enough as a notification daemon for Hyprshot to operate.</p></div></blockquote></div><div class="codebox"><pre><code>$ su -
# apt install jq grim slurp wl-clipboard libnotify-bin dunst
# exit</code></pre></div><h5>Creating the optimal directory for manually installed user scripts</h5><p>For a manual installation (downloading the script directly), place it in a directory that is in your user&#039;s <span class="bbc">$PATH</span>. The most common and recommended location is <span class="bbc">~/.local/bin</span>.</p><div class="codebox"><pre><code>$ mkdir -p ~/.local/bin</code></pre></div><p>If this directory does not exist or is not in your PATH, you will need to create it and add it to your shell&#039;s configuration file (e.g., <span class="bbc">~/.bashrc</span> or <span class="bbc">~/.zshrc</span>).</p><div class="quotebox"><blockquote><div><p><strong>💡TIP</strong><br />Devuan, by default, should have the <span class="bbc">~/.local/bin</span> directory added by default via <span class="bbc">/etc/bash.bashrc</span>.</p></div></blockquote></div><h5>Clone Hyprshot source code into created directory</h5><div class="codebox"><pre><code>$ git clone https://github.com/Gustash/hyprshot.git ~/.local/bin/Hyprshot</code></pre></div><h5>Symbolically make the script executable</h5><p>Create a symbolic link to make the script executable from anywhere.</p><div class="codebox"><pre><code>$ cd ~/.local/bin
$ ln -s $(pwd)/Hyprshot/hyprshot $HOME/.local/bin
$ chmod +x Hyprshot/hyprshot</code></pre></div><h5>Restarting your system and testing the command</h5><p>After completing the installation, restart your system to ensure all changes, environment variables, and the PATH are properly loaded.</p><div class="codebox"><pre><code>$ su -
# reboot</code></pre></div><p>To test Hyprshot, log in, open a terminal and run a command to capture a specific element, such as:</p><div class="codebox"><pre><code>$ hyprshot -m window</code></pre></div><p>This command will change your cursor, allowing you to click on any window to take a screenshot. If successful, the screenshot will be saved to your <span class="bbc">XDG_PICTURES_DIR</span> (typically <span class="bbc">~/Pictures</span>) and copied to the clipboard. You can test other modes like <span class="bbc">-m region</span> for a custom area or <span class="bbc">-m output</span> for a full monitor.</p>]]></description>
			<author><![CDATA[dummy@example.com (wolfchar)]]></author>
			<pubDate>Thu, 23 Apr 2026 04:36:52 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=7926&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Installation and Setup: Steam on Devuan for Hyprland]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=7904&amp;action=new</link>
			<description><![CDATA[<p>Steam is a popular game distribution platform by Valve. Since Hyprland is a Wayland compositor, Steam requires additional setup to run on a Wayland session because the Steam client itself is an X11-only application and lacks native Wayland support.</p><h5>Login as a root user</h5><p><span class="bbc">su -</span> cleanly resets all environment variables, changes the working directory to the target user&#039;s home directory, and sources the target user&#039;s profile scripts, simulating a fresh login as root:</p><div class="codebox"><pre><code>su -</code></pre></div><h5>Enable 32-bit architecture support</h5><p>Steam requires 32-bit architecture support libraries and proprietary components, so enable it:</p><div class="codebox"><pre><code>dpkg --add-architecture i386</code></pre></div><h5>Enable non-free &amp; contrib repository sources</h5><p>The Steam installer package resides in the <span class="bbc">contrib</span> repository, and the <span class="bbc">non-free</span> repository provides the essential 32-bit (i386) graphics drivers, Mesa libraries, and other hardware-specific components required for Steam to function and for games to run correctly. Ensure that both repositories are active in your sources list for your release. Depending on which source list is currently active on your PC, fill in the following information on one of these files:</p><div class="quotebox"><blockquote><div><p><strong>⚠️WARNING</strong><br />Having the same repository defined in both <span class="bbc">/etc/apt/sources.list</span> and <span class="bbc">/etc/apt/sources.list.d/devuan.sources</span> can lead to duplicate downloads of package metadata (like Packages and Sources files) during apt update. While APT is designed to de-duplicate packages and won&#039;t install the same package twice, it will still download the same repository metadata multiple times if the source is listed redundantly in different files or formats. This results in wasted bandwidth, longer update times, and warning messages like <span class="bbc">Target Packages is configured multiple times</span>. To avoid this, ensure each repository is defined only once, preferably using a single format.</p></div></blockquote></div><div class="quotebox"><blockquote><div><p><strong>❗IMPORTANT</strong><br />The following commands use the <span class="bbc">ceres</span> (Devuan Unstable) release. It <em>might</em> be necessary to have the unstable release repos enabled, instead of stable, to ensure the proper Hyprland packages are installed. If your current release is Devuan Stable (such as <span class="bbc">excalibur</span> in 2026), and unstable is not required, it would be best to keep the stable release keyword in the file.</p></div></blockquote></div><p>1. Within <span class="bbc">/etc/apt/sources.list</span>:</p><div class="codebox"><pre><code>deb http://deb.devuan.org/merged ceres main non-free non-free-firmware contrib</code></pre></div><p>2. Within <span class="bbc">/etc/apt/sources.list.d/devuan.sources</span>:</p><div class="codebox"><pre><code># Modernized from /etc/apt/sources.list
Types: deb
URIs: http://deb.devuan.org/merged/
Suites: ceres
Components: main non-free non-free-firmware contrib
Signed-By: /usr/share/keyrings/devuan-archive-keyring.gpg</code></pre></div><h5>Update repositories and install Steam</h5><p>After enabling the required repositories, update your package lists:</p><div class="codebox"><pre><code>sudo apt update</code></pre></div><p>Install the <span class="bbc">steam-installer</span> package using:</p><div class="codebox"><pre><code>sudo apt install steam-installer</code></pre></div><h5>Install and set up xwayland</h5><p>The Steam client requires <span class="bbc">xwayland</span> to run on a Wayland session because the Steam client itself is an X11-only application and lacks native Wayland support. If you&#039;re experiencing a display crash or the &quot;Could not open connection to X&quot; error, it&#039;s likely because Steam cannot connect to an X server. Currently, under a Wayland session, this is handled by <span class="bbc">xwayland</span>, which acts as a compatibility layer allowing X11 applications like Steam to run.</p><p>Install <span class="bbc">xwayland</span> via:</p><div class="codebox"><pre><code>sudo apt install xwayland</code></pre></div><p>Verify <span class="bbc">xwayland</span> is active by running by printing the value of the <span class="bbc">$DISPLAY</span> enviroment variable. This should return <span class="bbc">:0</span>:</p><div class="codebox"><pre><code>echo $DISPLAY</code></pre></div><p>If the DISPLAY variable is not set, you can set it manually. The command <span class="bbc">export DISPLAY=:0</span> sets the DISPLAY environment variable to <span class="bbc">:0</span>, telling graphical (a la X11) applications to render their graphical interface on the first local display (screen 0) of the local X server:</p><div class="codebox"><pre><code>export DISPLAY=:0</code></pre></div><h5>Restart Wayland session</h5><p>Restart your Wayland session to ensure <span class="bbc">xwayland</span> starts with the compositor; an easy way to do that for Hyprland specifically would be:</p><div class="codebox"><pre><code>hyprctl dispatch exit
dbus-run-session start-hyprland</code></pre></div><h5>Launch Steam</h5><p>Finally, launch Steam from the application menu or via the terminal:</p><div class="codebox"><pre><code>steam</code></pre></div><p>By following these steps, you should be able to install and run Steam on your Devuan system using a Wayland-based desktop environment like Hyprland.</p>]]></description>
			<author><![CDATA[dummy@example.com (wolfchar)]]></author>
			<pubDate>Sun, 12 Apr 2026 01:03:17 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=7904&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[[HowTo] Install Gitea on Devuan 5]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=6618&amp;action=new</link>
			<description><![CDATA[<p>Never heard about Forgejo. Seems an interesting choice. Gitea served me very well for some time. I plan to switch my mini-server to Devuan. I only store important files there and I setup a small Gitea server. Now I have Debian on it. I like Devuan because is more transparent not having systemd and I don&#039;t have the problems I had in systemd: hanging shutdowns especially.<br />Forgejo seems like a fallback in case gitea change their licensing or some big company buys them.</p>]]></description>
			<author><![CDATA[dummy@example.com (ovi)]]></author>
			<pubDate>Tue, 07 Apr 2026 14:52:49 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=6618&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[[HowTo] Install Forgejo with self signed cert on Devuan 6]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=7889&amp;action=new</link>
			<description><![CDATA[<p>Forgejo, an alternative to Gitea.<br /><a href="https://forgejo.org" rel="nofollow">https://forgejo.org</a></p><p>Kernel version: 6.12.48+deb13-amd64<br />Binary file: forgejo-13.0.3-linux-amd64<br />Partition scheme: / 12%, swap 12%, /home -1<br />Does these matters? I don&#039;t know but I have tried this steps only on systems having exactly the same specs like above, so if you get any error message related for example to swap memory and you have no swap then I won&#039;t know what to tell you but create a swap partition and try again.</p><p># First, make sure the domain/host name on /etc/hosts it&#039;s like: IP &lt;FQDN&gt; &lt;hostname&gt;, for example for a local domain /etc/hosts should be like:<br />127.0.0.1&#160; &#160; localhost<br />192.168.1.10 myhost.mydomain.home myhost<br /># Where 192.168.1.10 is the local network IP for your local forgejo host, to verify it then execute:</p><div class="codebox"><pre><code>hostname -f</code></pre></div><p># The result should be for example:<br /><span class="bbc">myhost.mydomain.home</span><br /># This is a must since later we will use the variables FQDN and HOSTNAME to retreive those values automatically <br /># to generate the self signed cert and to avoid mistyping errors that could make the setup completely fail.</p><p># Install dependencies</p><div class="codebox"><pre><code>sudo apt install -y git git-lfs nginx openssl</code></pre></div><p># Download and install binary</p><div class="codebox"><pre><code>wget https://codeberg.org/forgejo/forgejo/releases/download/v13.0.3/forgejo-13.0.3-linux-amd64
chmod +x forgejo-13.0.3-linux-amd64
sudo cp forgejo-13.0.3-linux-amd64 /usr/local/bin/forgejo
sudo chmod 755 /usr/local/bin/forgejo</code></pre></div><p># Create git user on the system. Forgejo will run as that user, and when accessing git through <br /># SSH (which is the default), this user is part of the URL (for example <br /># in: git clone git@git.example.com:YourOrg/YourRepo.git the &quot;git&quot; at the left of @ is the user you’ll create now).</p><div class="codebox"><pre><code>sudo adduser --system --shell /bin/bash --gecos &#039;Git Version Control&#039; \
  --group --disabled-password --home /home/git git</code></pre></div><p># Create the directory where Forgejo’s config, called app.ini it&#039;s stored in. Initially it needs to be writable by Forgejo, <br /># but after the installation you can make it read-only even for Forgejo because then it shouldn’t modify it anymore.</p><div class="codebox"><pre><code>sudo mkdir -p /etc/forgejo/{ssl}
sudo chown -R root:git /etc/forgejo &amp;&amp; sudo chmod -R 770 /etc/forgejo</code></pre></div><p># In this case, below will use the path &quot;/home/git/&quot; where Forgejo will store its data, including your repositories,&#160; <br /># this in order to make it easier to preserve and backup when ussing separated /home partition and SQLite database, <br /># but that value can be modified to anything that suits best for you if you know what are you doing.</p><p># Create Forgejo service file, copy and paste from #!/bin/sh line to &quot;exit 0&quot; line and save.</p><div class="codebox"><pre><code>sudo nano /etc/init.d/forgejo</code></pre></div><p><span class="bbc">#!/bin/sh<br />### BEGIN INIT INFO<br /># Provides:&#160; &#160; &#160; &#160; &#160; forgejo<br /># Required-Start:&#160; &#160; $remote_fs $network $syslog<br /># Required-Stop:&#160; &#160; &#160;$remote_fs $network $syslog<br /># Should-Start:&#160; &#160; &#160; $local_fs<br /># Should-Stop:&#160; &#160; &#160; &#160;$local_fs<br /># Default-Start:&#160; &#160; &#160;2 3 4 5<br /># Default-Stop:&#160; &#160; &#160; 0 1 6<br /># Short-Description: Forgejo Git server daemon<br /># Description:&#160; &#160; &#160; &#160;Starts, stops, and manages the Forgejo service.<br />### END INIT INFO</span></p><p><span class="bbc"># Where Forgejo lives (binary, config, data)<br />FORGEJO_ROOT=&quot;/home/git/lib/forgejo&quot;<br />FORGEJO_BINARY=&quot;/usr/local/bin/forgejo&quot;<br />FORGEJO_WORK_DIR=&quot;/home/git/lib/forgejo&quot;<br />FORGEJO_USER=&quot;git&quot;<br />FORGEJO_GROUP=&quot;git&quot;</span></p><p><span class="bbc"># Config file<br />FORGEJO_CONFIG=&quot;/etc/forgejo/app.ini&quot;</span></p><p><span class="bbc"># Log files – same locations used by the systemd unit<br />FORGEJO_LOG_DIR=&quot;${FORGEJO_ROOT}/log&quot;<br />STDOUT_LOG=&quot;${FORGEJO_LOG_DIR}/stdout.log&quot;<br />STDERR_LOG=&quot;${FORGEJO_LOG_DIR}/stderr.log&quot;</span></p><p><span class="bbc"># PID file – used for status checks and clean shutdowns<br />PIDFILE=&quot;/var/run/forgejo.pid&quot;</span></p><p><span class="bbc"># Extra flags you might want to pass (e.g., --config)<br />DAEMON_OPTS=&quot;web --config ${FORGEJO_CONFIG}&quot;</span></p><p><span class="bbc">log_msg() {<br />&#160; &#160; echo &quot;[forgejo] $*&quot;<br />}</span></p><p><span class="bbc"># Ensure the binary exists before we try anything<br />[ -x &quot;${FORGEJO_BINARY}&quot; ] || {<br />&#160; &#160; log_msg &quot;Executable not found at ${FORGEJO_BINARY}. Aborting.&quot;<br />&#160; &#160; exit 1<br />}</span></p><p><span class="bbc"># Create log directory if missing<br />[ -d &quot;${FORGEJO_LOG_DIR}&quot; ] || mkdir -p &quot;${FORGEJO_LOG_DIR}&quot;<br />chown ${FORGEJO_USER}:${FORGEJO_GROUP} &quot;${FORGEJO_LOG_DIR}&quot;</span></p><p><span class="bbc">do_start() {<br />&#160; &#160; log_msg &quot;Starting Forgejo…&quot;<br />&#160; &#160; # Run as the dedicated user, detach, and capture PID<br />&#160; &#160; start-stop-daemon --start \<br />&#160; &#160; &#160; &#160; --quiet \<br />&#160; &#160; &#160; &#160; --background \<br />&#160; &#160; &#160; &#160; --make-pidfile \<br />&#160; &#160; &#160; &#160; --pidfile &quot;${PIDFILE}&quot; \<br />&#160; &#160; &#160; &#160; --chuid &quot;${FORGEJO_USER}:${FORGEJO_GROUP}&quot; \<br />&#160; &#160; &#160; &#160; --exec &quot;${FORGEJO_BINARY}&quot; \<br />&#160; &#160; &#160; &#160; -- ${DAEMON_OPTS} &gt;&gt;&quot;${STDOUT_LOG}&quot; 2&gt;&gt;&quot;${STDERR_LOG}&quot;<br />&#160; &#160; RET=$?<br />&#160; &#160; [ $RET -eq 0 ] &amp;&amp; log_msg &quot;Forgejo started (PID $(cat ${PIDFILE}))&quot;<br />&#160; &#160; return $RET<br />}</span></p><p><span class="bbc">do_stop() {<br />&#160; &#160; log_msg &quot;Stopping Forgejo…&quot;<br />&#160; &#160; if [ -f &quot;${PIDFILE}&quot; ]; then<br />&#160; &#160; &#160; &#160; PID=$(cat &quot;${PIDFILE}&quot;)<br />&#160; &#160; &#160; &#160; start-stop-daemon --stop --quiet --pid &quot;${PID}&quot; --retry=TERM/30/KILL/5<br />&#160; &#160; &#160; &#160; RET=$?<br />&#160; &#160; &#160; &#160; [ $RET -eq 0 ] &amp;&amp; rm -f &quot;${PIDFILE}&quot; &amp;&amp; log_msg &quot;Forgejo stopped&quot;<br />&#160; &#160; else<br />&#160; &#160; &#160; &#160; log_msg &quot;No PID file found – is Forgejo already stopped?&quot;<br />&#160; &#160; &#160; &#160; RET=1<br />&#160; &#160; fi<br />&#160; &#160; return $RET<br />}</span></p><p><span class="bbc">do_restart() {<br />&#160; &#160; do_stop &amp;&amp; do_start<br />}</span></p><p><span class="bbc">do_status() {<br />&#160; &#160; if [ -f &quot;${PIDFILE}&quot; ]; then<br />&#160; &#160; &#160; &#160; PID=$(cat &quot;${PIDFILE}&quot;)<br />&#160; &#160; &#160; &#160; if kill -0 &quot;$PID&quot; 2&gt;/dev/null; then<br />&#160; &#160; &#160; &#160; &#160; &#160; echo &quot;Forgejo is running (PID $PID)&quot;<br />&#160; &#160; &#160; &#160; &#160; &#160; return 0<br />&#160; &#160; &#160; &#160; else<br />&#160; &#160; &#160; &#160; &#160; &#160; echo &quot;Forgejo PID file exists but process is dead&quot;<br />&#160; &#160; &#160; &#160; &#160; &#160; return 1<br />&#160; &#160; &#160; &#160; fi<br />&#160; &#160; else<br />&#160; &#160; &#160; &#160; echo &quot;Forgejo is not running&quot;<br />&#160; &#160; &#160; &#160; return 3<br />&#160; &#160; fi<br />}</span></p><p><span class="bbc">case &quot;$1&quot; in<br />&#160; &#160; start)<br />&#160; &#160; &#160; &#160; do_start<br />&#160; &#160; &#160; &#160; ;;<br />&#160; &#160; stop)<br />&#160; &#160; &#160; &#160; do_stop<br />&#160; &#160; &#160; &#160; ;;<br />&#160; &#160; restart|force-reload)<br />&#160; &#160; &#160; &#160; do_restart<br />&#160; &#160; &#160; &#160; ;;<br />&#160; &#160; status)<br />&#160; &#160; &#160; &#160; do_status<br />&#160; &#160; &#160; &#160; ;;<br />&#160; &#160; *)<br />&#160; &#160; &#160; &#160; echo &quot;Usage: $0 {start|stop|restart|status}&quot;<br />&#160; &#160; &#160; &#160; exit 2<br />&#160; &#160; &#160; &#160; ;;<br />esac</span></p><p><span class="bbc">exit 0</span></p><p># Make it executable</p><div class="codebox"><pre><code>sudo chmod +x /etc/init.d/forgejo</code></pre></div><p># Enable the service auto-start at boot</p><div class="codebox"><pre><code>sudo update-rc.d forgejo defaults</code></pre></div><p># Generate self signed cert and key</p><div class="codebox"><pre><code>sudo openssl genrsa -out /etc/nginx/ssl/$(hostname).key 4096
sudo openssl req -x509 -new -nodes -key /etc/nginx/ssl/$(hostname).key -sha256 -days 365 -subj &quot;/CN=$(hostname -f)&quot; -reqexts v3_req -extensions v3_ca -out /etc/nginx/ssl/$(hostname).crt</code></pre></div><p># Change cert and key group permissions but maintaining root ownership</p><div class="codebox"><pre><code>sudo chgrp git /etc/nginx/ssl/$(hostname).crt
sudo chmod 644 /etc/nginx/ssl/$(hostname).crt
sudo chgrp git /etc/nginx/ssl/$(hostname).key
sudo chmod 600 /etc/nginx/ssl/$(hostname).key</code></pre></div><p># Prevent git error: server verification failed: certificate signer not trusted for your local repo/server</p><div class="codebox"><pre><code>git config --global http.&quot;https://$(hostname -f)/&quot;.sslCAInfo /etc/nginx/ssl/$(hostname).crt</code></pre></div><p># Copy the new certificate system wide (optional):</p><div class="codebox"><pre><code>sudo cp /etc/nginx/ssl/$(hostname).crt /usr/local/share/ca-certificates/
sudo update-ca-certificates</code></pre></div><p># To prevent error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413</p><div class="codebox"><pre><code>sudo nano /etc/nginx/nginx.conf</code></pre></div><p># Add this line inside the &quot;http {&quot; block</p><p><span class="bbc">&#160; &#160; &#160; &#160; # To prevent error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 41<br />&#160; &#160; &#160; &#160; client_max_body_size 500M;&#160; # Increase limit from default 1MB to 500M</span></p><p># Create the initial forgejo settings: copy, paste and enter (to pass the hostname values).</p><div class="codebox"><pre><code>sudo tee /etc/forgejo/app.ini &gt; /dev/null &lt;&lt;&#039;EOF&#039;
[server]
PROTOCOL                   = http
DOMAIN                     = $(hostname -d)
ROOT_URL                   = https://$(hostname -f)
APP_DATA_PATH              = /home/git/data
LOCAL_ROOT_URL             =

[session]
COOKIE_SECURE              = true
EOF</code></pre></div><p># Change /etc/forgejo/app.ini ownership</p><div class="codebox"><pre><code>sudo chown git:git /etc/forgejo/app.ini
sudo chmod 644 /etc/forgejo/app.ini</code></pre></div><p># Create the NGINX site configuration: copy, paste, press enter.</p><div class="codebox"><pre class="vscroll"><code>sudo tee /etc/nginx/sites-available/forgejo.conf &gt; /dev/null &lt;&lt;&#039;EOF&#039;
# --------------------------------------------------------------
# HTTP → HTTPS redirect (listen on port 80)
# --------------------------------------------------------------
server {
    listen 80;
    listen [::]:80;
    server_name $(hostname -f);
    
    # Redirect every request to the same URL but with https
    return 301 https://$host$request_uri;
}

# --------------------------------------------------------------
# TLS termination + reverse‑proxy to Forgejo (listen on 443)
# --------------------------------------------------------------
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name $(hostname -f);

    # ----- TLS certificates -----
    ssl_certificate     /etc/nginx/ssl/$(hostname).crt;
    ssl_certificate_key /etc/nginx/ssl/$(hostname).key;

    # ----- Recommended SSL settings (Mozilla intermediate profile) -----
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_timeout 1d;
    ssl_session_cache   shared:SSL:10m;

    # ----- HSTS (force browsers to stay on HTTPS) -----
    add_header Strict-Transport-Security &quot;max-age=31536000; includeSubDomains; preload&quot; always;

    # ----- Proxy settings -----
    location / {
        # Forgejo runs internally on HTTP port 3000 (unchanged)
        proxy_pass http://127.0.0.1:3000;

        # Preserve original host and scheme for Forgejo’s own link generation
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Optional: increase timeout for large git pushes
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }

    # ----- Optional: static assets cache (speed up UI) -----
    location ~* \.(css|js|png|jpg|jpeg|svg|ico|woff2?)$ {
        expires 30d;
        add_header Cache-Control &quot;public, immutable&quot;;
        try_files $uri @forgejo;
    }

    # Fallback to the main proxy block if the static file isn’t found
    location @forgejo {
        proxy_pass http://127.0.0.1:3000;
    }
}
EOF</code></pre></div><p># Enable the site &amp; test the NGINX config</p><div class="codebox"><pre><code>sudo ln -sf /etc/nginx/sites-available/forgejo.conf /etc/nginx/sites-enabled/</code></pre></div><p># Test syntax (very important!)</p><div class="codebox"><pre><code>sudo nginx -t</code></pre></div><p># You should see:<br /><span class="bbc">nginx: the configuration file /etc/nginx/nginx.conf syntax is ok<br />nginx: configuration file /etc/nginx/nginx.conf test is successful</span></p><p># Open firewall ports (if applicable)<br /># If you have ufw, firewalld, or a cloud‑provider security group, allow only 80 and 443 inbound:</p><p># UFW example</p><div class="codebox"><pre><code>sudo ufw allow 80/tcp
sudo ufw allow 443/tcp</code></pre></div><p># (Optionally deny direct access to 3000 from outside)</p><div class="codebox"><pre><code>sudo ufw deny 3000/tcp</code></pre></div><p># For firewalld:</p><div class="codebox"><pre><code>sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --remove-port=3000/tcp --permanent   # optional
sudo firewall-cmd --reload</code></pre></div><p># Start both services </p><div class="codebox"><pre><code>sudo service forgejo start
sudo service nginx start</code></pre></div><p># Finally, open your browser and go to http://&lt;FQDN_here&gt; to finish the setup.<br /># Yes, of course you will get the warning of self signed cert but other than that everything will work as intended.</p>]]></description>
			<author><![CDATA[dummy@example.com (joser)]]></author>
			<pubDate>Mon, 06 Apr 2026 19:05:49 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=7889&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[How to: Devuan 5 Daedalus an pipewire]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?id=5867&amp;action=new</link>
			<description><![CDATA[<p>with enough luck by the end of this year (knocking on wood it will be sooner than that) shed will be able to provide a proper x-session-manager + user services in a way that can work with any non Desktop Environment in devuan stable.</p>]]></description>
			<author><![CDATA[dummy@example.com (EDX-0)]]></author>
			<pubDate>Sat, 21 Mar 2026 22:55:18 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?id=5867&amp;action=new</guid>
		</item>
	</channel>
</rss>
