<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>in ♥️ with linux</title>
    <link>https://inlovewithlinux.com/</link>
    <description>After 20 years with macOS, I returned to Linux &lt;span&gt;many&lt;/span&gt; days ago, including &lt;strong&gt;some&lt;/strong&gt; days without hopping  on Fedora.</description>
    <pubDate>Wed, 21 Oct 2026 00:06:56 +0200</pubDate>
    <item>
      <title>Almost boring Fedora Linux</title>
      <link>https://inlovewithlinux.com/almost-boring-fedora-linux</link>
      <description>&lt;![CDATA[The header of this page shows it. I&#39;ve switched the distro again. This time back to Fedora. Why back? Fedora keeps coming back to the computer. Essentially since I switched from the DLD to Redhat 6. Long before my Mac time.&#xA;&#xA;What is the reason? Fedora just works. The installation was done in a few minutes. (Almost) all packages are there and GNOME runs wonderfully out of the box. DNF5 as package manager comes close to apt.&#xA;&#xA;My AMD desktop doesn&#39;t cause any trouble and my Framework 12 runs fine.&#xA;&#xA;Almost boring :)&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>The header of this page shows it. I&#39;ve switched the distro again. This time back to <a href="https://fedoraproject.org/">Fedora</a>. Why back? Fedora keeps coming back to the computer. Essentially since I switched from the <a href="https://de.wikipedia.org/wiki/Deutsche_Linux-Distribution">DLD</a> to Redhat 6. Long before my Mac time.</p>

<p>What is the reason? Fedora just works. The installation was done in a few minutes. (Almost) all packages are there and GNOME runs wonderfully out of the box. DNF5 as package manager comes close to apt.</p>

<p>My AMD desktop doesn&#39;t cause any trouble and my Framework 12 runs fine.</p>

<p>Almost boring :)</p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/almost-boring-fedora-linux</guid>
      <pubDate>Sat, 17 Oct 2026 10:19:02 +0200</pubDate>
    </item>
    <item>
      <title>reMarkable app in wine</title>
      <link>https://inlovewithlinux.com/remarkable-app-in-wine</link>
      <description>&lt;![CDATA[I like the e-Ink tablets from reMarkable. Since model 1 I have been using them.&#xA;I wish the whole system was a bit more open. While data can also be exchanged via ssh, many functions require the cloud services of reMarkable.&#xA;&#xA;Unfortunately, there is no native app for Linux, but fortunately wine can now very well start Windows apps under Linux.&#xA;&#xA;After the regular installation, the app did not work. The screen was not updated, only when the window was resized.&#xA;&#xA;The reason appears to be that the app is based on QT and requires 3D acceleration. &#xA;The solution was to make wine 3D capable. Simply install dxvk via winetricks, i.e. a Vulkan-based translation layer for Direct3D.&#xA;&#xA;winetricks dxvk&#xA;&#xA;After that, the app runs perfectly.&#xA;&#xA;It would be great if there was simply a native Linux app.&#xA;&#xA;reMarkable app&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>I like the e-Ink tablets from <a href="https://remarkable.com/en">reMarkable</a>. Since model 1 I have been using them.
I wish the whole system was a bit more open. While data can also be exchanged via ssh, many functions require the cloud services of reMarkable.</p>

<p>Unfortunately, there is no native app for Linux, but fortunately <a href="https://www.winehq.org/">wine</a> can now very well start Windows apps under Linux.</p>

<p>After the regular installation, the app did not work. The screen was not updated, only when the window was resized.</p>

<p>The reason appears to be that the app is based on QT and requires 3D acceleration.
The solution was to make wine 3D capable. Simply install <a href="https://github.com/doitsujin/dxvk">dxvk</a> via winetricks, i.e. a Vulkan-based translation layer for Direct3D.</p>

<pre><code>winetricks dxvk
</code></pre>

<p>After that, the app runs perfectly.</p>

<p>It would be great if there was simply a native Linux app.</p>

<p><img src="/posts/261008/remarkable.png" alt="reMarkable app"></p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/remarkable-app-in-wine</guid>
      <pubDate>Thu, 08 Oct 2026 20:38:35 +0200</pubDate>
    </item>
    <item>
      <title>fix firefox glitch</title>
      <link>https://inlovewithlinux.com/fix-firefox-glitch</link>
      <description>&lt;![CDATA[Firefox (or Librewolf) has an annoying glitch on my systems under GNOME at 150% screen scaling. A black line at the top edge that occasionally appears. Actually the line has no opacity.&#xA;&#xA;Glitch&#xA;(The image was altered to make the glitch more visible)&#xA;&#xA;This drives my mad, so I choose a simple solution: fix it with a custom theme!&#xA;&#xA;I use the ADW-GTK3 theme for GTK3 apps, so simple theme which includes ADW-GTK3 (installed in ~/.local/themes/adw-gtk3/) works great.&#xA;&#xA;I call the theme rounded (because of the corners) and it is installed in ~/.local/themes/rounded/gtk-3.0/. There create a gtk.css.&#xA;&#xA;@import url(&#34;../../adw-gtk3/gtk-3.0/gtk.css&#34;);&#xA;&#xA;window decoration {&#xA;  border-radius: 15px;&#xA;  box-shadow:&#xA;    0 3px 8px 0 rgba(0, 0, 0, 0.3), &#xA;    0 0 0 0 @headerbarbgcolor;  &#xA;}&#xA;&#xA;For a first test start firefox via terminal:&#xA;&#xA;env GTKTHEME=rounded firefox&#xA;&#xA;or&#xA;&#xA;env GTKTHEME=rounded librewolf&#xA;&#xA;NoGlitch&#xA;&#xA;To make the fix permanent, simply modify the .desktop file.&#xA;&#xA;Firefox:&#xA;&#xA;cp /usr/share/applications/firefox.desktop ~/.local/share/applications/&#xA;&#xA;Then, in the firefox.desktop file, change the Exec line to the following:&#xA;&#xA;Exec=env GTKTHEME=rounded firefox %u&#xA;&#xA;Librewolf:&#xA;&#xA;cp /usr/share/applications/librewolf.desktop ~/.local/share/applications/&#xA;&#xA;Then, in the librewolf.desktop file, change the Exec line to the following:&#xA;&#xA;Exec=env GTKTHEME=rounded librewolf %u&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://www.firefox.com/">Firefox</a> (or <a href="https://librewolf.net/">Librewolf</a>) has an annoying glitch on my systems under GNOME at 150% screen scaling. A black line at the top edge that occasionally appears. Actually the line has no opacity.</p>

<p><img src="/posts/260822/glitch-min.png" alt="Glitch">
(<em>The image was altered to make the glitch more visible</em>)</p>

<p>This drives my mad, so I choose a simple solution: fix it with a custom theme!</p>

<p>I use the <a href="https://github.com/lassekongo83/adw-gtk3">ADW-GTK3</a> theme for GTK3 apps, so simple theme which includes ADW-GTK3 (installed in ~/.local/themes/adw-gtk3/) works great.</p>

<p>I call the theme rounded (because of the corners) and it is installed in <strong>~/.local/themes/rounded/gtk-3.0/</strong>. There create a <strong>gtk.css</strong>.</p>

<pre><code>@import url(&#34;../../adw-gtk3/gtk-3.0/gtk.css&#34;);

window decoration {
  border-radius: 15px;
  box-shadow:
    0 3px 8px 0 rgba(0, 0, 0, 0.3), 
    0 0 0 0 @headerbar_bg_color;  
}
</code></pre>

<p>For a first test start firefox via terminal:</p>

<p><code>env GTK_THEME=rounded firefox</code></p>

<p>or</p>

<p><code>env GTK_THEME=rounded librewolf</code></p>

<p><img src="/posts/260822/noglitch-min.png" alt="NoGlitch"></p>

<p>To make the fix permanent, simply modify the <code>.desktop</code> file.</p>

<p><strong>Firefox:</strong></p>

<p><code>cp /usr/share/applications/firefox.desktop ~/.local/share/applications/</code></p>

<p>Then, in the <strong>firefox.desktop</strong> file, change the <strong>Exec</strong> line to the following:</p>

<p><code>Exec=env GTK_THEME=rounded firefox %u</code></p>

<p><strong>Librewolf:</strong></p>

<p><code>cp /usr/share/applications/librewolf.desktop ~/.local/share/applications/</code></p>

<p>Then, in the <strong>librewolf.desktop</strong> file, change the <strong>Exec</strong> line to the following:</p>

<p><code>Exec=env GTK_THEME=rounded librewolf %u</code></p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/fix-firefox-glitch</guid>
      <pubDate>Sat, 22 Aug 2026 17:34:35 +0200</pubDate>
    </item>
    <item>
      <title>SyncGNOME - shamefull vibe-coding</title>
      <link>https://inlovewithlinux.com/syncgnome-shamefull-vibe-coding</link>
      <description>&lt;![CDATA[I have a very ambivalent relationship with AI. I don’t think system-critical software should be programmed by AI alone. But as a tool for &#34;dumb&#34; tasks, I find it practical nowadays—if it weren’t for the other downsides (energy consumption, RAM prices, etc.).&#xA;&#xA;So, it’s basically hypocritical that I have AI write small scripts for me... but it’s just so easy.&#xA;&#xA;The starting point&#xA;I use two computers in my daily life: a desktop and a laptop. I sync many dotfiles between them using chezmoi, but since GNOME stores its settings in dconf, I need a tool for that. Preferably with a UI that integrates into GNOME.&#xA;&#xA;syncGNOME&#xA;syncGNOME is a simple little Python app that allows importing or exporting entries from dconf via git. The corresponding entries can be added to a config file, as well as paths that should be excluded—like my wallpaper settings, for example.&#xA;Additionally, the device name in gsconnect can be set to the hostname. Maybe that’s very specific to my use case.&#xA;&#xA;SyncGNOME&#xA;&#xA;Update&#xA;&#xA;Because of the AI policy of Codeberg I removed the file.&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>I have a very ambivalent relationship with AI. I don’t think system-critical software should be programmed by AI alone. But as a tool for “dumb” tasks, I find it practical nowadays—if it weren’t for the other downsides (energy consumption, RAM prices, etc.).</p>

<p>So, it’s basically hypocritical that I have AI write small scripts for me... but it’s just so easy.</p>

<h2 id="the-starting-point">The starting point</h2>

<p>I use two computers in my daily life: a desktop and a laptop. I sync many dotfiles between them using chezmoi, but since GNOME stores its settings in dconf, I need a tool for that. Preferably with a UI that integrates into GNOME.</p>

<h2 id="syncgnome">syncGNOME</h2>

<p>syncGNOME is a simple little Python app that allows importing or exporting entries from dconf via git. The corresponding entries can be added to a config file, as well as paths that should be excluded—like my wallpaper settings, for example.
Additionally, the device name in gsconnect can be set to the hostname. Maybe that’s very specific to my use case.</p>

<p><img src="/posts/260712/syncgnome.jpg" alt="SyncGNOME"></p>

<h2 id="update">Update</h2>

<p>Because of the AI policy of Codeberg I removed the file.</p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/syncgnome-shamefull-vibe-coding</guid>
      <pubDate>Fri, 10 Jul 2026 12:22:17 +0200</pubDate>
    </item>
    <item>
      <title>in love with scrollable tiling</title>
      <link>https://inlovewithlinux.com/in-love-with-scrollable-tiling</link>
      <description>&lt;![CDATA[I can&#39;t imagine any other window system anymore except for scrollable tiling—the display of windows side by side on an endless strip. For me, it&#39;s the perfect system.&#xA;&#xA;The most well-known example by now is Niri, of which I&#39;m a big fan.&#xA;&#xA;Niri is fast, simple, and powerful to configure, but it needs an ecosystem around it: panel, dock, wallpaper, screen locker, and so on.&#xA;&#xA;With programs like waybar, quickshell, swaybg, or swaylock, there’s a lot that makes Niri perfect. In short: I love Niri.&#xA;&#xA;Niri&#xA;&#xA;But what I love even more is the ecosystem and, above all, the general approach to usability in GNOME. I find the use of the dock particularly brilliant. GNOME seems to have been created exactly for my way of thinking.&#xA;&#xA;GNOME&#xA;&#xA;Now, GNOME doesn’t offer scrollable tiling, but there is an extension that, among other things, also served as inspiration for Niri: PaperWM&#xA;&#xA;PaperWM&#xA;&#xA;In PaperWM you can configure a huge, huge, huge amount. The settings might overwhelm you a bit at first, but gradually, you can build a wonderful scrollable tiling experience for GNOME.&#xA;&#xA;PaperWM&#xA;&#xA;You can also adjust settings individually for specific programs using the window class or window title. For example, Tuba and Fractal both have 50% width and share workspace 2 for me.&#xA;&#xA;PaperWM&#xA;&#xA;Because of the dream combination of GNOME and scrollable tiling, PaperWM is currently my first choice...]]&gt;</description>
      <content:encoded><![CDATA[<p>I can&#39;t imagine any other window system anymore except for scrollable tiling—the display of windows side by side on an endless strip. For me, it&#39;s the perfect system.</p>

<p>The most well-known example by now is <a href="https://github.com/niri-wm/niri">Niri</a>, of which I&#39;m a big fan.</p>

<p><a href="https://github.com/niri-wm/niri">Niri</a> is fast, simple, and powerful to configure, but it needs an ecosystem around it: panel, dock, wallpaper, screen locker, and so on.</p>

<p>With programs like waybar, quickshell, swaybg, or swaylock, there’s a lot that makes Niri perfect. In short: I love Niri.</p>

<p><img src="/posts/260706/niri.jpg" alt="Niri"></p>

<p>But what I love even more is the ecosystem and, above all, the general approach to usability in <a href="https://www.gnome.org/">GNOME</a>. I find the use of the dock particularly brilliant. GNOME seems to have been created exactly for my way of thinking.</p>

<p><img src="/posts/260706/gnome.jpg" alt="GNOME"></p>

<p>Now, GNOME doesn’t offer scrollable tiling, but there is an extension that, among other things, also served as inspiration for Niri: <a href="https://github.com/paperwm/PaperWM">PaperWM</a></p>

<p><img src="/posts/260706/paperwm01.jpg" alt="PaperWM"></p>

<p>In <a href="https://github.com/paperwm/PaperWM">PaperWM</a> you can configure a huge, huge, huge amount. The settings might overwhelm you a bit at first, but gradually, you can build a wonderful scrollable tiling experience for GNOME.</p>

<p><img src="/posts/260706/paperwm02.jpg" alt="PaperWM"></p>

<p>You can also adjust settings individually for specific programs using the window class or window title. For example, Tuba and Fractal both have 50% width and share workspace 2 for me.</p>

<p><img src="/posts/260706/paperwm03.jpg" alt="PaperWM"></p>

<p>Because of the dream combination of GNOME and scrollable tiling, PaperWM is currently my first choice...</p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/in-love-with-scrollable-tiling</guid>
      <pubDate>Mon, 06 Jul 2026 14:14:03 +0200</pubDate>
    </item>
    <item>
      <title>1-year debian: no fifth month</title>
      <link>https://inlovewithlinux.com/1-year-debian-no-fifth-month</link>
      <description>&lt;![CDATA[My 1-year challenge of using Debian has unfortunately failed. It’s not Debian’s fault, but rather my desktop’s. I kept having crashes and freezes while using GNOME under Wayland. Xorg works fine, but I just don’t want to use Xorg anymore.&#xA;&#xA;I&#39;m pretty sure everything is fixed in Testing or Sid, but then I might as well just go back to openSUSE as a rolling release.&#xA;&#xA;I finally did that and I&#39;m really excited about it. What&#39;s interesting is that I&#39;m not going back to tiling managers like Niri (like I used to). I&#39;m sticking with GNOME. Version 50 especially feels really smooth.&#xA;&#xA;I&#39;m a bit sad, because at heart, Debian was perfect in every way. Just not perfect for my specific hardware...]]&gt;</description>
      <content:encoded><![CDATA[<p>My 1-year challenge of using Debian has unfortunately failed. It’s not Debian’s fault, but rather my desktop’s. I kept having crashes and freezes while using GNOME under Wayland. Xorg works fine, but I just don’t want to use Xorg anymore.</p>

<p>I&#39;m pretty sure everything is fixed in Testing or Sid, but then I might as well just go back to openSUSE as a rolling release.</p>

<p>I finally did that and I&#39;m really excited about it. What&#39;s interesting is that I&#39;m not going back to tiling managers like Niri (like I used to). I&#39;m sticking with GNOME. Version 50 especially feels really smooth.</p>

<p>I&#39;m a bit sad, because at heart, Debian was perfect in every way. Just not perfect for my specific hardware...</p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/1-year-debian-no-fifth-month</guid>
      <pubDate>Fri, 29 May 2026 22:13:24 +0200</pubDate>
    </item>
    <item>
      <title>Unify GTK3 and GTK4 - Firefox</title>
      <link>https://inlovewithlinux.com/unify-gtk3-and-gtk4-firefox</link>
      <description>&lt;![CDATA[Small disclaimer: Since I&#39;m using Debian Stable, I&#39;m still on GNOME 48. Some of my issues might already be fixed in the latest version...&#xA;&#xA;Personally, I think libadwaita&#39;s design language is the best thing that could happen to a UI. Kind of like Apple back in the day. I just love the look of GTK4 and Adwaita.&#xA;&#xA;adw-gtk3&#xA;&#xA;Since many great apps still use GTK3, adw-gtk3 is a good theme to make those apps look more similar to GTK4.&#xA;It doesn’t quite work because GTK3 only has rounded corners at the top of the window, while GTK4 has all corners rounded. You could tweak it to match, but it wouldn’t make sense since GTK3 apps often have a status bar at the bottom of the window.&#xA;&#xA;Geany in stock Gtk3&#xA;&#xA;Geany in adw-gtk3&#xA;&#xA;I just installed the gtk-3.0 files, because I have no need for tweaking GTK4.&#xA;&#xA;tweaking Firefox (or Librewolf)&#xA;&#xA;Firefox (or in my case, Librewolf) also still uses GTK3 but can have rounded corners at the bottom as well.&#xA;You just need to enable it via about:config.&#xA;Just set widget.gtk.rounded-bottom-corners.enabled to true.&#xA;&#xA;Firefox in stock GTK3&#xA;&#xA;Firefox in adw-gtk3&#xA;&#xA;fixing glitches&#xA;&#xA;Since adw-gtk3 isn’t designed with this in mind (round corners in the bottom), we still need to do a bit of manual tweaking to avoid display issues.&#xA;&#xA;corner glitch&#xA;&#xA;I also have a scaling glitch. On my laptop with 125% UI scaling, Firefox looks good, but on my desktop with 150%, I unfortunately often get a display glitch when moving the window. A dark line appears at the top of the window. This, as mentioned, is under GNOME 48 and only happens with Firefox/Librewolf on my setup (but maybe on yours too).&#xA;&#xA;The solution is both complicated and simple at the same time:&#xA;&#xA;Firefox gets its own GTK theme, which modifies adw-gtk3.&#xA;&#xA;The theme add border-radius and disables the 1px border that causes the glitch.&#xA;&#xA;The &#34;theme&#34; uses a gtk.css file, and for me, it&#39;s located in ~/.local/share/themes/gtk-3.0/.&#xA;&#xA;It assumes that adw-gtk3 is also in ~/.local/share/themes. Otherwise, the path needs to be adjusted.&#xA;&#xA;@import url(&#34;../../adw-gtk3/gtk-3.0/gtk.css&#34;);&#xA;decoration {&#xA;  border-radius: 15px;&#xA;  box-shadow:&#xA;    0 3px 8px 0 rgba(0, 0, 0, 0.3),&#xA;    0 0 0 0 @headerbarbgcolor;&#xA;}&#xA;&#xA;Now we just need to start Firefox individually with this theme. That works with&#xA;&#xA;env GTKTHEME=rounded firefox&#xA;&#xA;For a permanent fix, we copy the relevant .desktop file from /usr/share/applications/ to ~/.local/share/applications/ an adjust the Exec entries to&#xA;&#xA;Exec=env GTKTHEME=rounded /usr/lib/firefox-esr/firefox-esr %u&#xA;&#xA;For Librewolf, of course, the corresponding launcher needs to be adjusted.&#xA;&#xA;Firefox fixed]]&gt;</description>
      <content:encoded><![CDATA[<p><strong>Small disclaimer:</strong> Since I&#39;m using Debian Stable, I&#39;m still on GNOME 48. Some of my issues might already be fixed in the latest version...</p>

<p>Personally, I think libadwaita&#39;s design language is the best thing that could happen to a UI. Kind of like Apple back in the day. I just love the look of GTK4 and Adwaita.</p>

<h2 id="adw-gtk3">adw-gtk3</h2>

<p>Since many great apps still use GTK3, <a href="https://github.com/lassekongo83/adw-gtk3">adw-gtk3</a> is a good theme to make those apps look more similar to GTK4.
It doesn’t quite work because GTK3 only has rounded corners at the top of the window, while GTK4 has all corners rounded. You could tweak it to match, but it wouldn’t make sense since GTK3 apps often have a status bar at the bottom of the window.</p>

<p><img src="/posts/260525/geany1-min.png" alt="Geany in stock Gtk3"></p>

<p><img src="/posts/260525/geany2-min.png" alt="Geany in adw-gtk3"></p>

<p>I just installed the gtk-3.0 files, because I have no need for tweaking GTK4.</p>

<h2 id="tweaking-firefox-or-librewolf">tweaking Firefox (or Librewolf)</h2>

<p>Firefox (or in my case, Librewolf) also still uses GTK3 but can have rounded corners at the bottom as well.
You just need to enable it via <strong>about:config</strong>.
Just set <strong>widget.gtk.rounded-bottom-corners.enabled</strong> to <strong>true</strong>.</p>

<p><img src="/posts/260525/firefox1-min.png" alt="Firefox in stock GTK3"></p>

<p><img src="/posts/260525/firefox2-min.png" alt="Firefox in adw-gtk3"></p>

<h3 id="fixing-glitches">fixing glitches</h3>

<p>Since adw-gtk3 isn’t designed with this in mind (round corners in the bottom), we still need to do a bit of manual tweaking to avoid display issues.</p>

<p><img src="/posts/260525/ecke-min.png" alt="corner glitch"></p>

<p>I also have a scaling glitch. On my laptop with 125% UI scaling, Firefox looks good, but on my desktop with 150%, I unfortunately often get a display glitch when moving the window. A dark line appears at the top of the window. This, as mentioned, is under GNOME 48 and only happens with Firefox/Librewolf on my setup (but maybe on yours too).</p>

<p>The solution is both complicated and simple at the same time:</p>

<p>Firefox gets its own GTK theme, which modifies adw-gtk3.</p>

<p>The theme add border-radius and disables the 1px border that causes the glitch.</p>

<p>The “theme” uses a <strong>gtk.css</strong> file, and for me, it&#39;s located in <strong>~/.local/share/themes/gtk-3.0/</strong>.</p>

<p>It assumes that <strong>adw-gtk3</strong> is also in <strong>~/.local/share/themes</strong>. Otherwise, the path needs to be adjusted.</p>

<pre><code>@import url(&#34;../../adw-gtk3/gtk-3.0/gtk.css&#34;);
decoration {
  border-radius: 15px;
  box-shadow:
    0 3px 8px 0 rgba(0, 0, 0, 0.3),
    0 0 0 0 @headerbar_bg_color;
}
</code></pre>

<p>Now we just need to start Firefox individually with this theme. That works with</p>

<p><code>env GTK_THEME=rounded firefox</code></p>

<p>For a permanent fix, we copy the relevant <strong>.desktop</strong> file from <strong>/usr/share/applications/</strong> to <strong>~/.local/share/applications/</strong> an adjust the <strong>Exec</strong> entries to</p>

<p><code>Exec=env GTK_THEME=rounded /usr/lib/firefox-esr/firefox-esr %u</code></p>

<p>For Librewolf, of course, the corresponding launcher needs to be adjusted.</p>

<p><img src="/posts/260525/firefox3-min.png" alt="Firefox fixed"></p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/unify-gtk3-and-gtk4-firefox</guid>
      <pubDate>Mon, 25 May 2026 10:57:35 +0200</pubDate>
    </item>
    <item>
      <title>1-year debian: fourth month</title>
      <link>https://inlovewithlinux.com/1-year-debian-fourth-month</link>
      <description>&lt;![CDATA[Now that I&#39;m four months into my one-year “Don&#39;t Distrohop” Debian challenge, I can say that it continues to prove (to me) that choosing “stable” was the right decision. Basically, though, this applies to every LTS version. Instead of constantly chasing after the latest version (as in a rolling release) and putting my energy into updates and “pimping” the UI, I’d rather learn how to use the “old” version properly.&#xA;&#xA;still stable with a bit of frankendebian&#xA;&#xA;Debian stable, combined with backports and Flatpak, is still enough for me.&#xA;&#xA;I’ve only broken the golden rule that stable and testing must never be mixed (FrankenDebian) for one package: framework-tool&#xA;&#xA;This tool is handy for managing my frame.work 12 from the terminal... the charging limit and stuff like that.&#xA;&#xA;But apt configuration does allow you to set the priority of the sources, so only this one package is installed from the testing repository.&#xA;&#xA;more and more love for GNOME&#xA;&#xA;Even after four months, it’s clear to me that there’s no better desktop environment than GNOME.&#xA;&#xA;Sometimes I feel like the system was built just for me. Sure, there are one or two things I’ve tweaked, but basically, the system is perfect.&#xA;&#xA;The only thing is, it would be nice if GTK3 and GTK4 were a bit more consistent… but it’s fine as it is.&#xA;&#xA;understanding systemd (a bit)&#xA;&#xA;I understand systemd more and more. Whether it&#39;s creating services or reading logs. I don&#39;t know where the hate comes from. I find it quite practical.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Now that I&#39;m four months into my one-year “Don&#39;t Distrohop” Debian challenge, I can say that it continues to prove (to me) that choosing “stable” was the right decision. Basically, though, this applies to every LTS version. Instead of constantly chasing after the latest version (as in a rolling release) and putting my energy into updates and “pimping” the UI, I’d rather learn how to use the “old” version properly.</p>

<h2 id="still-stable-with-a-bit-of-frankendebian">still stable with a bit of frankendebian</h2>

<p>Debian stable, combined with backports and Flatpak, is still enough for me.</p>

<p>I’ve only broken the golden rule that stable and testing must never be mixed (<a href="https://wiki.debian.org/DontBreakDebian">FrankenDebian</a>) for one package: <a href="https://packages.debian.org/forky/framework-tool">framework-tool</a></p>

<p>This tool is handy for managing my <a href="https://frame.work/de/en/laptop12">frame.work 12</a> from the terminal... the charging limit and stuff like that.</p>

<p>But <a href="https://wiki.debian.org/AptConfiguration">apt configuration</a> does allow you to set the priority of the sources, so only this one package is installed from the testing repository.</p>

<h2 id="more-and-more-love-for-gnome">more and more love for GNOME</h2>

<p>Even after four months, it’s clear to me that there’s no better desktop environment than <a href="https://www.gnome.org">GNOME</a>.</p>

<p>Sometimes I feel like the system was built just for me. Sure, there are one or two things I’ve tweaked, but basically, the system is perfect.</p>

<p>The only thing is, it would be nice if GTK3 and GTK4 were a bit more consistent… but it’s fine as it is.</p>

<h2 id="understanding-systemd-a-bit">understanding systemd (a bit)</h2>

<p>I understand systemd more and more. Whether it&#39;s creating services or reading logs. I don&#39;t know where the hate comes from. I find it quite practical.</p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/1-year-debian-fourth-month</guid>
      <pubDate>Tue, 12 May 2026 06:30:52 +0200</pubDate>
    </item>
    <item>
      <title>local paperless-ngx</title>
      <link>https://inlovewithlinux.com/local-paperless-ngx</link>
      <description>&lt;![CDATA[Update 26-06-14: added openSUSE tumbleweed&#xA;&#xA;A quick disclaimer: I&#39;m not entirely sure what I&#39;m doing here. This weekend was my first time working with podman. So... try this at your own risk!&#xA;&#xA;a little background first&#xA;On the mac, Devonthink has always been—and still is—the best program ever. Simply because all documents are managed locally on the computer. In other words, the app doesn’t require the cloud.&#xA;When I switched to Linux, it really bothered me that I couldn&#39;t find a suitable alternative. Paperwork, for example, also manages documents locally on the computer, but its design was too basic (in my opinion), and I just couldn&#39;t get into it.&#xA;&#xA;paperless-ngx&#xA;  Paperless-ngx is a community-supported open-source document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.&#xA;&#xA;This quote from the homepage describes paperless-ngx pretty well, though the “online” part bothered me a bit.&#xA;I don&#39;t want to store my files online on a server, and keeping them on a local NAS doesn&#39;t make sense either, because then I wouldn&#39;t have them with me when I&#39;m on the go.&#xA;&#xA;solution: local paperless-ngx&#xA;Podman comes to the rescue. Thanks to Podman, I can run Paperless locally on my computers using containers. It was surprisingly easy (I only wasted an entire Saturday experimenting with it).&#xA;&#xA;installation&#xA;&#xA;preparation&#xA;Well, you need podman ... &#xA;&#xA;Debian:&#xA;sudo apt install podman-compose&#xA;&#xA;openSUSE tumbleweed:&#xA;sudo zypper in python314-podman-compose&#xA;&#xA;container setup&#xA;First, you need to create a container using Podman. To do this, you’ll need three files in a folder (in my case, paperless-ngx). This folder is simply located in the user’s home directory.&#xA;&#xA;I mainly followed these instructions on linuxguides.de (thanks for the tip Christian!) and the output of the paperless-ngx installer.&#xA;&#xA;.env (hidden file):&#xA;&#xA;COMPOSEPROJECTNAME=paperless&#xA;&#xA;docker-compose.env:&#xA;&#xA;PAPERLESSTIMEZONE=Europe/Berlin&#xA;PAPERLESSOCRLANGUAGE=deu+eng&#xA;USERMAPUID=0&#xA;USERMAPGID=0&#xA;&#xA;docker-compose.yml:&#xA;&#xA;name: paperless&#xA;services:&#xA;  broker:&#xA;    image: docker.io/library/redis:8&#xA;    restart: unless-stopped&#xA;    volumes:&#xA;      redisdata:/data&#xA;  webserver:&#xA;    image: ghcr.io/paperless-ngx/paperless-ngx:latest&#xA;    restart: unless-stopped&#xA;    dependson:&#xA;      broker&#xA;    ports:&#xA;      &#34;8000:8000&#34;&#xA;    volumes:&#xA;      ~/Dokumente/Paperless/Data:/usr/src/paperless/data:Z&#xA;      ~/Dokumente/Paperless/Media:/usr/src/paperless/media:Z&#xA;      ~/Dokumente/Paperless/Export:/usr/src/paperless/export:Z&#xA;      ~/Dokumente/Paperless/Import:/usr/src/paperless/consume:Z&#xA;    envfile: docker-compose.env&#xA;    environment:&#xA;      PAPERLESSREDIS: redis://broker:6379&#xA;volumes:&#xA;  redisdata:&#xA;&#xA;I decided to use SQLite as the database because it will allow me to easily sync it between my computers later using Synthing.&#xA;&#xA;It is important to adjust the volumes. These are located in my “Documents” folder under “paperless.”&#xA;&#xA;Data: the database&#xA;&#xA;Media: all the files&#xA;&#xA;Export: Export Folder&#xA;&#xA;Import: Drop documents in this folder for adding them&#xA;&#xA;The “paperless” folder contains the entire contents of paperless-ngx, making it very easy to back up or sync.&#xA;&#xA;container compose&#xA;In that folder, just run &#xA;&#xA;Debian:&#xA;podman compose up&#xA;&#xA;openSUSE tumbleweed:&#xA;podman-compose up&#xA;&#xA;and everything will be installed.&#xA;&#xA;start and stop the container&#xA;&#xA;The paperless-ngx container doesn&#39;t need to run all the time—only when I need to access it. So I wrote a little Bash script to start or stop the container.&#xA;Just a quick heads-up: I&#39;m a novice and like to keep things colorful ;)&#xA;&#xA;paperless.sh:&#xA;&#xA;!/bin/bash&#xA;&#xA;set -euo pipefail&#xA;&#xA;Colors&#xA;readonly BLUE=&#39;\033[0;34m&#39;&#xA;readonly RED=&#39;\033[0;31m&#39;&#xA;readonly GREEN=&#39;\033[0;32m&#39;&#xA;readonly YELLOW=&#39;\033[1;33m&#39;&#xA;readonly NC=&#39;\033[0m&#39;&#xA;&#xA;BROKER=&#34;paperlessbroker1&#34;&#xA;WEBSERVER=&#34;paperlesswebserver1&#34;&#xA;&#xA;Check, if container are running&#xA;bothrunning() {&#xA;    [ &#34;$(/usr/bin/podman inspect -f &#39;{{.State.Running}}&#39; &#34;$BROKER&#34; 2  /dev/null)&#34; = &#34;true&#34; ] &amp;&amp;&#xA;    [ &#34;$(/usr/bin/podman inspect -f &#39;{{.State.Running}}&#39; &#34;$WEBSERVER&#34; 2  /dev/null)&#34; = &#34;true&#34; ]&#xA;}&#xA;&#xA;Start Containers&#xA;startcontainers() {&#xA;    echo -e &#34;${YELLOW}🟡 Starting $BROKER${NC}&#34;&#xA;    /usr/bin/podman start &#34;$BROKER&#34;   /dev/null 2  &amp;1&#xA;    sleep 2&#xA;    echo -e &#34;${YELLOW}🟡 Starting $WEBSERVER${NC}&#34;&#xA;    /usr/bin/podman start &#34;$WEBSERVER&#34;   /dev/null 2  &amp;1&#xA;    echo -e &#34;${GREEN}🟢 Both Containers running.${NC}&#34;&#xA;}&#xA;&#xA;Stop Containers&#xA;stopcontainers() {&#xA;    echo -ne &#34;${YELLOW}⚠️  Stop Container? ${NC}&#34;&#xA;    read -p &#34;(j/n) [n]: &#34; answer&#xA;    echo&#xA;    if [ &#34;$answer&#34; = &#34;j&#34; ]; then&#xA;        echo -e &#34;${YELLOW}🟡 Stopping $WEBSERVER${NC}&#34;&#xA;        /usr/bin/podman stop &#34;$WEBSERVER&#34;   /dev/null 2  &amp;1&#xA;        sleep 2&#xA;        echo -e &#34;${YELLOW}🟡 Stopping $BROKER${NC}&#34;&#xA;        /usr/bin/podman stop &#34;$BROKER&#34;   /dev/null 2  &amp;1&#xA;        echo&#xA;        echo -e &#34;${GREEN}🟢 Both Containers are stopped.${NC}&#34;&#xA;    else&#xA;        echo -e &#34;${RED}🔴 Cancel: Containers still running.${NC}&#34;&#xA;    fi&#xA;}&#xA;&#xA;Main&#xA;echo&#xA;echo &#34;### Paperless-ngx - Podman ###&#34;&#xA;echo&#xA;if bothrunning; then&#xA;    stopcontainers&#xA;else&#xA;    startcontainers&#xA;fi&#xA;&#xA;Access Paperless&#xA;&#xA;Just go to http://localhost:8000 in your browser, and everything works perfectly.&#xA;&#xA;Sync and backup&#xA;&#xA;As mentioned earlier, the “Paperless” folder in “Documents” contains everything and can be synced between computers using Syncthing, for example.&#xA;This folder is also very easy to back up.&#xA;&#xA;Manage podman&#xA;&#xA;Of course, you can also do this via the CLI, but I like the simplicity of cockpit, which can also be used on Debian. Cockpit has a handy module for managing Podman.&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><strong>Update 26-06-14:</strong> added openSUSE tumbleweed</p>

<p><strong>A quick disclaimer:</strong> I&#39;m not entirely sure what I&#39;m doing here. This weekend was my first time working with <a href="https://podman.io/">podman</a>. So... try this at your own risk!</p>

<h2 id="a-little-background-first">a little background first</h2>

<p>On the mac, <a href="https://www.devontechnologies.com/">Devonthink</a> has always been—and still is—the best program ever. Simply because all documents are managed locally on the computer. In other words, the app doesn’t require the cloud.
When I switched to Linux, it really bothered me that I couldn&#39;t find a suitable alternative. <a href="https://www.openpaper.work/">Paperwork</a>, for example, also manages documents locally on the computer, but its design was too basic (in my opinion), and I just couldn&#39;t get into it.</p>

<h2 id="paperless-ngx">paperless-ngx</h2>

<blockquote><p>Paperless-ngx is a community-supported open-source document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.</p></blockquote>

<p>This quote from the homepage describes <a href="https://docs.paperless-ngx.com/">paperless-ngx</a> pretty well, though the “online” part bothered me a bit.
I don&#39;t want to store my files online on a server, and keeping them on a local NAS doesn&#39;t make sense either, because then I wouldn&#39;t have them with me when I&#39;m on the go.</p>

<h2 id="solution-local-paperless-ngx">solution: local paperless-ngx</h2>

<p><a href="https://podman.io/">Podman</a> comes to the rescue. Thanks to Podman, I can run Paperless locally on my computers using containers. It was surprisingly easy (I only wasted an entire Saturday experimenting with it).</p>

<h2 id="installation">installation</h2>

<h3 id="preparation">preparation</h3>

<p>Well, you need podman ...</p>

<p><strong>Debian:</strong>
<code>sudo apt install podman-compose</code></p>

<p><strong>openSUSE tumbleweed:</strong>
<code>sudo zypper in python314-podman-compose</code></p>

<h2 id="container-setup">container setup</h2>

<p>First, you need to create a container using Podman. To do this, you’ll need three files in a folder (in my case, paperless-ngx). This folder is simply located in the user’s home directory.</p>

<p>I mainly followed these instructions on <a href="https://forum.linuxguides.de/index.php?thread/11519-paperless-ngx-installation-mit-podman/">linuxguides.de</a> (thanks for the tip <a href="https://chaos.social/@stdevel">Christian</a>!) and the output of the <a href="https://docs.paperless-ngx.com/setup/#docker_script">paperless-ngx installer</a>.</p>

<p><strong>.env</strong> (hidden file):</p>

<p><code>COMPOSE_PROJECT_NAME=paperless</code></p>

<p><strong>docker-compose.env</strong>:</p>

<pre><code>PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
USERMAP_UID=0
USERMAP_GID=0
</code></pre>

<p><strong>docker-compose.yml</strong>:</p>

<pre><code>name: paperless
services:
  broker:
    image: docker.io/library/redis:8
    restart: unless-stopped
    volumes:
      - redisdata:/data
  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - broker
    ports:
      - &#34;8000:8000&#34;
    volumes:
      - ~/Dokumente/Paperless/Data:/usr/src/paperless/data:Z
      - ~/Dokumente/Paperless/Media:/usr/src/paperless/media:Z
      - ~/Dokumente/Paperless/Export:/usr/src/paperless/export:Z
      - ~/Dokumente/Paperless/Import:/usr/src/paperless/consume:Z
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
volumes:
  redisdata:
</code></pre>

<p>I decided to use SQLite as the database because it will allow me to easily sync it between my computers later using <a href="https://syncthing.net/">Synthing</a>.</p>

<p>It is important to adjust the volumes. These are located in my “Documents” folder under “paperless.”</p>

<p><strong>Data:</strong> the database</p>

<p><strong>Media:</strong> all the files</p>

<p><strong>Export:</strong> Export Folder</p>

<p><strong>Import:</strong> Drop documents in this folder for adding them</p>

<p>The “paperless” folder contains the entire contents of paperless-ngx, making it very easy to back up or sync.</p>

<h2 id="container-compose">container compose</h2>

<p>In that folder, just run</p>

<p><strong>Debian:</strong>
<code>podman compose up</code></p>

<p><strong>openSUSE tumbleweed:</strong>
<code>podman-compose up</code></p>

<p>and everything will be installed.</p>

<h2 id="start-and-stop-the-container">start and stop the container</h2>

<p>The paperless-ngx container doesn&#39;t need to run all the time—only when I need to access it. So I wrote a little Bash script to start or stop the container.
Just a quick heads-up: I&#39;m a novice and like to keep things colorful ;)</p>

<p>paperless.sh:</p>

<pre><code>#!/bin/bash

set -euo pipefail

# Colors
readonly BLUE=&#39;\033[0;34m&#39;
readonly RED=&#39;\033[0;31m&#39;
readonly GREEN=&#39;\033[0;32m&#39;
readonly YELLOW=&#39;\033[1;33m&#39;
readonly NC=&#39;\033[0m&#39;

BROKER=&#34;paperless_broker_1&#34;
WEBSERVER=&#34;paperless_webserver_1&#34;

# Check, if container are running
both_running() {
    [ &#34;$(/usr/bin/podman inspect -f &#39;{{.State.Running}}&#39; &#34;$BROKER&#34; 2&gt;/dev/null)&#34; = &#34;true&#34; ] &amp;&amp;
    [ &#34;$(/usr/bin/podman inspect -f &#39;{{.State.Running}}&#39; &#34;$WEBSERVER&#34; 2&gt;/dev/null)&#34; = &#34;true&#34; ]
}

# Start Containers
start_containers() {
    echo -e &#34;${YELLOW}🟡 Starting $BROKER${NC}&#34;
    /usr/bin/podman start &#34;$BROKER&#34; &gt;/dev/null 2&gt;&amp;1
    sleep 2
    echo -e &#34;${YELLOW}🟡 Starting $WEBSERVER${NC}&#34;
    /usr/bin/podman start &#34;$WEBSERVER&#34; &gt;/dev/null 2&gt;&amp;1
    echo -e &#34;${GREEN}🟢 Both Containers running.${NC}&#34;
}

# Stop Containers
stop_containers() {
    echo -ne &#34;${YELLOW}⚠️  Stop Container? ${NC}&#34;
    read -p &#34;(j/n) [n]: &#34; answer
    echo
    if [ &#34;$answer&#34; = &#34;j&#34; ]; then
        echo -e &#34;${YELLOW}🟡 Stopping $WEBSERVER${NC}&#34;
        /usr/bin/podman stop &#34;$WEBSERVER&#34; &gt;/dev/null 2&gt;&amp;1
        sleep 2
        echo -e &#34;${YELLOW}🟡 Stopping $BROKER${NC}&#34;
        /usr/bin/podman stop &#34;$BROKER&#34; &gt;/dev/null 2&gt;&amp;1
        echo
        echo -e &#34;${GREEN}🟢 Both Containers are stopped.${NC}&#34;
    else
        echo -e &#34;${RED}🔴 Cancel: Containers still running.${NC}&#34;
    fi
}

# Main
echo
echo &#34;### Paperless-ngx - Podman ###&#34;
echo
if both_running; then
    stop_containers
else
    start_containers
fi
</code></pre>

<h2 id="access-paperless">Access Paperless</h2>

<p>Just go to <strong><a href="http://localhost:8000">http://localhost:8000</a></strong> in your browser, and everything works perfectly.</p>

<p><img src="/posts/260510/paperless.jpg" alt=""></p>

<h2 id="sync-and-backup">Sync and backup</h2>

<p>As mentioned earlier, the “Paperless” folder in “Documents” contains everything and can be synced between computers using Syncthing, for example.
This folder is also very easy to back up.</p>

<h2 id="manage-podman">Manage podman</h2>

<p>Of course, you can also do this via the CLI, but I like the simplicity of <a href="https://cockpit-project.org/">cockpit</a>, which can also be used on Debian. Cockpit has a handy module for managing Podman.</p>

<p><img src="/posts/260510/cockpit.jpg" alt=""></p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/local-paperless-ngx</guid>
      <pubDate>Sun, 10 May 2026 11:40:38 +0200</pubDate>
    </item>
    <item>
      <title>local music (in GNOME)</title>
      <link>https://inlovewithlinux.com/local-music-in-gnome</link>
      <description>&lt;![CDATA[The largest part of my life, I’ve bought and listened to music locally—first on vinyl, then on cassette, later on CD, and as purchases on iTunes. My music collection is accordingly large, and a small fortune has been invested in building it. Accordingly, I can’t just switch to streaming, and I also want to own my music.&#xA;So, important albums are on vinyl, but I also like to buy them as MP3s, for example from Bandcamp.&#xA;&#xA;Hardware&#xA;At 14, owning a stereo system was the biggest thing - even at almost 50, it still is. I run two 1980s Magnat speakers through a Rotel A12MKII amplifier.&#xA;&#xA;The amplifier supports Bluetooth, but somehow it’s just easier to run 15 meters of audio cable across the room.&#xA;&#xA;Software&#xA;You’ve tried music players on Linux, and so much of it is either very ugly or too bloated.&#xA;&#xA;But there’s one highly praised option: Amberol.&#xA;&#xA;Amberol is simple and looks good. You just open a folder with files, and they play—no database or other unnecessary bells and whistles.&#xA;&#xA;Now there’s still the issue that changing the audio output in GNOME is cumbersome and has to be done through Settings. But the Audio Switch Shortcuts extension solves this problem—with keyboard shortcuts, you can easily switch between devices.&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>The largest part of my life, I’ve bought and listened to music locally—first on vinyl, then on cassette, later on CD, and as purchases on iTunes. My music collection is accordingly large, and a small fortune has been invested in building it. Accordingly, I can’t just switch to streaming, and I also want to own my music.
So, important albums are on vinyl, but I also like to buy them as MP3s, for example from Bandcamp.</p>

<h2 id="hardware">Hardware</h2>

<p>At 14, owning a stereo system was the biggest thing – even at almost 50, it still is. I run two 1980s Magnat speakers through a <a href="https://rotel.com/de/product/a12mkii">Rotel A12MKII</a> amplifier.</p>

<p><img src="/posts/260501/rotel.jpg" alt=""></p>

<p>The amplifier supports Bluetooth, but somehow it’s just easier to run 15 meters of audio cable across the room.</p>

<h2 id="software">Software</h2>

<p>You’ve tried music players on Linux, and so much of it is either very ugly or too bloated.</p>

<p>But there’s one highly praised option: <a href="https://apps.gnome.org/Amberol/">Amberol</a>.</p>

<p><img src="/posts/260501/amberol.png" alt=""></p>

<p>Amberol is simple and looks good. You just open a folder with files, and they play—no database or other unnecessary bells and whistles.</p>

<p>Now there’s still the issue that changing the audio output in GNOME is cumbersome and has to be done through Settings. But the <a href="https://extensions.gnome.org/extension/8150/audio-switch-shortcuts/">Audio Switch Shortcuts</a> extension solves this problem—with keyboard shortcuts, you can easily switch between devices.</p>

<p><img src="/posts/260501/extension.png" alt=""></p>
]]></content:encoded>
      <guid>https://inlovewithlinux.com/local-music-in-gnome</guid>
      <pubDate>Fri, 01 May 2026 16:48:13 +0200</pubDate>
    </item>
  </channel>
</rss>