<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
	<channel>
		<title>Connectemoi.eu</title>
		<link>https://connectemoi.eu/</link>
		<description>Recent content on Connectemoi.eu</description>
		<generator>Hugo -- 0.161.1</generator>
		<language>en</language>
		<lastBuildDate>Sat, 25 Jul 2026 13:28:09 +0200</lastBuildDate>
		<atom:link href="https://connectemoi.eu/index.xml" rel="self" type="application/rss+xml" />
		
		
		<item>
			<title>How to verify your website for broken links</title>
			<link>https://connectemoi.eu/posts/linkchecker/</link>
			<pubDate>Sat, 25 Jul 2026 13:28:09 +0200</pubDate><guid>https://connectemoi.eu/posts/linkchecker/</guid>
			<description><![CDATA[How to verify your website for broken links and errors using linkchecker]]></description><content type="text/html" mode="escaped"><![CDATA[<p>A website can be very crappy after years.
I&rsquo;ve previously changed the theme of my website because it was unmaintained for years and had some errors with the latest version of Hugo.</p>
<p>And my website had some dead links due to some typo in my code.
I&rsquo;ve used this tool to find those dead links : <a href="https://linkchecker.github.io/linkchecker/">linkchecker</a>.</p>
<p>To simply check your website, install linkchecker and run :</p>
<pre tabindex="0"><code>linkchecker &lt;url&gt;
</code></pre>]]></content>
		</item>
		
		<item>
			<title>Systemd Timer</title>
			<link>https://connectemoi.eu/posts/systemd-timer/</link>
			<pubDate>Tue, 07 Jul 2026 10:57:35 +0200</pubDate><guid>https://connectemoi.eu/posts/systemd-timer/</guid>
			<description><![CDATA[How to create a timer using systemd]]></description><content type="text/html" mode="escaped"><![CDATA[<p>Systemd execute a service at a planned time described in a timer.
In order to run a script at 2 am we need to create a service and a timer.</p>
<h1 id="create-a-service-file">Create a service file<a href="#create-a-service-file" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h1>
<pre tabindex="0"><code>#/etc/systemd/system/myscript.service
[Unit]
Description=Run a script daily at 2am
After=network.target

[Service]
Type=oneshot
ExecStart=/bin/bash /myscript.sh
WorkingDirectory=/
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
</code></pre><h1 id="create-a-timer">Create a timer<a href="#create-a-timer" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h1>
<pre tabindex="0"><code>#/etc/systemd/system/myscript.timer
[Unit]
Description=Run the service every day at 2am

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
RandomizedDelaySec=60

[Install]
WantedBy=timers.target
</code></pre><h1 id="reload-the-systemd-daemon-and-enable-the-timer">Reload the systemd daemon and enable the timer<a href="#reload-the-systemd-daemon-and-enable-the-timer" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h1>
<pre tabindex="0"><code>sudo systemctl daemon-reload
sudo systemctl enable --now myscript.timer
</code></pre><h1 id="verify">Verify<a href="#verify" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h1>
<pre tabindex="0"><code>sudo systemctl status myscript.timer
systemctl list-timers myscript.timer
</code></pre><p>We can run the timer right now and verify the logs:</p>
<pre tabindex="0"><code>sudo systemctl start myscript.service
sudo journalctl -u myscript.service | tail -20
</code></pre><h1 id="disable-a-timer-">Disable a timer :<a href="#disable-a-timer-" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h1>
<pre tabindex="0"><code>sudo systemctl disable --now myscript.timer
</code></pre>]]></content>
		</item>
		
		<item>
			<title>How to upgrade Nixos</title>
			<link>https://connectemoi.eu/posts/nixos-upgrade/</link>
			<pubDate>Sat, 13 Jun 2026 12:13:10 +0200</pubDate><guid>https://connectemoi.eu/posts/nixos-upgrade/</guid>
			<description><![CDATA[How to upgrade Nixos]]></description><content type="text/html" mode="escaped"><![CDATA[<p>First list the channel you are currently in :</p>
<pre tabindex="0"><code>root@Frigg:/home/mathieu]# nix-channel --list
nixos https://channels.nixos.org/nixos-25.11
</code></pre><p>Add the channel that you want to join.
You can find channel list at this adress : <a href="https://status.nixos.org/">https://status.nixos.org/</a></p>
<pre tabindex="0"><code>[root@Frigg:/home/mathieu]# nix-channel --add https://channels.nixos.org/nixos-26.05 nixos

[root@Frigg:/home/mathieu]# nix-channel --list
nixos https://channels.nixos.org/nixos-26.05
</code></pre><p>Update the local channel.</p>
<pre tabindex="0"><code>[root@Frigg:/home/mathieu]# nix-channel --update
unpacking 1 channels...
</code></pre><p>And update the system.
There will be errors as there are differences between branches, if so correct the errors and repeat the rebuild step :</p>
<pre tabindex="0"><code>[root@Frigg:/home/mathieu]# nixos-rebuild switch
</code></pre>]]></content>
		</item>
		
		<item>
			<title>Nixos How to change Kernel branch</title>
			<link>https://connectemoi.eu/posts/change_kernel_branch/</link>
			<pubDate>Thu, 14 May 2026 19:31:12 +0200</pubDate><guid>https://connectemoi.eu/posts/change_kernel_branch/</guid>
			<description><![CDATA[How to change the linux kernel branch on Nixos]]></description><content type="text/html" mode="escaped"><![CDATA[<p>First update the nix channel.</p>
<pre tabindex="0"><code>nix-channel --update
</code></pre><p>Then edit your configuration.nix and add the following line to select your kernel branch (the kernel branch has to be in the <a href="https://search.nixos.org/packages?channel=25.11&amp;query=linux&#43;kernel">repository</a>)</p>
<pre tabindex="0"><code># Kernel
  boot.kernelPackages = pkgs.linuxPackages_7_0;  
</code></pre><p>I&rsquo;ve selected the 7.0 branch which is the stable branch for now according to <a href="http://kernel.org">kernel.org</a>.
And in the end update your nixos and reboot :</p>
<pre tabindex="0"><code>nixos-rebuild boot
sudo reboot
</code></pre>]]></content>
		</item>
		
		<item>
			<title>Nixos Nftables and Podman</title>
			<link>https://connectemoi.eu/posts/nixos-nftables-podman/</link>
			<pubDate>Tue, 17 Mar 2026 19:22:47 +0100</pubDate><guid>https://connectemoi.eu/posts/nixos-nftables-podman/</guid>
			<description><![CDATA[Nixos Nftables Podman]]></description><content type="text/html" mode="escaped"><![CDATA[<p>I&rsquo;ve switched to nftables only on Nixos by adding the following command to my configuration.nix :</p>
<pre tabindex="0"><code>networking.nftables.enable = true;
</code></pre><p>Everything went well but some of my podman containers are not working.
I got the following error on some of them :</p>
<pre tabindex="0"><code>Uncaught PDOException: PDO::__construct(): php_network_getaddresses: getaddrinfo for mariadb failed: Temporary failure in name resolution
</code></pre><p>A simple check shows that the dns is not working well :</p>
<pre tabindex="0"><code># podman exec -it wishthis getent hosts mariadb
[no response]
#
</code></pre><p>It seems that the containers that do not work are on the second network called reverse.</p>
<pre tabindex="0"><code># podman network list
NETWORK ID    NAME         DRIVER
000000000000  podman       bridge
89192dd0cbc4  reverse      bridge
</code></pre><p>The solution i&rsquo;ve found is to add the following rule to configuration.nix</p>
<pre tabindex="0"><code>networking.firewall.extraInputRules = &#34;iifname \&#34;podman2\&#34; udp dport 53 accept&#34;;
</code></pre><p>Then after a &ldquo;nixos-rebuild switch&rdquo; the firewall rules are updated and the podman2 network is added with port 53 (DNS) allowed.</p>
<pre tabindex="0"><code># nft list ruleset
# Warning: table ip filter is managed by iptables-nft, do not touch!
table ip filter {
        chain INPUT {
                type filter hook input priority filter; policy accept;
                counter packets 383595 bytes 45668336 jump nixos-firewall-local-only
                 counter packets 18306161 bytes 1938148280 jump NETAVARK_INPUT
        }

        chain NETAVARK_ISOLATION_2 {
        }

        chain NETAVARK_ISOLATION_3 {
                oifname &#34;podman2&#34; counter packets 0 bytes 0 drop
                counter packets 0 bytes 0 jump NETAVARK_ISOLATION_2
        }

        chain NETAVARK_INPUT {
                ip saddr 10.89.1.0/24 udp dport 53 counter packets 57797 bytes 4295138 accept
                ip saddr 10.89.1.0/24 tcp dport 53 counter packets 0 bytes 0 accept
        }
[...]
                iifname &#34;podman2&#34; udp dport 53 accept
[...]
</code></pre><p>To verify that everything works we can check on the container Bob that the dns is now working :</p>
<pre tabindex="0"><code># podman exec -it Bob getent hosts mariadb
10.89.1.46        mariadb.dns.podman  mariadb.dns.podman mariadb
</code></pre>]]></content>
		</item>
		
		<item>
			<title>Nixos configure a printer</title>
			<link>https://connectemoi.eu/posts/nixos_printer_config/</link>
			<pubDate>Sat, 07 Feb 2026 11:41:55 +0100</pubDate><guid>https://connectemoi.eu/posts/nixos_printer_config/</guid>
			<description><![CDATA[&lt;no value&gt;]]></description><content type="text/html" mode="escaped"><![CDATA[<p>Edit your /etc/nixos/configuration.nix and add the following lines :</p>
<pre tabindex="0"><code># Enable CUPS to print documents.
  services.printing.enable = true;

 # Add drivers if necessary
  services.printing.drivers = [ pkgs.brlaser ];

 # Enable Firewall rules and network protocol for printers
  services.avahi = {
  enable = true;
  nssmdns4 = true;
  openFirewall = true;
};
</code></pre><p>After using the command <code>nixos-rebuild switch</code> you can now configure your printer inside cups at <a href="http://localhost:631/">http://localhost:631/</a></p>
]]></content>
		</item>
		
		<item>
			<title>How to clean a gibberish GNU/Linux terminal</title>
			<link>https://connectemoi.eu/posts/cleangibberishterm/</link>
			<pubDate>Mon, 27 Oct 2025 10:58:16 +0100</pubDate><guid>https://connectemoi.eu/posts/cleangibberishterm/</guid>
			<description><![CDATA[How to clean a gibberish GNU/Linux terminal]]></description><content type="text/html" mode="escaped"><![CDATA[<pre tabindex="0"><code>tput sgr0
</code></pre><p>tput means &ldquo;terminal put&rdquo;, this will send commands to the terminal.</p>
<p>sgr0 means &ldquo;Set Graphics Renditions to 0&rdquo;, it will reset the terminal attributes.</p>
]]></content>
		</item>
		
		<item>
			<title>How to check a usb stick</title>
			<link>https://connectemoi.eu/posts/check_usb_stick/</link>
			<pubDate>Sun, 19 Oct 2025 12:44:01 +0200</pubDate><guid>https://connectemoi.eu/posts/check_usb_stick/</guid>
			<description><![CDATA[How to check a usb stick on a GNU/Linux operating system]]></description><content type="text/html" mode="escaped"><![CDATA[<p>In order to check a usb stick we&rsquo;ll use the software badblocks.
Badblocks will write and read data on every block of the usb device and compare them.</p>
<p>There are three modes for badblocks :</p>
<ul>
<li>Write and read all the blocks</li>
</ul>
<pre tabindex="0"><code>badblocks -w /dev/&lt;device&gt;
</code></pre><ul>
<li>Read-Write without erasing any data</li>
</ul>
<pre tabindex="0"><code>badblocks -n /dev/&lt;device&gt;
</code></pre><ul>
<li>Only read data (default mode)</li>
</ul>
<pre tabindex="0"><code>badblocks /dev/&lt;device&gt;
</code></pre><p>You can add the following options :</p>
<p>-v for verbose output</p>
<p>-o &lt;output file&gt; write the badblocks list to a file</p>
<p>-p &lt;number&gt; pass number</p>
<p>-s show the progress of the analysis</p>
<p>-b &lt;size of the blocks&gt;, it must be in octet, the default value is 1024.</p>
<p>In any case, it is best to make a backup before using badblocks.
The tests are very time intensive, it can take hours depending on the drive speed.</p>
<p>I have made some tests on a 16Gb usb stick from 2008 and it has taken more than 3 hours.</p>
]]></content>
		</item>
		
		<item>
			<title>Update nixos</title>
			<link>https://connectemoi.eu/posts/upgrade_nixos/</link>
			<pubDate>Tue, 14 Oct 2025 19:40:11 +0200</pubDate><guid>https://connectemoi.eu/posts/upgrade_nixos/</guid>
			<description><![CDATA[How to update nixos and upgrade to a major new version]]></description><content type="text/html" mode="escaped"><![CDATA[<h3 id="to-update-nixos-you-need-to-do-two-things-">To update Nixos you need to do two things :<a href="#to-update-nixos-you-need-to-do-two-things-" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h3>
<ul>
<li>Update the channel</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo nix-channel --update
</span></span></code></pre></div><ul>
<li>Apply updates</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo nixos-rebuild switch
</span></span></code></pre></div><p>You can do step by step, or just do both in one command line :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">nixos-rebuild switch --upgrade
</span></span></code></pre></div><p>You may reboot to apply major updates (ex : kernel updates).</p>
<h3 id="to-upgrade-to-a-new-major-os-version-you-need-to-add-a-channel-and-upgrade-">To upgrade to a new major OS version, you need to add a channel and upgrade :<a href="#to-upgrade-to-a-new-major-os-version-you-need-to-add-a-channel-and-upgrade-" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">nix-channel --add https://channels.nixos.org/nixos-&lt;version to upgrade to ex: 25.05&gt; nixos
</span></span><span class="line"><span class="cl">sudo nixos-rebuild switch --upgrade
</span></span></code></pre></div><p>You can also do automatic upgrades by adding the following to your configuration.nix :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="o">{</span>
</span></span><span class="line"><span class="cl">  system.autoUpgrade.enable <span class="o">=</span> true<span class="p">;</span>
</span></span><span class="line"><span class="cl">  <span class="c1"># Warning &#34;allowReboot = true&#34; allow the upgrade to reboot the machine in order to upgrade the kernel, </span>
</span></span><span class="line"><span class="cl">  <span class="c1"># if set to false it will stay in the current channel and only upgrade to last version in the current channel.</span>
</span></span><span class="line"><span class="cl">  system.autoUpgrade.allowReboot <span class="o">=</span> true<span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span></code></pre></div>]]></content>
		</item>
		
		<item>
			<title>Nixos Cleanup</title>
			<link>https://connectemoi.eu/posts/nixos-cleanup/</link>
			<pubDate>Tue, 30 Sep 2025 12:16:35 +0200</pubDate><guid>https://connectemoi.eu/posts/nixos-cleanup/</guid>
			<description><![CDATA[How to use the garbage collector to clean Nixos]]></description><content type="text/html" mode="escaped"><![CDATA[<p>Cleaning nixos is very simple, use this one command :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo nix-collect-garbage -d  
</span></span></code></pre></div>]]></content>
		</item>
		
	</channel>
</rss>
