vidéo peertube - vidéo youtube - dépôt git
NixOS 18.09
NixOS est une distribution linux reprenant les principes de la programmation fonctionnelle. Le système est configuré de façon déclarative en composant les différents réglages, ce qui facilite la mise-à-jour, la reproductibilité, le déploiement…
NixOS propose deux types de canaux logiciels : un canal de développement (unstable) et des releases fixées tous les 6 mois. Ce tutoriel présente la release 18.09 : nouveautés, installation complète, migration depuis une ancienne version.
Nouveautés de NixOS 18.09
mises-à-jour principales : nix-2.1, glibc-2.27, systemd-239, gnome-3.28, kde-5.13
ajout d’un support de firejail (système de sandboxing de sécurité)
support des canaux utilisateurs dans les commandes
nix-build
etnix-shell
mise-à-jour de nombreux paquets et services…
Installation
- booter sur l’image d’installation :
loadkeys fr
cfdisk /dev/sda # par exemple, sda1 pour / et sda2 pour swap
mkswap -L swap /dev/sda2
swapon /dev/sda2
mkfs.ext4 -L nixos /dev/sda1
mount /dev/sda1 /mnt
nixos-generate-config --root /mnt
nano /mnt/etc/nixos/configuration.nix # régler les options voulues
nixos-install
poweroff
- exemple de
configuration.nix
:
{ config, pkgs, ... }: {
imports = [ ./hardware-configuration.nix ];
boot.loader.grub = {
enable = true;
version = 2;
device = "/dev/sda";
};
networking.hostName = "nixos";
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "fr";
defaultLocale = "fr_FR.UTF-8";
};
time.timeZone = "Europe/Paris";
environment.systemPackages = with pkgs; [
firefox htop sudo vim wget
];
sound.enable = true;
hardware.pulseaudio.enable = true;
services.xserver = {
enable = true;
layout = "fr";
displayManager.lightdm.enable = true;
desktopManager.xfce.enable = true;
};
system.stateVersion = "18.09";
}
- la première fois, se connecter en root et créer un compte utilisateur (par exemple,
toto
) :
- se reconnecter avec le compte créé et ajouter une configuration utilisateur :
mkdir -p ~/.config/nixpkgs
nano ~/.config/nixpkgs/config.nix # écrire un paquet "myPackages"
nix-env -iA nixos.myPackages
- exemple de
config.nix
:
{
packageOverrides = pkgs: with pkgs; rec {
myPackages = buildEnv {
name = "myPackages";
paths = [
geany
python3Packages.glances
];
};
};
}
Migration depuis une version précédente
- mettre à jour la version dans le fichier de configuration système :
- sélectionner le canal 18.09 :
- lancer la migration :
- rebooter et mettre à jour la configuration utilisateur :
- si tout va bien, nettoyer le store de paquets :