Comment configurer home-manager sur NixOS ?


  • Français


  • Avant de publier ceci, j’ai expliqué comment installer et supprimer des packages dans NixOS pour un système mono-utilisateur.

    Mais si vous utilisez plusieurs utilisateurs, il existe un excellent moyen de répondre aux besoins de chaque utilisateur séparément.

    Et dans ce guide, je vais vous expliquer comment vous pouvez configurer un gestionnaire de maison sur NixOS et comment il peut être utilisé pour installer des packages.

    Si vous êtes nouveau ici, certaines ressources abordées dans cette série incluent :

    Configurer home-manager sur NixOS

    Dans ce guide, je vais vous expliquer 2 façons de configurer un gestionnaire de maison :

    • Gestionnaire de domicile autonome (utilise un fichier de configuration séparé)
    • En tant que module nix (en l’utilisant à l’intérieur configuration.nix déposer)

    Commençons donc par l’option autonome.

    Installation autonome de home-manager

    Si vous utilisez un canal stable de NixOS, vous pouvez utiliser la commande suivante pour configurer le gestionnaire d’accueil :

    nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

    Lors de la rédaction de ce guide, la version stable est 22.11.

    Et si vous êtes sur un canal instableutilisez le suivant:

    nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

    Les étapes suivantes resteront les mêmes que vous utilisiez stable ou instable.

    Une fois cela fait, mettez à jour les chaînes :

    nix-channel --update

    Et enfin, utilisez la commande suivante pour installer le gestionnaire d’accueil :

    nix-shell '<home-manager>' -A install

    🛠️ Lors de l’installation, il peut générer l’erreur suivante :

    erreur de construction lors de l'installation de home manager

    Redémarrez votre système et utilisez à nouveau la commande d’installation, et l’installation démarrera.

    Une fois cela fait, il affichera l’emplacement de l’installation autonome du gestionnaire de maison :

    emplacement du gestionnaire de la maison dans NixOS

    Installer home-manager en tant que module NixOS

    ⚠️

    Vous aurez besoin des privilèges sudo si vous choisissez d’utiliser le gestionnaire d’accueil en tant que module NixOS.

    Si vous êtes sur un canal stable (lors de l’écriture, il s’agit du 22.11), vous pouvez utiliser la commande suivante pour ajouter le canal stable du home manager :

    sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

    Et si vous utilisez unstable ou le canal masterutilisez le suivant:

    sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

    Une fois que vous avez terminé d’ajouter un canal à l’aide de l’une des commandes ci-dessus, mettez à jour le canal en utilisant ce qui suit :

    sudo nix-channel --update

    Ensuite, ouvrez le configuration.nix fichier en utilisant :

    sudo nano /etc/nixos/configuration.nix

    Et ajoutez la ligne suivante à l’intérieur du imports []:

    <home-manager/nixos>
    installer home-manager en tant que module NixOS

    Maintenant, sautez à la fin de la ligne et ajoutez ce qui suit avant }:

    home-manager.users.{username} = { pkgs, ... }: {
      home.packages = [  ];
      };
    syntaxe pour le module home-manager dans le fichier de configuration NixOS

    La ligne ci-dessus a été ajoutée pour faciliter l’installation et la suppression des packages que je vais vous montrer ensuite.

    Maintenant, enregistrez les modifications et quittez l’éditeur de texte nano.

    Ensuite, reconstruisez la configuration et effectuez un changement :

    sudo nixos-rebuild switch

    Mais si vous utilisez une version stable et que vous utilisez la commande ci-dessus, l’erreur suivante s’affichera :

    🛠️ erreur : l’option `home-manager.users.user.home.stateVersion’ est utilisée mais n’est pas définie :

    erreur : L'option `home-manager.users.user.home.stateVersion' est utilisée mais pas définie.

    Pour résoudre ce problème, vous devrez ajouter le home.stateVersion dans votre bloc home manager.

    Pendant que j’écris, j’exécute 22.11, donc tout le bloc du gestionnaire de maison ressemblerait à ceci :

    home-manager.users.{username} = { pkgs, ... }: {
    home.stateVersion = "22.11";  
    home.packages = [ ];
      };
    comment résoudre L'option `home-manager.users.user.home.stateVersion' est utilisée mais pas définie.

    Enregistrez les modifications et quittez l’éditeur de texte nano en appuyant sur Ctrl + Oen appuyant sur Entrée et Ctrl + X.

    Maintenant, essayez de reconstruire la configuration et de refaire le changement, et cela devrait résoudre le problème.

    Comment installer des packages à l’aide de home-manager sur NixOS

    Maintenant que home-manager est installé, comment installer des packages avec :

    Utilisation d’une installation autonome de Home-manager

    Tout d’abord, ouvrez le fichier de configuration en utilisant ce qui suit :

    nano /home/$USER/.config/nixpkgs/home.nix

    Aller à la fin de la ligne et ajouter le bloc de code suivant avant }:

    home.packages = [];

    Maintenant, tout ce que vous avez à faire est d’écrire le nom du paquet entre ces deux accolades.

    Par exemple, si je veux installer htopje devrai entrer ce qui suit :

    home.packages = [pkgs.htop];

    Oui, vous devrez généralement ajouter le nom du package avec pkgs.

    Mais si vous voulez vous en sortir en utilisant pkgs. à chaque fois que vous installez un nouveau package, modifiez la syntaxe du bloc de code comme indiqué :

    home.packages = with pkgs; [];

    Et maintenant, vous n’êtes plus obligé d’utiliser pkgs. pour chaque installation :

    home.packages = with pkgs; [htop];

    Par exemple, ici, je voulais installer htop, firefox et LibreOffice donc mon bloc d’accueil ressemblerait à ceci:

    installer plusieurs packages à l'aide de home-manager sur NixOS
    Installation de plusieurs packages à l’aide de home-manager (Cliquez pour agrandir l’image)

    Une fois que vous avez terminé d’ajouter vos packages favoris, enregistrez le fichier de configuration et utilisez la commande suivante pour installer les packages :

    home-manager switch

    Utilisation du module NixOS

    Tout d’abord, ouvrez le configuration.nix fichier à l’aide de la commande suivante :

    sudo nano /etc/nixos/configuration.nix

    Dans la partie configuration, j’ai déjà ajouté le bloc home manager, il ne reste donc plus qu’à ajouter le nom du package à l’intérieur home.packages = [  ]; dans le format affiché :

    home.packages = [ pkgs.package_name ];

    💡

    J’ai mentionné comment vous pouvez vous en sortir en utilisant pkgs. avant le nom du package dans la section ci-dessus (installation de packages sur le gestionnaire d’accueil autonome).

    Par exemple, si je veux installer htop, Firefox et LibreOffice, j’ajouterai :

    pkgs.htop pkgs.firefox pkgs.libreoffice

    Et mon bloc de gestionnaire de maison ressemblerait à ceci :

    installer plusieurs packages dans home-manager en tant que module NixOS

    Maintenant, enregistrez les modifications et quittez l’éditeur de texte.

    Ensuite, reconstruisez la configuration et effectuez un changement à l’aide de la commande suivante :

    sudo nixos-rebuild switch

    C’est ça! Les packages seront installés en un rien de temps.

    C’est la fin

    Je pense que vous devriez opter pour l’installation autonome, car vous n’êtes pas obligé d’utiliser les privilèges de superutilisateur. De plus, avoir des fichiers de configuration séparés pour des utilisateurs distincts est très pratique si vous exécutez un système avec plusieurs utilisateurs.

    Donc, à moins que vous ne vouliez un fichier pour chaque usage, je ne vois aucune autre raison d’utiliser l’option module.

    Avec cela, je conclus la série pour débutants NixOS. J’espère que cela vous procurera une plate-forme suffisamment bonne pour vous familiariser avec cette distribution Linux unique.

    💬 Comment avez-vous aimé la série NixOS ? Y a-t-il autre chose que nous devrions couvrir pour les débutants NixOS ? Veuillez fournir vos précieux 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