Ajouter vos programmes

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

:bulb: 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

:stop_sign: 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 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: 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 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.

:information_source: 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 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

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

:warning: 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 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 :

  • Le chemin est relatif au dossier customConfig : ./mes-programmes.nix désigne le fichier placé à côté de default.nix.
  • Pour importer plusieurs fichiers, listez-les tous sur une seule ligne imports : imports = [ ./jeux.nix ./graphisme.nix ];.
  • Les listes 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.

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.

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

  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 :

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

:bulb: Astuce
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.

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

Voir aussi