GLF OS vous offre deux façons d'ajouter un programme qui n'est pas installé d'origine. Vous pouvez déclarer un paquet NixOS dans votre configuration personnelle, que le système construit et intègre ensuite, ou installer une application Flatpak, en quelques clics avec EasyFlatpak ou en ligne de commande. Cette page vous aide à choisir la bonne méthode, puis vous guide pas à pas.
Quelle méthode choisir ?
| Flatpak (EasyFlatpak) | Paquet NixOS | |
|---|---|---|
| Installation | Immédiate, depuis une logithèque graphique ou une commande | Une ligne à ajouter dans un fichier de configuration, puis une commande pour appliquer |
| Redémarrage | Jamais nécessaire | Nécessaire avec glf-update ; glf-switch applique sans redémarrer |
| Catalogue | Flathub, principalement des applications de bureau | Le catalogue des paquets NixOS : applications de bureau, mais aussi outils en ligne de commande et logiciels qui s'intègrent au système |
| Isolation | Applications isolées dans un bac à sable | Le programme fait partie du système, sans bac à sable |
| Mises à jour | Mises à jour par glf-update en même temps que le système |
Mis à jour avec les sources du système, lors de glf-update ou glf-switch |
| Idéal pour | Navigateurs, messageries, logiciels créatifs et, plus largement, les applications de bureau courantes | Outils en ligne de commande, logiciels absents de Flathub, logiciels qui ont besoin de droits ou de services sur le système |
Astuce
En cas de doute pour une application de bureau, commencez par EasyFlatpak : l'installation est immédiate, ne demande aucun redémarrage et ne touche pas à la configuration du système. Réservez les paquets NixOS aux cas où Flatpak ne convient pas.
Les fichiers de configuration
La configuration de GLF OS se trouve dans le dossier /etc/nixos. Plusieurs fichiers y cohabitent, mais seul le dossier customConfig vous est réservé.
| Fichier | Rôle | Modifier ? |
|---|---|---|
customConfig/default.nix |
Votre fichier personnel pour tous vos ajouts (programmes, options). Il n'est jamais touché par les outils GLF. | Oui |
Vos fichiers .nix dans customConfig/ |
Les fichiers que vous créez vous-même pour organiser vos ajouts. Ils vous appartiennent. | Oui |
configuration.nix |
Généré par l'installeur (démarrage, utilisateurs et mots de passe, langue, clavier, édition GLF) et corrigé automatiquement par glf-update lors des évolutions. Il importe hardware-configuration.nix et customConfig. |
Jamais |
hardware-configuration.nix |
Détection de votre matériel, générée à l'installation. | Jamais |
customized.nix |
Géré par l'application GLF Customizer, qui réécrit automatiquement sa zone balisée. Passez par GLF Customizer pour changer ces réglages. | Jamais |
flake.nix et flake.lock |
Gérés par glf-update : canal stable ou testing, migrations de format, versions des sources. |
Jamais |
Prudence
Ne modifiez pas les fichiers marqués « Jamais ». Vos changements risquent d'être écrasés par les outils GLF, ou de bloquer les mises à jour de votre système. Tout ajout de programme ou d'option passe par le dossiercustomConfig.
Ajouter un paquet NixOS
1. Trouver le paquet
Chaque paquet NixOS porte un nom précis qu'il faudra recopier exactement dans votre configuration. Deux canaux sont à votre disposition :
| Écriture | Canal | Caractéristiques |
|---|---|---|
pkgs.<nom> |
Stable (NixOS 26.05 actuellement) | Versions éprouvées, à privilégier par défaut |
pkgs-unstable.<nom> |
nixos-unstable | Versions plus récentes, mais moins éprouvées |
La commande nixos-version affiche la version de NixOS installée sur votre poste. Les logiciels non libres sont autorisés sur les deux canaux : vous pouvez par exemple installer Google Chrome avec pkgs.google-chrome.
Sur le site de recherche
- Ouvrez search.nixos.org.
- Choisissez le canal : 26.05 si vous comptez utiliser
pkgs, unstable si vous comptez utiliserpkgs-unstable. - Tapez le nom du logiciel, par exemple
qbittorrent. Vous pouvez aussi ouvrir directement l'adressehttps://search.nixos.org/packages?channel=26.05&query=qbittorrent. - Cliquez sur le paquet pour déplier sa fiche, puis sur l'onglet NixOS Configuration : il affiche la ligne exacte à recopier, par exemple
pkgs.qbittorrent(le titre en gras du résultat donne aussi le nom complet).
Attention
Cet onglet indique que la configuration se trouve « habituellement dans /etc/nixos/configuration.nix ». Sur GLF OS, n'y touchez pas : recopiez uniquement la lignepkgs.qbittorrentdanscustomConfig/default.nix, comme expliqué à l'étape suivante.
Les versions diffèrent souvent d'un canal à l'autre. Par exemple, qBittorrent est proposé en version 5.2.2 sur le canal 26.05 et en version 5.2.3 sur unstable.
Certains noms contiennent un point, comme kdePackages.filelight. Recopiez-les tels quels, précédés du canal : pkgs.kdePackages.filelight. Pour ces paquets, la ligne « Name » n'affiche que la fin du nom (« filelight »), d'où l'intérêt de l'onglet NixOS Configuration.
En ligne de commande
nix search nixpkgs qbittorrent
Pour chaque résultat, la commande affiche le nom d'attribut, la version et une description. Le premier lancement peut prendre un peu de temps.
Essayer un programme sans l'installer
Avant de modifier votre configuration, vous pouvez tester un logiciel :
nix shell nixpkgs#qbittorrent
Lancez ensuite qbittorrent depuis ce même terminal. Rien n'est installé durablement sur votre système.
Remarque
Certains logiciels disposent d'une option NixOS dédiée, visible dans l'onglet « Options » de search.nixos.org. Cette option configure aussi les droits et les services nécessaires au logiciel : quand elle existe, préférez-la au simple paquet. Par exemple, pour Wireshark, ajoutez la ligneprograms.wireshark.enable = true;sous le commentaire# Add your custom configuration here ↓decustomConfig/default.nix.
2. Déclarer le paquet dans customConfig/default.nix
Ouvrir le fichier
Les fichiers de /etc/nixos appartiennent à l'administrateur (root). Pour les modifier, ouvrez un terminal et tapez :
sudo nano /etc/nixos/customConfig/default.nix
Saisissez votre mot de passe. Dans l'éditeur nano, enregistrez avec Ctrl+O puis Entrée, et quittez avec Ctrl+X.
Vous pouvez aussi utiliser l'éditeur de texte graphique de votre bureau : votre mot de passe vous sera demandé au moment d'enregistrer.
Ajouter le paquet à la liste
Repérez la liste environment.systemPackages. Sur une installation neuve, elle ne contient que deux commentaires :
environment.systemPackages = [
# Add your stable apps here (exemple: pkgs.btop)
# Add your unstable apps here (exemple: pkgs-unstable.btop)
];
Ajoutez vos paquets stables sous le premier commentaire, et vos paquets unstable sous le second. Voici la même liste après l'ajout de qBittorrent et de KeePassXC depuis le canal stable, et de FreeCAD depuis le canal unstable :
environment.systemPackages = [
# Add your stable apps here (exemple: pkgs.btop)
pkgs.qbittorrent
pkgs.keepassxc
# Add your unstable apps here (exemple: pkgs-unstable.btop)
pkgs-unstable.freecad
];
Enregistrez le fichier. Le programme n'est pas encore installé : il reste à appliquer la configuration (étape 4).
Règles de syntaxe à respecter
- Un paquet par ligne, entre les crochets
[et];. - Aucune virgule entre les paquets.
- Tout ce qui suit un
#sur une ligne est un commentaire, ignoré par le système. - Conservez le
];qui ferme la liste.
Attention
Ne modifiez pas l'en-tête du fichier, c'est-à-dire le bloc{ lib, config, pkgs, pkgs-unstable, ... }:situé tout en haut. Sans lui, le système ne sait plus ce que signifientpkgsetpkgs-unstable, et la construction échoue.
3. Variante : ranger vos programmes dans un fichier séparé
Si votre liste s'allonge, vous pouvez répartir vos programmes dans plusieurs fichiers, par exemple par thème. Ces fichiers vous appartiennent, au même titre que default.nix.
Créer le fichier
sudo nano /etc/nixos/customConfig/mes-programmes.nix
Écrivez-y le contenu suivant, en adaptant la liste des paquets :
{ pkgs, pkgs-unstable, ... }:
{
environment.systemPackages = [
pkgs.krita
pkgs-unstable.inkscape
];
}
La première ligne est l'en-tête de ce fichier. Si vous utilisez des paquets pkgs-unstable, elle doit mentionner pkgs-unstable.
Importer le fichier dans default.nix
Ouvrez customConfig/default.nix et ajoutez une ligne imports juste après l'accolade ouvrante qui suit }: :
{
lib,
config,
pkgs,
pkgs-unstable,
...
}:
{
imports = [ ./mes-programmes.nix ];
environment.systemPackages = [
# Add your stable apps here (exemple: pkgs.btop)
Quelques précisions :
- Le chemin est relatif au dossier
customConfig:./mes-programmes.nixdésigne le fichier placé à côté dedefault.nix. - Pour importer plusieurs fichiers, listez-les tous sur une seule ligne
imports:imports = [ ./jeux.nix ./graphisme.nix ];. - Les listes
environment.systemPackagesde tous les fichiers s'additionnent. Vous pouvez donc garder certains paquets dansdefault.nixet en placer d'autres dans vos fichiers. Si vous déplacez un programme vers un nouveau fichier, retirez sa ligne dedefault.nixpour qu'il ne soit déclaré qu'à un seul endroit.
4. Appliquer la configuration
Enregistrer le fichier ne suffit pas : il faut ensuite demander au système de construire la nouvelle configuration. Trois commandes sont disponibles.
glf-update (méthode recommandée)
glf-update
Cette commande :
- vous demande votre mot de passe (elle se relance avec sudo) ;
- met à jour les sources du système ;
- construit et valide la nouvelle configuration ;
- l'installe pour le prochain démarrage ;
- met aussi à jour vos applications Flatpak.
Une fois la commande terminée, redémarrez votre ordinateur : vos nouveaux programmes sont alors disponibles.
glf-switch : appliquer sans redémarrer
glf-switch
Cette commande met elle aussi à jour les sources, puis applique la configuration immédiatement, sans redémarrage. Elle supprime ensuite les générations de plus de 5 jours. Certaines modifications demandent malgré tout un redémarrage pour être prises en compte.
glf-build : vérifier sans rien appliquer
glf-build
Cette commande construit la configuration sans rien appliquer. Elle est pratique pour vérifier que vos fichiers ne contiennent pas d'erreur.
Remarque
Pas d'inquiétude en cas d'erreur : si la construction échoue, par exemple à cause d'une faute de frappe dans un fichier, rien n'est installé et votre système actuel reste inchangé. Corrigez le fichier (voir la section « En cas de problème » plus bas) puis relancez la commande. Par ailleurs, les générations précédentes de votre système restent proposées au menu de démarrage : vous pouvez toujours revenir en arrière.
5. Retirer un programme
Pour retirer un programme ajouté de cette façon, supprimez sa ligne du fichier, ou transformez-la en commentaire en ajoutant # devant :
# pkgs.qbittorrent
Appliquez ensuite la configuration comme pour un ajout : glf-update puis redémarrage, ou glf-switch.
Installer une application Flatpak
Flatpak est activé sur GLF OS et le dépôt Flathub est ajouté automatiquement : vous n'avez rien à configurer. Les applications Flatpak s'installent immédiatement, sans redémarrage, fonctionnent isolées dans un bac à sable et sont souvent disponibles dans des versions récentes.
Avec EasyFlatpak
EasyFlatpak est une logithèque graphique préinstallée avec GLF OS. Vous la trouverez dans le menu des applications (dans le dossier « GLF Apps » sous GNOME).
- Ouvrez EasyFlatpak, puis tapez le nom de l'application dans le champ Rechercher… ou parcourez les Catégories.
- Ouvrez la fiche de l'application et cliquez sur Installer.
- Dans la fenêtre qui s'ouvre, activez ou non Installer uniquement pour l'utilisateur actuel, puis confirmez avec Installer.
L'installation se poursuit en arrière-plan : la section En cours permet de suivre sa progression.
EasyFlatpak propose aussi :
- les Packs, des groupes d'applications : sélectionnez celles qui vous intéressent, puis cliquez sur Installer la sélection ;
- la section Installés, depuis laquelle vous pouvez retirer une application avec Désinstaller ;
- la section Mises à jour ;
- dans Paramètres, l'emplacement d'installation proposé par défaut (Où les applications Flatpak seront installées).
Pour une visite illustrée de l'application, consultez le guide Easy Flatpak.
En ligne de commande
Les applications Flatpak se désignent par un identifiant, par exemple org.qbittorrent.qBittorrent pour qBittorrent. Repérez-le dans les résultats de la recherche, puis utilisez-le dans les autres commandes :
# Rechercher une application
flatpak search qbittorrent
# Installer l'application depuis Flathub
flatpak install flathub org.qbittorrent.qBittorrent
# Lancer l'application
flatpak run org.qbittorrent.qBittorrent
# Lister les applications installées
flatpak list --app
# Désinstaller l'application
flatpak uninstall org.qbittorrent.qBittorrent
# Supprimer les éléments qui ne servent plus à aucune application
flatpak uninstall --unused
Pour installer une application uniquement pour l'utilisateur courant, ajoutez l'option --user :
flatpak install --user flathub org.qbittorrent.qBittorrent
Vos applications Flatpak sont mises à jour à chaque glf-update. Si vous préférez gérer ces mises à jour vous-même, décommentez la ligne # glf.autoUpgrade.flatpak.enable = false; (retirez le # en début de ligne) dans customConfig/default.nix ; si elle est absente, ajoutez glf.autoUpgrade.flatpak.enable = false; sous le commentaire # Add your custom configuration here ↓. Pour les autres options de ce bloc, consultez Modularité.
Astuce
Pour régler les permissions de vos applications Flatpak, installez Flatseal depuis Flathub (identifiantcom.github.tchx84.Flatseal), avec EasyFlatpak ou avec la commandeflatpak install flathub com.github.tchx84.Flatseal.
En cas de problème
Voici les messages d'erreur les plus fréquents lors de l'ajout d'un paquet NixOS, et comment les résoudre.
-
error: undefined variable 'pkgs-unstable'L'en-tête de
default.nixa été modifié, oupkgs-unstablea été oublié dans l'en-tête d'un fichier importé. Rétablissez l'en-tête d'origine dedefault.nix, ou vérifiez que la première ligne de votre fichier est bien{ pkgs, pkgs-unstable, ... }:. -
error: attribute 'qbitorent' missingLe nom du paquet est mal orthographié (ici, il manque un « t »), ou le paquet n'existe pas dans le canal choisi. Vérifiez le nom exact sur search.nixos.org en sélectionnant le bon canal : 26.05 pour
pkgs, unstable pourpkgs-unstable. Si le paquet n'est présent que sur unstable, utilisezpkgs-unstable. -
error: syntax error, unexpected ...Un crochet, une accolade ou un point-virgule manque. Vérifiez que la liste se termine bien par
];, que chaque accolade ouverte est refermée et qu'aucune virgule ne sépare les paquets. Après correction,glf-buildvous permet de vérifier le fichier sans rien appliquer. -
Le programme n'apparaît pas après glf-update
C'est normal :
glf-updateinstalle la nouvelle configuration pour le prochain démarrage. Redémarrez votre ordinateur.
Si un problème survient après le redémarrage, choisissez une génération précédente dans le menu de démarrage pour retrouver votre système tel qu'il était, puis corrigez votre configuration.