Un examen de Nixos

Un examen de Nixos
La plupart des avis dépassent les outils de bureau et les outils par défaut, mais ces critiques ne sont pas très utiles pour décrire Nixos, car la puissance de Nixos se trouve ailleurs. Les gens qui choisissent Nixos doivent être prêts à faire leur propre partitionnement, et vous ne leur ferez aucune faveur en leur disant que le gestionnaire de bureau par défaut peut répondre à leurs besoins.

Cela dit, si vous pouvez suivre le manuel Nixos, tout ira bien. Vous pouvez choisir un environnement de bureau par défaut si vous le souhaitez, mais assurez-vous que vous êtes à l'aise avec la ligne de commande et que vous pouvez modifier un fichier texte pour les tâches de configuration.

Une configuration puissante

La possibilité de configurer Nixos est à la fois un avantage et un défi. Les gestionnaires de packages traditionnels apportent le package dans la structure LSB établie des fichiers. Dans Nixos, l'installateur met les fichiers dans le magasin avec un hachage avant lui. Cette convention peut sembler compliquée, mais elle permet de nombreuses fonctionnalités.

Lorsque vous installez un programme, le gestionnaire de packages prépare un répertoire avec tous les fichiers et ajoute des liens vers les postes où ils doivent être placés. Il copie également les dépendances dans le même répertoire et les relie dans la structure. Pour suivre les programmes qui ont besoin des dépendances, un profil est utilisé. Avec le magasin et les profils, vous pouvez avoir de nombreuses combinaisons différentes de packages.

Vous pouvez également passer avec quelques commandes, et le retour en arrière est super facile: choisissez simplement l'ancienne génération au prochain redémarrage. Si vous jouez avec des configurations, vous vous retrouverez avec de nombreuses générations. Cependant, vous pouvez utiliser Nix-Collect-Garbage -D pour effacer la partition de démarrage (bien que vous les devez exécuter la commande Nixos-Rebuild!).

Gérer les révisions

Dans le magasin Nix, où tous vos logiciels sont stockés, vous avez un fichier pour chaque exécutable. À première vue, cette convention ne semble pas différente de celles adoptées par d'autres systèmes; Cependant, il y a une grande différence: chaque fois que vous mettez à niveau, un nouveau binaire est ajouté puis lié à votre profil, ce qui peut très rapidement conduire à un espace disque gaspillé.

Pour résoudre ce problème, il existe une autre option de collecte des ordures, qui est le même programme qui est utilisé avec l'ensemble du système. Si vous avez besoin d'anciennes révisions pour seulement une courte période de test, vous pouvez définir SystemCTL pour s'exécuter à un intervalle régulier. En outre, vous pouvez enregistrer l'espace disque en utilisant la commande 'Nix-Store -optimise', qui trouve des fichiers identiques dans le magasin et relie les fichiers vers ce fichier.

Configuration des environnements de développement

Au début, il semble difficile de développer des logiciels avec ce système. En fait, vous pouvez démarrer un shell avec un environnement de développement spécifique à chaque fois. Lorsque vous choisissez un environnement, Nix-Shell installera l'environnement dont vous avez besoin afin que vous puissiez démarrer un environnement spécifique pour un langage étrange que vous n'utilisez jamais ou créez un fichier qui collecte tout ce dont vous avez normalement besoin.

Docker et autres nuages

Nixos est un système d'exploitation et Nix est un gestionnaire de packages. Les deux travaillent ensemble pour fournir un processus de configuration simple et reproductible. En d'autres termes, si vous créez un fichier de configuration complet qui couvre tous vos besoins, vous pouvez l'utiliser pour votre prochaine machine.

La procédure d'installation commence par détecter le matériel. Dans la deuxième étape, vous définissez votre environnement et vos packages système à l'aide de la configuration.Fichier Nix. Une fois que vous aurez le contenu correct dans le fichier, l'installateur recréera le même système lorsque vous l'utilisez sur une deuxième machine.

Cette fonctionnalité est utile car, pour les systèmes réguliers, un nouveau disque n'a besoin que du fichier pour reconstruire votre système (en plus de la sauvegarde de votre fichier utilisateur, bien sûr). De plus, pour le cloud computing, vous avez un avantage encore plus grand: bien que les fichiers que vous devez écrire pour une image Docker sont vraiment longs, le fichier correspondant pour Nixos est court et facile à déplacer entre les systèmes. De plus, vous pouvez utiliser la fonction d'importation pour créer des fichiers NIX spéciaux pour vos configurations impaires et les importer dans votre configuration.

AppImage, Snap et Flatpak

Alors que Nixos a de nombreuses façons brillantes d'exécuter vos applications et de les séparer les uns des autres, beaucoup de logiciels sont livrés par d'autres moyens. Les applimages et Flatpak sont faciles à utiliser pour distribuer des packages. Heureusement, Nixos a des packages pour gérer ces formats, et vous pouvez installer ces packages pour exécuter vos appimages et FlatPak préférés. Vous pouvez définir les packages de votre configuration.NIX Fichier et les avoir disponibles lorsque vous en avez besoin.

Conclusion

Nixos semble intimidant car il n'a pas d'installateur graphique et vous devez créer un fichier de configuration. Cependant, ce n'est que dans Nixos que vous définissez les mêmes valeurs dans les deux cas. Pour sauvegarder un système NixOS, sans compter les fichiers utilisateur, un seul fichier est nécessaire. Avec ce fichier, le système recrée les packages et les paramètres. De plus, Nixos fournit une méthode intégrée pour exécuter un shell dans un environnement spécifique: utilisez simplement le même type de fichier! Dans le fichier par défaut.Nix, vous pouvez définir toutes vos bibliothèques et dépendances, puis exécuter Nix-Shell dans ce répertoire.

Ce système a beaucoup de potentiel. Essayez-le: vous pouvez commencer par votre propre distribution et le gestionnaire de packages NIX.