← Retour au blog
tech 14 septembre 2026

Créer un service Guix de A à Z : Guide pour débutants

Découvre comment créer un service Guix personnalisé, même en tant que débutant. Suis notre guide étape par étape pour configurer un proxy inversé Caddy sur Guix.

Article inspiré de la source originale
Writing a Guix service from scratch, as a beginner ↗ aloysberger.com

Introduction

Si tu cherches à personnaliser ton expérience Guix, créer ton propre service est une étape incontournable. Que tu sois un entrepreneur tech ou un développeur curieux, comprendre comment créer un service Guix te donnera un contrôle total sur ton infrastructure.

Pourquoi créer un service Guix ?

Guix est une distribution logicielle qui permet une gestion fine des paquets et des services. Cependant, tous les logiciels ne sont pas disponibles par défaut. Par exemple, Caddy, un serveur proxy inversé populaire, nécessite une configuration manuelle. Créer un service personnalisé te permet d'adapter Guix exactement à tes besoins.

Prérequis

Avant de commencer, assure-toi d'avoir Guix installé et configuré. Bien que tu n'aies pas besoin d'être expert en Scheme, une compréhension de base est recommandée. De plus, assure-toi que le paquet Caddy est disponible sur ton instance Guix.

Étape 1 : Préparer le fichier de configuration

La première étape consiste à créer un fichier de configuration pour ton service. Ce fichier définira comment le service doit fonctionner et quels paramètres il doit utiliser. Pour Caddy, cela peut inclure des configurations de domaine et de sécurité.

``scheme (service (name 'caddy) (extensions (list (service-extension shepherd-root-service-type (compose list caddy-shepherd-service))))) ``

Étape 2 : Créer un utilisateur système

Pour des raisons de sécurité, il est conseillé de créer un utilisateur système dédié pour exécuter le service Caddy. Cela limite les permissions et réduit les risques potentiels.

``scheme (system-user (name "caddy") (home-directory "/var/lib/caddy") (shell "/bin/false") (system? #t)) ``

Étape 3 : Configurer Shepherd

Shepherd est le gestionnaire de services par défaut de Guix. Pour que Caddy fonctionne comme un service, tu devras configurer Shepherd pour démarrer et arrêter le service correctement.

``scheme (define caddy-shepherd-service (shepherd-service (provision '(caddy)) (start #~(make-forkexec-constructor (list #$(file-append caddy "/bin/caddy") "run"))) (stop #~(make-kill-destructor)) (respawn? #t))) ``

Étape 4 : Tester et déployer

Une fois que tout est en place, teste ton service. Utilise guix system reconfigure pour appliquer les changements. Vérifie que Caddy démarre correctement et que tes sites sont fonctionnels.

Conclusion

Créer un service Guix n'est pas seulement un exercice technique, c'est une porte d'entrée vers une personnalisation totale de ton environnement logiciel. Que tu développes pour le plaisir ou le travail, maîtriser cet aspect de Guix peut transformer ton approche de l'infrastructure.

Discutons de ton projet en 15 minutes.

Guix custom service Caddy Shepherd Scheme
Newsletter Deepthix · 100% IA · chaque lundi 8h

Un agent IA lit la tech à ta place.

Notre agent IA scanne ~200 sources par semaine et te livre les meilleurs articles le lundi 8h. Gratuit. 1 clic pour se désinscrire.

Voir la page newsletter →

Tu veux automatiser tes opérations ?

Discutons de ton projet en 15 minutes.

Réserver un call