<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blogs on Giacomo Di Clerico</title><link>https://giacomodiclerico.com/it/blog/</link><description>Recent content in Blogs on Giacomo Di Clerico</description><generator>Hugo</generator><language>it</language><lastBuildDate>Tue, 28 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://giacomodiclerico.com/it/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Da Gentoo a NixOS — Il mio percorso desktop</title><link>https://giacomodiclerico.com/it/blog/from-gentoo-to-nixos/</link><pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate><guid>https://giacomodiclerico.com/it/blog/from-gentoo-to-nixos/</guid><description>&lt;p&gt;Faccio distro-hopping con criterio da un po&amp;rsquo;. Non per divertimento — ogni cambio mi ha insegnato qualcosa di fondamentalmente diverso su Linux. Questa è la storia di come sono passato da Arch a Gentoo a NixOS sulla mia workstation principale.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="arch--più-di-un-anno-come-daily-driver"&gt;Arch — più di un anno come daily driver&lt;/h2&gt;
&lt;p&gt;Uso Linux da molto tempo e ho accumulato una notevole esperienza su diverse distribuzioni prima di passare ad Arch. Arch è diventata la mia distribuzione principale per più di un anno. Rolling release, installazione minimale e la mitica wiki l&amp;rsquo;hanno resa un daily driver solido. Mi ha insegnato a costruire un sistema da zero e a mantenerlo nel tempo. Ma dopo oltre un anno di utilizzo quotidiano, volevo un livello di controllo ancora più profondo — non solo su cosa installavo, ma su &lt;em&gt;come&lt;/em&gt; veniva compilato e configurato.&lt;/p&gt;</description></item><item><title>Migrazione Server — Da bootc a NixOS</title><link>https://giacomodiclerico.com/it/blog/server-bootc-to-nixos/</link><pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate><guid>https://giacomodiclerico.com/it/blog/server-bootc-to-nixos/</guid><description>&lt;p&gt;Di recente ho migrato il mio server homelab da un setup &lt;strong&gt;bootc&lt;/strong&gt; (bootable container) su Fedora a &lt;strong&gt;NixOS&lt;/strong&gt;. Il motivo non è stato filosofico — è stata una rottura reale causata dalla transizione iptables/nft e dalla politica kernel di Fedora.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="il-setup-con-bootc"&gt;Il setup con bootc&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;bootc&lt;/strong&gt; è un modello in cui l&amp;rsquo;intero OS è definito come un&amp;rsquo;immagine OCI container. Scrivi un &lt;code&gt;Containerfile&lt;/code&gt;, costruisci l&amp;rsquo;immagine, la pusha su un registry, e il server la scarica e ci fa boot. È l&amp;rsquo;immutable infrastructure portata alle sue conseguenze logiche — il tuo OS ha una pipeline CI/CD.&lt;/p&gt;</description></item><item><title>Git 101 — Corso pubblico con il POuL</title><link>https://giacomodiclerico.com/it/blog/git101/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://giacomodiclerico.com/it/blog/git101/</guid><description>&lt;p&gt;A marzo ho tenuto &lt;strong&gt;Git 101&lt;/strong&gt;, un corso introduttivo su Git organizzato con il &lt;a href="https://poul.org"&gt;POuL — Politecnico Open unix Lab&lt;/a&gt;, l&amp;rsquo;associazione studentesca del Politecnico di Milano dedicata alla cultura open source e Linux.&lt;/p&gt;
&lt;p&gt;Il corso era aperto a tutti: nessun requisito, solo voglia di capire finalmente cosa succede quando si fa &lt;code&gt;git commit&lt;/code&gt;. Ho contribuito alle slide e lavorato al materiale su GitLab e tenuto la lezione in presenza — trasmessa anche in diretta YouTube, dove hanno seguito oltre &lt;strong&gt;300 persone&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Homelab — Stack &amp; Infrastruttura</title><link>https://giacomodiclerico.com/it/blog/homelab/</link><pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate><guid>https://giacomodiclerico.com/it/blog/homelab/</guid><description>&lt;p&gt;Il mio homelab è partito come un piccolo server Linux di test e si è evoluto in una &lt;strong&gt;infrastruttura virtualizzata e self-hosted&lt;/strong&gt;, costruita per imparare, sperimentare e garantire affidabilità.&lt;/p&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Proxmox VE&lt;/strong&gt; — strato di virtualizzazione (KVM + LXC)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;k3s&lt;/strong&gt; — cluster Kubernetes leggero&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flux CD&lt;/strong&gt; — continuous delivery GitOps&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SOPS + age&lt;/strong&gt; — segreti cifrati nel repository&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tailscale&lt;/strong&gt; — accesso remoto sicuro e subnet routing&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="servizi"&gt;Servizi&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Immich&lt;/strong&gt; — gestione di foto e video (con CloudNativePG)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nextcloud&lt;/strong&gt; — cloud personale, sync file, note, calendario&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pi-hole&lt;/strong&gt; — filtro DNS a livello di rete&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="networking"&gt;Networking&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ingress-nginx&lt;/strong&gt; + &lt;strong&gt;MetalLB&lt;/strong&gt; (modalità L2) per il traffico in-cluster&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ExternalDNS&lt;/strong&gt; + Cloudflare per la gestione automatica dei record DNS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cert-manager&lt;/strong&gt; — certificati wildcard DNS-01 via Let&amp;rsquo;s Encrypt&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Sito personale &amp; Workflow</title><link>https://giacomodiclerico.com/it/blog/website/</link><pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate><guid>https://giacomodiclerico.com/it/blog/website/</guid><description>&lt;p&gt;Il mio sito personale è costruito con &lt;strong&gt;Hugo&lt;/strong&gt;, il tema &lt;strong&gt;hugo-theme-terminal&lt;/strong&gt;, e un workflow di deployment automatizzato pensato per velocità, semplicità e manutenibilità a lungo termine.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="stack-tecnologico"&gt;Stack tecnologico&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hugo (static site generator)&lt;/li&gt;
&lt;li&gt;Tema hugo-theme-terminal&lt;/li&gt;
&lt;li&gt;Contenuti in Markdown&lt;/li&gt;
&lt;li&gt;Setup multilingua EN/IT&lt;/li&gt;
&lt;li&gt;Repository GitHub per il version control&lt;/li&gt;
&lt;li&gt;GitHub Pages per le build automatizzate&lt;/li&gt;
&lt;li&gt;Cloudflare per CDN, HTTPS e caching&lt;/li&gt;
&lt;li&gt;Dominio custom con DNSSEC abilitato&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="workflow-di-deployment"&gt;Workflow di deployment&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Scrivi i contenuti in Markdown&lt;/li&gt;
&lt;li&gt;Commit su GitHub&lt;/li&gt;
&lt;li&gt;GitHub Pages compila il sito con Hugo&lt;/li&gt;
&lt;li&gt;Cloudflare distribuisce i file globalmente&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Questo garantisce: build automatiche, deployment atomici, caching CDN globale, HTTPS di default, zero downtime.&lt;/p&gt;</description></item></channel></rss>