Skip to content

Mon environnement de développement sous Fedora Silverblue - minimalisme et conteneurs

Introduction

Fedora Silverblue est une distribution Linux immuable qui offre aux développeurs stabilité et reproductibilité. Voici comment j'ai configuré mon environnement en combinant matériel moderne, outils récents et conteneurs pour isoler mes projets open-source.

Matériel et usage

  • Laptop Framework 12 pouces (léger et modulaire)
  • Écran LG 32 pouces ergonomique

Environnement de base

  • OS : Fedora Silverblue 42
  • Éditeurs : Zed (via Flatpak) et Cursor (IA intégrée)
  • Navigateur : Zen

Fedora Silverblue : conteneurs et outils

Toolbox : environnements isolés

Fedora Silverblue utilise Toolbox pour créer des conteneurs mutables. J'utilise une image personnalisée (batosai/toolbox) basée sur Ubuntu 24.04 incluant ffmpeg, pdftocairo, libreoffice et volta.

Exemple de création de conteneur :

bash
toolbox create development
toolbox enter development
sudo dnf update
sudo dnf -y install ffmpeg poppler-utils vips libreoffice

Podman : services locaux

PostgreSQL et Redis tournent dans des conteneurs Podman pour une isolation complète.

Configuration avancée

Volta dans Toolbox

Redirection de VOLTA_HOME vers /opt/.volta :

bash
export VOLTA_HOME="/opt/.volta"
export VOLTA_FEATURE_PNPM=1
export PATH="$VOLTA_HOME/bin:$PATH"

Alias utiles

Aliases .bashrc pour simplifier le workflow :

bash
alias zed='flatpak run dev.zed.Zed'
alias dev='cd ~/Dev'
alias node='toolbox run --container=development node'
alias npm='toolbox run --container=development npm'
alias pnpm='toolbox run --container=development pnpm'
alias volta='toolbox run --container=development volta'
alias tableplus='toolbox run --container=tableplus tableplus'

Pourquoi ce choix ?

  • Isolation : chaque outil opère dans son propre conteneur
  • Reproductibilité : de nouveaux conteneurs fournissent des environnements propres
  • Portabilité : les configurations sont versionnées via GitHub

Conclusion

Fedora Silverblue transforme l'installation d'une machine de travail en une démarche simple et reproductible. Grâce à son modèle immuable, il suffit de quelques commandes pour déployer un environnement complet, sans craindre les conflits ou la "pollution" du système hôte.

Les Flatpaks jouent un rôle clé dans cette simplicité : ils permettent d'installer des applications comme Zed ou Cursor en un clic, sans dépendances complexes, tout en bénéficiant des dernières versions. Couplés à Toolbox pour les outils de développement et à Podman pour les services, ils offrent une modularité inégalée.

En résumé, cette stack allie stabilité, isolation et facilité de maintenance.

Ressources