You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			| 
				
					
						 | 
			9 years ago | |
|---|---|---|
| applications | 9 years ago | |
| configuration | 9 years ago | |
| iso-image | 9 years ago | |
| public | 9 years ago | |
| services | 9 years ago | |
| .gitignore | 10 years ago | |
| Makefile | 9 years ago | |
| README.md | 9 years ago | |
| base.nix | 9 years ago | |
| byobu-adminsys | 9 years ago | |
| config-generator.nix | 9 years ago | |
| module-template.nix | 9 years ago | |
| onchange | 9 years ago | |
| options.nix | 9 years ago | |
		
			
				
				README.md
			
		
		
			
			
		
	
	nixos-template-base
Versions de NixOS supportées :
- NixOS 16.09
 - NixOS unstable
 
Ce dépôt stocke une configuration générique des machines. Une recette dite "config-generator" adapte la configuration selon le nom de la machine (FQDN).
Actuellement, les scripts contiennent un peu de configuration spécifique pour les machines des mainteneurs.
Notes de mise-à-jour
pour l'utilisation de l'annuaire (2017-04-28)
- faire les mises à jour de l'OS
 - commiter & pusher l'état des dépôts (au cas où). Pour les différents dépôts 
git a,git commitpuismake tag push - mettre à jour les dépôts avec les dernières versions, 
make submodules-update - tester la configuration : 
nixos-rebuild build - corriger et ajouter les éléments manquant (notamment dans 
private/annuaire.nix) - vérifier que 
configuration.nixcontientservices.xserver.enable = true;pour les machines avec interface graphique - lorsque tout semble bon, vérifier :
- qu'il y a toujours des utilisateurs dans la configuration
 - que le moyen d'accéder à la machine n'a pas été supprimé (surtout les machines distantes)
 
 - lancer la commande de build de l'os : 
make:) 
pour le passage de 16.09 à unstable
- mettre à jour tous les dépôts
 - changer la branche de base vers 
nixos-unstable - changer la declaration de la machine dans 
configuration.nix 
networking.hostName = "<bidule>";
devient
r6d.computers.is<bidule> = true;
- mettre à jour le channel
 
nix-channel --add  https://nixos.org/channels/nixos-unstable nixos
nix-channel --update
- faire la mise à jour
 
make
pour le passage de 16.03 à 16.09
- mettre le dépôt base sur la branche upgrade-16.09
 - changer le channel nixos : 
nix-channel --add https://nixos.org/channels/nixos-16.09 nixos - activer x11 dans le configuration.nix
 
services.xserver.enable = true;
- remplacer le bootloader si gummiboot était utilisé
 
boot.loader.gummiboot.enable = true;
devient
boot.loader.systemd-boot.enable = true;
Pour résoudre les soucis d'upgrade, il est conseillé :
- de désactiver tous les imports (sauf 
hardware.nix) - d'ajouter 
.../localisation.nixdans les imports sous peine d'être en clavier US - d'ajouter 
nixpkgs.config.allowUnfree = true; - d'ajouter 
vimaux paquets - de réactiver petit à petit les lignes désactivées
 
Installation sur machine chez 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 <<EOF > /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 "<nixos>"
- 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