Per configurare le stampanti su NixOS, abbiamo preparato una configurazione che installa il sistema di stampa CUPS e abilita il rilevamento automatico delle stampanti di rete tramite Avahi.
CUPS
Come prima cosa dobbiamo installare e attivare CUPS (Common UNIX Printing System), il sistema di stampa standard per Linux e macOS. CUPS gestisce:
- le code di stampa e job scheduling
- la comunicazione con le stampanti (USB, rete, parallela)
- i driver e filtri per convertire documenti in formati comprensibili dalle stampanti (come PostScript o PCL)
- le interfacce web di amministrazione (porta 631)
Le varie opzioni sono documentate nella documentazione ufficiale . Nel codice sotto abbiamo evidenziato le opzioni standard che permettono di abilitare il sistema, attivare l’interfaccia web e avviare il servizio solo quando necessario.
Avahi
Il secondo servizio presente nel codice è Avahi, un’implementazione di Zeroconf/mDNS (multicast DNS), lo stesso protocollo che Apple chiama “Bonjour”. Questo protocollo permette di:
- rilevare automaticamente i dispositivi in rete locale senza configurazione manuale
- gestire la pubblicazione e scoperta di servizi quali stampanti, file server, ecc.
- risolvere i nomi
.localsenza bisogno di un server DNS
Per le stampanti, Avahi consente di trovare automaticamente quelle di rete che supportano AirPrint o IPP (Internet Printing Protocol), senza dover configurare manualmente indirizzi IP o nomi host. Nella configurazione sotto (tutte le opzioni sono disponibili nella documentazione ) abbiamo attivato il protocollo, abilitato il Name Service Switch per IPv4 e configurato automaticamente le regole del firewall.
Configurazione NixOS
L’installazione può essere fatta in modo semplice utilizzando il seguente codice (ricordando di collegarlo al file configuration.nix) in modo che il sistema possa installare e attivare i servizi necessari.
{ config, pkgs, ... }:
{
services.printing = {
enable = true;
package = pkgs.cups;
startWhenNeeded = true;
webInterface = true;
};
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
}Configurazione Stampanti
Una volta eseguita l’installazione e l’attivazione del servizio, sarà quindi necessario aprire l’interfaccia che ci permette di configurare le stampanti. Come abbiamo visto nel file di configurazione, non è presente un menu o un software dedicato per la gestione delle stampanti: il tutto viene gestito tramite un’interfaccia web, tanto essenziale quanto spartana.
Accesso Interfaccia
Per accedere all’interfaccia è necessario aprire nel browser la pagina localhost:631. Da ricordare che questa è l’interfaccia per configurare le stampanti sulla macchina locale, non il pannello di gestione della stampante stessa.
Appena apriamo la pagina abbiamo a disposizione una guida che spiega tutte le funzionalità disponibili. Per configurare le stampanti possiamo focalizzarci sull’header in alto, da cui è possibile accedere alle varie sezioni per gestire le configurazioni e le code di stampa.
Aggiunta Stampante
Per aggiungere una stampante è possibile entrare nel menu di amministrazione, selezionare il protocollo e procedere con la configurazione.