diff --git a/README.md b/README.md index 01553da..7b9aee0 100644 --- a/README.md +++ b/README.md @@ -45,3 +45,118 @@ Pour résoudre les soucis d'upgrade, il est conseillé : * d'ajouter `vim` aux paquets * de réactiver petit à petit les lignes désactivées + +# Installation sur machine chez online.net + +* https://nixos.org/wiki/Install_NixOS_on_Online.Net + +## Installation selon config online + +* commander serveur +* lancer la procédure d'installation avec ubuntu LTS 64bits +* partitionner le disque avec l'interface web +* lancer l'installation de l'os. +* attendre que la procédure standard d'installation d'online ait terminée +* lorsque l'install est finie, dans l'onglet "Etat" se trouve l'option "Secours" + +## Transformation en NixOS + +* relancer la machine en mode "Secours" +* choisir un linux 64bits (préférence pour ubuntu LTS) +* le système de boot donne des identifiants SSH pour le connecter à la machine + +* se connecter à la machine +* passer en root : sudo su - +* formater les partitions + + mkfs.ext4 -L nixos /dev/sda1 + swapoff -a + mkswap /dev/sda2 + swapon -a + +* monter les partitions dans /mnt + + mount /dev/sda1 /mnt/ + mkdir /mnt/etc/ + mkdir /etc/nixos + mkdir /mnt/nix + mount --bind /mnt/nix/ /nix + + +* installer les paquets nécessaires + + apt-get install bzip2 git byobu htop glances + +* création d'utilisateur (n'importe quil mot de passe) + + adduser nix + groupadd -r nixbld + for n in $(seq 1 10); do useradd -c "Nix build user $n" -d /var/empty -g nixbld -G nixbld -M -N -r -s "$(which nologin)" nixbld$n; done + +* mise-à-jour des certificats + + update-ca-certificates + +* installer nix + + chown -R nix /nix + su - nix + bash <(curl https://nixos.org/nix/install) + exit + +* créer un profil nix pour root & un channel + + . ~nix/.nix-profile/etc/profile.d/nix.sh + nix-channel --remove nixpkgs + nix-channel --add http://nixos.org/channels/nixos-unstable nixos + nix-channel --update + +* installer un editeur de texte + + nix-env -i vim_configurable + +* installation de nixos-install + + cat < /root/configuration.nix + { fileSystems."/" = {}; + boot.loader.grub.enable = false; + } + EOF + export NIX_PATH=nixpkgs=/root/.nix-defexpr/channels/nixos:nixos=/root/.nix-defexpr/channels/nixos/nixos + export NIXOS_CONFIG=/root/configuration.nix + nix-env -i -A config.system.build.nixos-install \ + -A config.system.build.nixos-option \ + -A config.system.build.nixos-generate-config \ + -f "" + +* configuration de NixOS + +si la machine existe déjà, cloner le dépôt dans /mnt/etc/nixos +pour cela, créer clef ssh et l'ajouter sur la forge + + ssh-keygen -t ed25519 + cp ~/.ssh/id_ed25519* /mnt/etc/nixos/ + + git clone <> + git submodule init + git submodule update + +* monter /etc/nixos vers /mnt/etc/nixos pour que la config clonée fonctionne + + mount --bind /mnt/etc/nixos/ /etc/nixos/ + +* mettre à jour la configuration matérielle + + export NIX_PATH=nixpkgs=/root/.nix-defexpr/channels/nixos:nixos=/root/.nix-defexpr/channels/nixos/nixos + nixos-generate-config --root /mnt + +* vérifier le /mnt/etc/nixos/configuration.nix + +notamment le périphérique utilisé par grub + +* installer le système sur le disque + + unset NIXOS_CONFIG + nixos-install + +