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

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.

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

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.

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

  1. Ouvrez search.nixos.org.
  2. Choisissez le canal : 26.05 si vous comptez utiliser pkgs, unstable si vous comptez utiliser pkgs-unstable.
  3. Tapez le nom du logiciel, par exemple qbittorrent. Vous pouvez aussi ouvrir directement l'adresse https://search.nixos.org/packages?channel=26.05&query=qbittorrent.
  4. 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).

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.qbittorrent dans customConfig/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 ↓ de customConfig/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

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 signifient pkgs et pkgs-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 :

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 :

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.

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).

  1. Ouvrez EasyFlatpak, puis tapez le nom de l'application dans le champ Rechercher… ou parcourez les Catégories.
  2. Ouvrez la fiche de l'application et cliquez sur Installer.
  3. 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 :

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é.

Tip

Pour régler les permissions de vos applications Flatpak, installez Flatseal depuis Flathub (identifiant com.github.tchx84.Flatseal), avec EasyFlatpak ou avec la commande flatpak 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.

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.

Voir aussi