Created: 2023-11-15 mer. 12:28
https://zero-to-nix.com/start/install
nix avec le support des flakes activé
curl --proto '=https' --tlsv1.2 -sSf -L \ https://install.determinate.systems/nix \ | sh -s -- install # open new shell nix --version # lance nix-daemon # qui répond aux commandes nix # en réalisant des choses dans /nix/store
json + fonctions + template repl disponible
nix repl nix-repl> pkgs = import <nixpkgs> {} # version on current system nix-repl> s = "pour trouver curl, regarde dans ${pkgs.curl}" nix-repl> s "pour trouver curl, regarde dans /nix/store/yw7b9hfqivbkfnz36bjn3pi4x83d27m6-curl-8.1.1-bin" nix-repl> find = name: "pour trouver ${name}, regarde dans ${pkgs.${name}}" nix-repl> find "curl" "pour trouver curl, regarde dans /nix/store/yw7b9hfqivbkfnz36bjn3pi4x83d27m6-curl-8.1.1-bin" nix-repl> find "bash" "pour trouver bash, regarde dans /nix/store/8fv91097mbh5049i9rglc73dx6kjg3qk-bash-5.2-p15"
le profile d’un utilisateur est rendu disponible par un lien dans son home
ls -ld ~/.nix-profile lrwxrwxrwx - gamba 29 août 2022 /home/gamba/.nix-profile -> /nix/var/nix/profiles/per-user/gamba/profile
$ nix profile install nixpkgs#curl $ which curl ~/.nix-profile/bin/curl $ realpath $(which curl) /nix/store/0g1lq3vff290wainxdlbz9a18m28pr4r-curl-8.4.0-bin/bin/curl
ouvrir un shell avec un ensemble d’outils disponibles
$ wg command not found $ traceroute command not found $ nix shell nixpkgs#wireguard-tools nixpkgs#traceroute $ traceroute -V Modern traceroute for Linux, version 2.1.3 Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any later $ wg version wireguard-tools v1.0.20210914 - https://git.zx2c4.com/wireguard-tools/ $ exit $ wg command not found
https://plmlab.math.cnrs.fr/nix/bash-gitlab
nix profile install git+https://plmlab.math.cnrs.fr/nix/bash-gitlab ls -l ~/.nix-profile/lib/bash/gitlabAPIBashLib .r--r--r-- 4,9k root 1 janv. 1970 /home/gamba/.nix-profile/lib/bash/gitlabAPIBashLib source ~/.nix-profile/lib/bash/gitlabAPIBashLib
slurm avec détection des drivers nvidia installés par une debian
https://plmlab.math.cnrs.fr/calcul/slrum-nvml
nix profile install git+https://plmlab.math.cnrs.fr/calcul/slurm-nvml#slurm-with-nvml # very long # binary cache needed !! $ srun -V slurm 21.08.8-2
nix sur une distro étrangère
on ne peut pas directement :
pour utiliser nix sur un système non nixos en remplacement de puppet/ansible
flake, avec :
un script d’activation pour installer dans le système des choses définies dans le langage nix :
installer des services systemd
Utilisation (en mode développement)
Ou alors directement (config validée)
nix run git+https://plmlab.math.cnrs.fr/nix/nix-on-foreign