<genesis>
si c'est installer en user a l'arrache faut faire comme on a dit `nix-channel --update && nix-env -u`
<mmatthieu>
Ben nixos-rebuild switch --upgrade met également home-manager à jour, chez moi.
<mmatthieu>
C'est hyper couteux.
<genesis>
j'utilise pas home-manager et malheuresement c'est pas qq chose de vraiment officiel
<genesis>
et j'en ai marre du manque d'unité sous nixos
<genesis>
pas mal de mecanisme devrait etre unifié voir simplement debuguer
<genesis>
t'as deja reussi a faire fonctionner ~/.nixpkgs/config.nix ?
<mmatthieu>
Ils n'ont qu'à l'intégrer :3
<genesis>
a la base c'est censé fonctionner aussi .
<mmatthieu>
Oui.
<genesis>
bien moi ca fonctionnait quand j'etais sous gentoo
<mmatthieu>
Ouais enfin, pour déployer tes dotfiles et configurer ton utilisateur, on repassera, hein.
<mmatthieu>
Là j'ai ma conf système et utilisateur qui est centralisée dans /etc/nixos
<mmatthieu>
ça me va très bien, d'installer ma machine avec un git clone suivi d'une bête mise à jour.
<genesis>
j'dis pas ils ont pas fait home-manager pour rien,j'dis juste que j'aime pas les projets hors du groupe nixos
<genesis>
j'test pas musnix, j'améliore nixpkgs.
<genesis>
mouai moi j'ai eu la meme install de gentoo pdt 10 ans, j'suis pas sur que ca vaut l'investissement juste pour reinstaller une machien
<mmatthieu>
Ben ça... Tu peux pas empêcher les gens de ne pas être d'accord et de faire leur truc de leur côté
<mmatthieu>
c'est pour ça qu'il y a devuan, ubuntu, mint et compagnie.
<genesis>
je dis pas, je dis que je fais le choix pour le moment de garder les mecanismes officiels.
<genesis>
oui bien ca fait 20 ans que je suis dans l'opensource, et je suis fatigué du manque de rationalisation des ressources
<genesis>
si home-manager ca fonctionne, on l'integre et on le met de base
<genesis>
tout le reste ca ne fait confondre les gens.
<genesis>
sauf qu'il y a tjs des ptits gars qui seront pas satisfait parce que c'est pas eux qui ont pondu le code
<genesis>
et des guerres d'égo sans fin, ca n'est que ca les types dans l'opensource
<genesis>
des conservateurs minables qui veulent pas lire deux docs sur system-D, pulseaudio etc et qui chie dessus au lieu de s'y mettre
<mmatthieu>
Ah ben oui, mais ça c'est partout, et pas que dans le code.
<genesis>
oui c'est sure mais mon domaine c'est ca alors j'en parle :-)
<samueldr>
genesis: je t'invite à réduire la injures dans tes fortes opinions s'il-te-plait :)
<samueldr>
et les attaques, du même coup
<genesis>
samueldr : serieux j'ai dis "minable" on est deja dans le délit de blaspheme, j'ai cassé le safe space ?
<samueldr>
c'est pas une question de safe space, mais de registre de langue dans le discours
<genesis>
j'veux bien faire gaffe, mais j'ai pas utilisé de grossierté, alors la je crois qu'on depasse le cap ...
<samueldr>
comme tu le sens, j'approchais le sujet avant que "ça se chie dessus" encore, et que ça dépasse
<mmatthieu>
Et sinon, si tu mutualises les ressources dans un projet commun, ben ça devient plus compliqué à gérer. Moi j'trouve ça cool de pouvoir dire que tu trouves qu'il manque un truc dans un projet, et de pouvoir le faire de ton côté. Si y'avait pas ça, ben t'aurais probablement pas le quart des outils que tu utilises au quotidien. on peut trouver ça dommage, mais pas vraiment dommageable, IMHO.
<genesis>
mmatthieu : c'est vraiment discutable, les projets meurent vraiment tres vite fautes de bras, souvent ce qui fait qu'un projet dure c'est plus la patience que le génie
<genesis>
hier je packageais une dependance de cadence par exemple
<{^_^}>
#81174 (by bignaux, 1 day ago, closed): [wip] indicator-cpufreq: init at bzr 98
<genesis>
c'est un bon exemple tout frais, bon c'est un service python autour de cpufreq(utils)
<mmatthieu>
C'est la vie ça, c'est aussi pour ça que le FOSS c'est cool, c'est que si personne n'utilise <TRUC> alors <TRUC> meurt.
<genesis>
bon on a fermé mon issue parce que jugé pas maintenu, et en effet, cpufreq est déprécié pour cpupower
<mmatthieu>
Et c'est le choix consenti des utilisateurs. Parfois un abandon, mais quand un projet est largement utilisé, ben y'a pas d'abandon.
<mmatthieu>
"choix consenti", c'est un peu pourri comme formule, mais tu vois l'idée.
<genesis>
si y a des abandons sur des composants majeurs, parce que la plupart des gens font tjs les memes logiciels qui fait bander : les mecs d'epita font des compilos, d'autres font des editeurs, et puis y a ceux qui font dbus et personne pour le petit composant la qui mérite qu'on le maintienne
<genesis>
y a des trucs la t'utilise au quotidien, ca fait 15 ans que le code n'a pas eu un oeil.
<mmatthieu>
Tu parles des frameworks javascript, là ?
<mmatthieu>
:D
<genesis>
:3
<genesis>
et qui s'occupent le plus de ces composants un peu oublié ? les grosses distributions.
<mmatthieu>
Brèfle, tout ça pour dire qu'avoir le choix c'est cool. Et qu'avoir la possibilité de créer ce dont tu as l'impression qu'il manque, c'est encore plus cool. C'est les utilisateurs qui feront le choix ensuite.
<genesis>
pas seulement, si tu t'appelles mark shuttleworth, tu peux tromper le libre choix en deversant des millions sur des choix logiciels douteux
<mmatthieu>
M'enfin pour reprendre tes exemples concernant les compilateurs, c'est toujours les trucs les plus anciens qui persistent, je trouve.
<mmatthieu>
Le nouveau truc tout beau tout neuf, dans 2 ans tout le monde est parti sur autre chose.
<mmatthieu>
J'vois tous les compilos python là, cython, pypy, pythran, jython toussa, ben s'il doit y en avoir un qui meurt, ça sera certainement pas cpython.
<genesis>
faut voir, pypy c'est une bonne idée :)
<mmatthieu>
Ben on a testé aujourd'hui avec un collègue, il manque plein de trucs.
<genesis>
jython c'etait des besoins particuliers, pour profiter du jit sur certaines archis adaptés aux puces (smartphone etc)
<mmatthieu>
psycopg2 qui fonctionne pas, faut utiliser un obscur fork et tout...
<genesis>
et sinon t'en pond des expressions nix ? il se fait tard et j'aimerais torché un truc
<mmatthieu>
Non
<mmatthieu>
d'ailleurs je voulais te demander
<mmatthieu>
Je ne connais pas le langage Nix, ni rien, mais j'aimerais bien m'impliquer.
<mmatthieu>
Des bonnes ressources à me proposer pour mettre le pied à l'étrier ?
<genesis>
c'est ballot, et samueldr a part faire du tone policing, ca te dirait de m'filer un coup de main ?
<genesis>
pas mal ce truc j'ai pas fini d'ailleurs, j'trouve plus
<mmatthieu>
Nixos je l'utilise au quotidien depuis un an en gros. Sans dire que je maitrise, la démystification est "faite".
<samueldr>
autrement, personnellement, le meilleur moyen, mais qui peut parfois s'avérer difficile, c'est d'y plonger tête première
<samueldr>
ah, alors apprendre quoi?
<samueldr>
y'a une partie dans tout ça qui n'est pas documentée, c'est "packager des choses"
<mmatthieu>
Ben, c'est pas parce que je configure ma machine que je saurais où chercher pour contribuer, haha
<samueldr>
je crois que la majorité des contributeurs utilisent leur expérience hors-nixos comme base
<genesis>
samueldr : bon j't'explique, pour eviter d'executer une appimage pour l'extraire, j'utilise deja p7zip qui trouve le sous fichier, ou binwalk pour trouver l'offset
<mmatthieu>
Y'a eu qq bons articles de nokomprendo sur dlfp, mais je pense pas que ça puisse aider.
<genesis>
ce que je cherche a faire, c'est faire un vrai calcul de l'offset , via rabin2
<genesis>
(parce que c'est fun radare2 et que je prevois d'autres trucs pour nix avec)
<genesis>
j'essaye de trouver une solution la plus nix possible, et il se trouve que rabin2 -j sort du json
<samueldr>
ouf, tu me perds un peu, surtout que je suis en réalité en train de travailler présentement :)
<mmatthieu>
Ouais, j'ai pas une grosse expérience en contribution. La programmation fonctionnelle c'est encore un mot qui me fait peur (mais j'en ai déjà fait). Et je crois que ça suffit, haha.
<samueldr>
je pense pas qu'il y ait d'helpers "binaires" dans nix/nixpkgs vraiment
<genesis>
c'est rien pour toi samueldr , de la ptite biere toussa
<genesis>
bon en gros j'cherche a faire ca :
<samueldr>
mmatthieu: j'ai pas d'expérience en langage fonctionnel autre que nix sous la ceinture
<samueldr>
mais j'utilisais déjà les concepts fondamentaux dans des langages qui ne sont pas purement fonctionnels
<samueldr>
ça ne passera pas dans nixpkgs puisque ça nécessite une IFD je crois ça
<samueldr>
import from derivation, pour évaluer ta dérivation, tu dois en premier exécuter ta dérivation qui appelle rabin2, prendre le résultat, et l'utiliser dans nix
<samueldr>
ça peut se faire tout ça, mais ça casse si on fait l'eval et le build en étapes séparées
<samueldr>
comme sur hydra (et ofborg)
<samueldr>
l'entièreté de nixpkgs doit être évaluée avant un premier build
<samueldr>
pour évaluer le buitins.fromJSON, un build doit être exécuté
<genesis>
hum
<genesis>
oui c'est pour mettre ca dans une nix expression, dans ./pkgs/applications/networking/p2p/soulseekqt/default.nix
<samueldr>
je crois que l'astuce, dans cette situation générale, c'est de tout gérer ça en bash dans le build, ou d'avoir un script plus spécialisé
<samueldr>
ben, je dis en bash, je veux dire, dans les buildPhase etc... où tu peux utiliser par exemple jq
<genesis>
ouai mais alors du coup j'peux pas utiliser buitins.fromjson
<samueldr>
exact
<genesis>
ouai d'ou jq
<genesis>
j'voulais eviter parce que le but c'etait d'avoir un truc plus pure :D
<samueldr>
ouais, je comprends :)
<genesis>
bon j'crois que c'est mort , j'ai regaré runCommand ca a pas l'air d'etre fifou pour recuperer la sortie
<samueldr>
rien ne t'empêche de faire un outil spécifique qui sert à abstraire ça
<samueldr>
runCommand est un raccourci vers une dérivation qui est le résultat d'un script
<genesis>
je prefere me concentrer pour que les gens arretent d'utiliser ./pkgs/build-support/appimage/default.nix
<genesis>
ouai d'ou les writeScript dans les expressions pour ecrire un script puis faire le runCommand, moi j'm'y fais pas :)
<genesis>
(le souci avec ./pkgs/build-support/appimage/default.nix c'est qu'on exécute du code random pour extraire une info qui est juste la taille de l'executable, apres avoir fait un patchelf , un FHS etc)
<genesis>
bon let's go jq, merci samueldr .
<genesis>
serait rigolo d'ecrire un patchelf en radare2