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.
| 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 |
Tip
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.
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 |
Caution
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 dossier
customConfig.
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
pkgs, unstable si vous comptez utiliser pkgs-unstable.qbittorrent. Vous pouvez aussi ouvrir directement l'adresse https://search.nixos.org/packages?channel=26.05&query=qbittorrent.pkgs.qbittorrent (le titre en gras du résultat donne aussi le nom complet).Warning
Cet onglet indique que la configuration se trouve « habituellement dans /etc/nixos/configuration.nix ». Sur GLF OS, n'y touchez pas : recopiez uniquement la ligne
pkgs.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.
Note
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 ligne
programs.wireshark.enable = true;sous le commentaire# Add your custom configuration here ↓decustomConfig/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
[ et ];.# sur une ligne est un commentaire, ignoré par le système.]; qui ferme la liste.Warning
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.
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 :
customConfig : ./mes-programmes.nix désigne le fichier placé à côté de default.nix.imports : imports = [ ./jeux.nix ./graphisme.nix ];.environment.systemPackages de tous les fichiers s'additionnent. Vous pouvez donc garder certains paquets dans default.nix et en placer d'autres dans vos fichiers. Si vous déplacez un programme vers un nouveau fichier, retirez sa ligne de default.nix pour qu'il ne soit déclaré qu'à un seul endroit.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 :
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.
Note
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.
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.
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.
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).
L'installation se poursuit en arrière-plan : la section En cours permet de suivre sa progression.
EasyFlatpak propose aussi :
Pour une visite illustrée de l'application, consultez le guide Easy Flatpak.
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é.
Tip
Pour régler les permissions de vos applications Flatpak, installez Flatseal depuis Flathub (identifiant
com.github.tchx84.Flatseal), avec EasyFlatpak ou avec la commandeflatpak install flathub com.github.tchx84.Flatseal.
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.nix a été modifié, ou pkgs-unstable a été oublié dans l'en-tête d'un fichier importé. Rétablissez l'en-tête d'origine de default.nix, ou vérifiez que la première ligne de votre fichier est bien { pkgs, pkgs-unstable, ... }:.
error: attribute 'qbitorent' missing
Le 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 pour pkgs-unstable. Si le paquet n'est présent que sur unstable, utilisez pkgs-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-build vous permet de vérifier le fichier sans rien appliquer.
Le programme n'apparaît pas après glf-update
C'est normal : glf-update installe 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.