NixOS Series #3 : Ajouter et supprimer des packages


  • Français


  • Le système de packaging de NixOS est son point fort. Le gestionnaire de packages Nix utilise une syntaxe très différente de celle d’apt, dnf et d’autres gestionnaires de packages.

    C’est aussi l’une des raisons pour lesquelles il faut essayer d’utiliser NixOS.

    Dans ce guide, je partagerai deux façons d’installer et de supprimer des packages sur NixOS :

    • Utilisation du gestionnaire de paquets Nix
    • En utilisant configuration.nix fichier de configuration

    ⚠️

    À l’aide du gestionnaire de packages Nix, vous ne pouvez installer que des packages, mais pas des services tels que le serveur SSH ou Plex. Pour l’installation des services, vous devez utiliser un fichier de configuration Nix.

    Pour installer n’importe quel package, il est nécessaire de connaître son nom exact, et à cette fin, je commencerai par la façon dont vous pouvez rechercher des packages dans NixOS.

    Lecture suggérée 📖

    NixOS Series #2 : Comment installer NixOS sur une machine virtuelle ?

    Vous voulez essayer NixOS ? Commencez par l’installer sur une machine virtuelle.

    Rechercher des forfaits

    Pour rechercher des packages, vous pouvez utiliser son recherche Internet en utilisant votre navigateur préféré.

    Vous pouvez utiliser sa recherche sur le Web en suivant les étapes indiquées :

    1. Entrez le nom du package dans la barre de recherche
    2. Sélectionnez le package approprié (décidez à partir de la description donnée)
    3. Cliquer sur nix-env option
    4. Et copiez la commande pour NixOS (Premier)

    Par exemple, si je veux librewolf package, je vais effectuer les opérations suivantes :

    rechercher un package à l'aide de la recherche Web du gestionnaire de packages nix
    Recherche du package requis (Cliquez pour agrandir l’image)

    Vous pouvez faire la même chose via le Terminal.

    Pour rechercher des packages à l’aide du terminal, vous pouvez suivre la syntaxe de commande indiquée :

    nix-env -qaP --description [package_name]

    Par exemple, ici, j’ai cherché le librewolf:

    rechercher des packages dans nixos à l'aide du terminal

    Vous devrez copier la première ligne de la sortie car c’est le nom du paquet que vous devez installer.

    Pour moi, c’était nixos.librewolf.

    Oui, cela peut ne pas sembler aussi pratique que les noms de packages lors de l’utilisation d’APT ou de DNF. Mais, ce n’est pas trop mal, je pense.

    Des compromis pour certains avantages, je suppose ?

    Lecture suggérée 📖

    Comment installer des fichiers RPM sur Fedora Linux [Beginner’s Tutorial]

    Cet article pour débutant explique comment installer les packages RPM sur Fedora et Red Hat Linux. Il vous montre également comment supprimer ces packages RPM par la suite. Lorsque vous commencez à utiliser Fedora Linux dans le domaine Red Hat, tôt ou tard, vous rencontrerez des fichiers .rpm. Comme les fichiers .exe dans

    Installer un package dans NixOS

    Pour installer un package, il vous suffit d’utiliser la syntaxe de commande suivante :

    nix-env -iA [package_name]

    Et si vous utilisez la recherche Web pour rechercher le package, vous aurez déjà la commande exacte dont vous avez besoin pour l’installation.

    Disons que je veux installer librewolfdonc je vais utiliser la commande suivante :

    nix-env -iA nixos.librewolf

    Et si vous souhaitez effectuer une installation à l’échelle du système (rendre ce package disponible pour chaque utilisateur), exécutez la commande d’installation avec sudo:

    sudo nix-env -iA nixos.librewolf

    C’est ça! Votre package préféré sera installé en un rien de temps.

    Désinstaller un package dans NixOS

    Pour supprimer un package, vous pouvez vous référer à la syntaxe de commande indiquée :

    nix-env --uninstall [package_name]

    Donc, si je dois supprimer le librewolf package, je dois utiliser la commande suivante :

    nix-env --uninstall librewolf

    Si vous remarquez de près, j’ai utilisé librewolf au lieu de nixos.librewolf ce que j’ai utilisé pour l’installation.

    Cela signifie que vous devrez sauter le nixos partie lors du retrait de l’emballage, ce qui rend les choses faciles et rapides.

    Installer des services dans NixOS

    Comme je l’ai mentionné précédemment, vous ne pouvez pas utiliser le gestionnaire de packages nix pour installer des services tels que OpenSSH, serveur Plex, Flatpak, etc.

    De la recherche du service au processus d’installation, cela diffère de ce que vous avez vu ci-dessus.

    Alors laissez-moi commencer par comment vous pouvez rechercher un service:

    1. Pour rechercher le service, dirigez-vous vers vers la page web pour la recherche de paquets Nix.
    2. Sélectionner NixOS options (3ème option dans la ligne de menu du haut de la page).
    3. Entrez le nom du service que vous recherchez.
    4. Copiez le nom du service.

    Par exemple, ici, je recherche le service OpenSSH :

    rechercher le service openssh dans NixOS
    Recherche d’un service (Cliquez pour agrandir l’image)

    Une fois que vous avez le nom, ouvrez le configuration.nix fichier à l’aide de la commande suivante :

    sudo nano /etc/nixos/configuration.nix

    Et ajouter le nom du service en fin de ligne (avant }) De la manière suivante:

    [service_name] = true;

    Comme Je veux activer OpenSSHj’ajouterai ceci :

    services.openssh.enable = true;
    activer openssh sur NixOS

    Une fois que vous avez terminé d’ajouter le service au fichier de configuration, enregistrer les modifications et quitter le nano éditeur de texte.

    Pour activer le service, reconstruisez le fichier de configuration et passez aux modifications à l’aide de la commande suivante :

    sudo nixos-rebuild switch

    C’est ça! Vous avez le service activé.

    Désinstaller les services de NixOS

    Pour désinstaller un service, tout ce que vous avez à faire est de supprimer ou de commenter la ligne de ce service à partir de configuration.nix déposer.

    Alors d’abord, ouvrez le fichier de configuration en utilisant la commande suivante :

    sudo nano /etc/nixos/configuration.nix

    Recherchez le service et supprimez la ligne ou commentez-le avec #:

    supprimer le service de NixOS

    Avec le commentaire ajouté #, j’ignore le service OpenSSH à charger car je n’en veux plus sur mon système.

    Une fois fait, enregistrez la modification et quittez l’éditeur de texte.

    Et enfin, reconstruisez le fichier de configuration et faites le changement :

    sudo nixos-rebuild switch

    Installer des packages à l’aide du fichier de configuration Nix

    Le fichier de configuration vous permet gérer facilement les colis en une seule fois.

    Pour installer un package à l’aide du fichier de configuration Nix, vous devez entrer le nom du package dans le fichier de configuration, reconstruire et basculer vers le fichier de configuration, et c’est tout.

    Tout d’abord, ouvrez le configuration.nix déposer:

    sudo nano /etc/nixos/configuration.nix

    Si tu veux installer un package pour un utilisateur connecté spécifique, ajouter le nom du package au profil de l’utilisateur.

    Le profil utilisateur ressemble à ceci :

    users.users.sagar = {
        isNormalUser = true;
        description = "Sagar";
        extraGroups = [ "networkmanager" "wheel" ];
        packages = with pkgs; [
          firefox
        ];
      };
    

    Bien sûr, il affichera votre nom d’utilisateur au lieu de sagar.

    Et vous êtes censé ajouter le nom du package en utilisant la syntaxe packages = with pkgs; [package_name];

    Supposons donc que je veuille installer Thunderbird ainsi, alors j’ajouterai son nom comme indiqué ci-dessous:

    installer un package dans NixOS à l'aide du fichier de configuration Nix

    Vous devez ajouter tous les noms de packages entre crochets sans virgules. Il doit être sur une nouvelle ligne comme le décrit la capture d’écran.

    Mais si vous souhaitez installer ce package à l’échelle du systèmevous devrez ajouter le nom du package sous environment.systemPackages comme:

    environment.systemPackages = with pkgs; [package_name];

    installer le package à l'échelle du système dans NixOS à l'aide du fichier de configuration Nix

    Une fois que vous avez terminé d’ajouter le nom du package requis dans le profil système ou le profil utilisateur, ou même les deux, vous devrez suivre la même commande pour terminer l’installation :

    sudo nixos-rebuild switch

    Et vous l’avez !

    Supprimer des packages à l’aide du fichier de configuration Nix

    Pour supprimer le package, il vous suffit de suivre les étapes simples indiquées :

    1. Ouvrez le fichier de configuration Nix
    2. Supprimer ou commenter le nom du package
    3. Reconstruisez la configuration et faites un changement

    Commençons donc par la première étape (ouverture du fichier de configuration) :

    sudo nano /etc/nixos/configuration.nix

    Ensuite, commentez le nom du paquet à partir du profil utilisateur ou du profil système :

    supprimer le package à l'aide du fichier de configuration nix sur NixOS

    Enregistrez les modifications et quittez le fichier de configuration.

    Et enfin, reconstruisez la configuration et effectuez un changement pour supprimer le paquet :

    sudo nixos-rebuild switch

    C’est ça!

    📋

    Actuellement, il n’existe aucun outil d’interface graphique officiel pour vous aider à installer/supprimer des packages. Vous pourriez trouver des projets comme nix-gui et nix42b développés par la communauté, mais ils ne sont plus entretenus ou simplement à leurs premiers stades de développement.

    Prochaine étape…

    J’espère que vous prendrez autant de plaisir à lire la série NixOS que moi à l’écrire.

    Dans la partie suivante, je soulignerai quelques choses importantes que vous devez faire juste après l’installation de NixOS.

    💬 Si vous pensez que j’ai raté quelque chose ou si vous avez d’autres suggestions, n’hésitez pas à me le faire savoir dans les commentaires.

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code