Installation graphique de NixOS
Voir aussi : video youtube - code source
NixOS est une distribution Linux basée sur le gestionnaire de paquets Nix et la logithèque Nixpkgs. NixOS est particulièrement adaptée aux développeurs (entre autres), car elle permet de définir l’environnement logiciel d’un projet, de façon déclarative et reproductible.
Historiquement, NixOS était relativement compliquée à installer. En effet, il fallait utiliser la ligne de commande, configurer des fichiers en langage Nix et choisir parmi différentes méthodes de configuration. Mais depuis quelques temps, NixOS propose un installeur graphique, qui facilite grandement l’installation, et les outils de configuration ont gagné en maturité.
Cet article présente comment installer graphiquement NixOS et le configurer via Home-manager et les Flakes.
NixOS
Pour installer NixOS, il faut télécharger l’image ISO, en faire une clé usb bootable et démarrer sur cette clé.
Le processus d’installation est décrit dans la documentation (NixOS Manual - Graphical Installation) mais se fait très facilement. On lance l’installeur et on règle les options voulues (langues, fuseau horaire, clavier, environnement graphique, partitionnement…) :
L’installeur affiche ensuite un récapitulatif :
Puis on lance l’installation :
L’installateur indique la fin de l’installation :
On peut alors redémarrer sur le système installé :
Flakes
Les Nix Flakes sont une fonctionnalité assez récente de Nix pour définir et gérer des environnements logiciels. Ils sont encore en status expérimental mais sont souvent utilisés dans la communauté Nix.
Pour les activer, on peut ajouter la configuration suivante dans le fichier
/etc/nixos/configuration.nix
:
{
nix = package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
Puis mettre à jour le système :
# sudo nixos-rebuild switch
Home-manager
Home-manager permet de gérer l’environnement de travail de l’utilisateur. Pour l’installer, il suffit de lancer la commande Nix Flake suivante :
$ nix run home-manager/release-23.05 -- init --switch
Il ne reste plus qu’à configurer l’environnement voulu dans le fichier
~/.config/home-manager/home.nix
, par exemple pour ajouter le logiciel
geany
:
with pkgs; [
home.packages =
geany];
On met à jour avec la commande :
$ home-manager switch
Pour pouvoir installer des logiciels non-libres (par exemple Visual Studio
Code), il suffit de remplacer la déclaration de pkgs
dans le fichier
~/.config/home-manager/flake.nix
par :
import nixpkgs {
pkgs = inherit system;
config.allowUnfree = true;
};
Pour plus de détails sur Home-manager, voir les tutoriel 40 et tutoriel 45.
Conclusion
L’installation de NixOS est aujourd’hui grandement facilitée par l’installeur graphique et les Nix Flakes. Cependant la configuration via Home-manager n’est pas graphique et nécessite toujours d’éditer des fichiers Nix.
Il est peu probable que la configuration de NixOS soit un jour faisable 100% graphiquement mais il existe un projet (en développement) de distribution Linux basée sur Nix et accessible aux débutants : SnowflakeOS.