| 30 Dec 2021 |
raitobezarius | dans Nix, y a pas de « vraie installation » | 19:31:24 |
raitobezarius | est ce que tu es familier avec comment $PATH fonctionne ? | 19:31:30 |
Sebastien Chavaux | plus vraiment c'est un peu le soucis | 19:32:00 |
symphorien | nix-shell c'est comme bash -c 'source venv/bin/active; bash' | 19:32:42 |
symphorien | * nix-shell c'est comme bash -c 'source venv/bin/activate; bash' | 19:32:48 |
symphorien | si tu sors du shell les dépendances disparaissent | 19:32:59 |
Sebastien Chavaux | d'accord, | 19:33:09 |
raitobezarius | sous Linux (et ailleurs aussi), quand tu appelles un binaire ls par exemple, ton shell (bash par exemple) va chercher le chemin dans $PATH Nix utilise ça pour permettre de faire des virtualenv généralisés, quand tu fais un nix-shell, ça met temporairement dans ton $PATH le chemin des paquets que tu demandes
nix-env fonctionne pareil, sauf que ça le met dans virtualenv global (celui de ta session utilisateur) | 19:33:16 |
Sebastien Chavaux | c'est un peu comme l'environnement pip | 19:33:26 |
Sebastien Chavaux | c'est plus ou moins ça | 19:33:32 |
raitobezarius | comme pip install --user oui | 19:33:40 |
symphorien | ce que tu installes avec configuration.nix (environment.systemPackages = [ pkgs.foo ];) est ajouté dans le $PATH | 19:33:43 |
raitobezarius | sauf que là c'est l'équivalent du nix-env | 19:33:47 |
Sebastien Chavaux | oki la ça commence a rentrer | 19:33:54 |
raitobezarius | le nix-shell c'est l'équivalent de python3 -m virtualenv | 19:33:56 |
raitobezarius | * le nix-shell c'est l'équivalent de python3 -m venv | 19:34:01 |
raitobezarius | quand tu actives ton env, tu as tes dépendances, quand tu en sors, tu les as plus | 19:34:11 |
Sebastien Chavaux | oki la tu as touché pile poile ce que je comprends | 19:34:20 |
symphorien | et très important: ajouter une lib à environment.systemPackages ne fait rien, puisqu'il n'y a rien à mettre dans le $PATH | 19:34:41 |
raitobezarius | en pratique, tu n'as pas besoin d'avoir pelican dans ta session utilisateur globale, puisque tu veux utiliser pelican que par moments (e.g. quand tu travailles sur ton blog), d'où l'intérêt d'un nix-shell | 19:34:58 |
raitobezarius | ça permet d'avoir un système toujours propre avec que le strict nécessaire | 19:35:08 |
raitobezarius | (bien sûr si tu utilises pelican beaucoup et tout le temps, ça peut avoir du sens dans le mettre dans ton environment.systemPackages ou ton nix-env même s'il faut préférer home-manager en pratique mais baby steps :)) | 19:35:57 |
Sebastien Chavaux | je pige le principe, vraiment merci pour le temps pris | 19:36:38 |
raitobezarius | je t'en prie | 19:36:42 |
Sebastien Chavaux | merci ça fonctionne | 19:40:20 |
Sebastien Chavaux | Merci encore, j'ai farfouillé sur le net et vu des sites en parlé des nix-shell | 20:37:37 |
Sebastien Chavaux | https://ghedam-at.translate.goog/15490/so-tell-me-about-nix?_x_tr_sch=http&_x_tr_sl=en&_x_tr_tl=fr&_x_tr_hl=fr&_x_tr_pto=sc | 20:37:44 |
Sebastien Chavaux | allez bonne nuit et merci pour tout | 20:38:03 |
| 31 Dec 2021 |
| Jérémie Ferry joined the room. | 13:29:19 |
Jérémie Ferry | bonjour à tous. Je découvre ce chan, c'est cool de trouver un commu fr sur nix/nixos 😁 | 13:31:06 |