23 Nov 2024 |
@exaltia:matrix.org | Download flake.nix | 20:45:37 |
@exaltia:matrix.org | j'ai ajouté ce qu'il fallais (normalement), j'ai tentée un sudo nixos-rebuild dry-run
Qui m'a donné ce résultat
building the system configuration...
error:
… while calling the 'seq' builtin
at /nix/store/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-source/lib/modules.nix:322:18:
321| options = checked options;
322| config = checked (removeAttrs config [ "_module" ]);
| ^
323| _module = checked (config._module);
… while calling the 'throw' builtin
at /nix/store/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-source/lib/modules.nix:298:18:
297| ''
298| else throw baseMsg
| ^
299| else null;
error: The option `description' does not exist. Definition values:
- In `/nix/store/gv6xj00nqas9kilrycyyigm01hppgmw5-source/umu.nix': "umu universal game launcher"
j'ai aussi tentée un sudo nix run .#umu sans succès non plus
error: flake 'path:/etc/nixos' does not provide attribute 'apps.x86_64-linux.umu', 'packages.x86_64-linux.umu', 'legacyPackages.x86_64-linux.umu' or 'umu'
| 20:45:44 |
@exaltia:matrix.org | Je... désolée.. je savais pas qu'il allais me créér un message par fichier envoyé :/ | 20:46:07 |
Alex | J'ai du mal à télécharger ces fichiers (un problème avec mon client Matrix), mais cette erreur me semble provenir de umu.nix .
Si tu utilises quelque chose comme Git pour ta configuration, un git diff qui ressemble à ça devrait fonctionner :
--- a/flake.nix
+++ b/flake.nix
@@ -7,14 +7,19 @@ inputs = {
nixpkgs-unstable = {
url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
+ umu = {
+ url = "git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging\/nix&submodules=1";;
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
};
- outputs = { self, nixpkgs, nixpkgs-unstable }: {
+ outputs = { self, nixpkgs, nixpkgs-unstable, umu }: {
nixosConfigurations = {
patatuchi-vi = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
--- a/configuration.nix
+++ b/configuration.nix
@@ -10,1 +10,2 @@
environment.systemPackages = [
+ (inputs.umu.packages.${pkgs.system}.umu.override {version = "${inputs.umu.shortRev}";})
(La section configuration.nix est complètement imaginée.)
Toute autre chose ne devrait pas être nécessaire, mais il est possible qu'il faut aussi passer l'input umu ou plus généralement inputs aux modules avec _module.args . | 21:11:34 |
@exaltia:matrix.org | Si tu les veux vraiment, je peux te les mettre temporairement sur mon nextcloud | 21:11:59 |
@exaltia:matrix.org | Je suis une mauvaise élève, je n'ai toujours pas passée ma config sur git.
je vais essayer ca, et si ca fonctionne toujours pas , tant pis, je laisserai tomber. | 21:15:40 |
@exaltia:matrix.org | Merci de ton aide en tout cas | 21:16:36 |
Alex | C'est utile parce-que tu peux faire tous les changements que tu veux et si à la fin ça ne marche toujours pas, un simple git restore revient a ce qui fonctionne.
Et c'est plus facile d'aider quelqu'un qui peut partager un Git de leur configuration. | 21:17:49 |
@exaltia:matrix.org | Tu as entièrement raison la dessus :) | 21:18:21 |
24 Nov 2024 |
Bruno Adele | Cela n'a rien à voir avec le problème de exaltia , mais je voulais partager une astuce pour ceux qui utilisent flake et nix shell .
Dans le cadre de mon projet nix-homelab (https://github.com/badele/nix-homelab), je gère l'ensemble de mon parc avec ce système. Cependant, il m'arrive parfois de vouloir installer des logiciels temporairement. Pour cela, j'utilise la commande :
nix shell nixpkgs#devpod .
Malheureusement, le dépôt nixpkgs peut différer entre le nix flake metadata et le nix registry list .
Pour assurer une cohérence entre mon flake et le registry, j'utilise la commande suivante :
nix registry pin nixpkgs github:NixOS/nixpkgs/$(nix flake metadata --json | jq -r '.locks.nodes."nixpkgs".locked.rev')
Cette commande synchronise la version du commit utilisé dans mon flake avec celle du registry.
| 08:05:12 |
Alex | Le registry peut être ajusté directement dans NixOS.
Comme ça il n'y a pas besoin de le faire manuellement chaque fois qu'on change flake.lock . | 09:14:56 |
Bruno Adele | In reply to @alex:tunstall.xyz
Le registry peut être ajusté directement dans NixOS.
Comme ça il n'y a pas besoin de le faire manuellement chaque fois qu'on change flake.lock . Pourtant, j'utilise ceci
nix = {
# Add all flake inputs to registry / CMD: nix registry list
registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
# Add all flake inputs to legacy / CMD: echo $NIX_PATH | tr ":" "\n"
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}")
config.nix.registry;
# package = pkgs.nix;
gc = {
automatic = true;
dates = "weekly";
};
};
Mais en répondant, je pense que je n'ai pas ceci dans la section homeConfiguration , je pense que mon problème vient de la. Donc merci Alex pour ta réponse, je pense que tu m'as mis sur la piste afin de résoudre définitivement ce problème qui me suivait depuis des mois :)
| 11:14:33 |
Bruno Adele | Pour ce qui veulent voir comment on configure nix.registry automatiquement depuis les inputs du fichier flake (le code est identique que ce soit dans le systeme wide ou user environement)
https://github.com/badele/nix-homelab/commit/3837bca05a44b4c86cabbb1cd08668c039cff030
| 12:08:00 |
25 Nov 2024 |
nim65s | Hum, je vois juste un talk guix et 0 nix aux JRES: https://2024.jres.org/programme | 17:14:21 |
nim65s | je vais proposer un ligthning talk je pense | 17:14:27 |
26 Nov 2024 |
Aevoo | (Hello) Certains on adopté Guix, ici ? | 08:18:51 |
28 Nov 2024 |
Bruno Adele | In reply to @aevoo:matrix.org (Hello) Certains on adopté Guix, ici ? Et donc ·☽•Nameless☆•777 · ± Par rapport à Nix ca donne quoi ? 😁 | 14:06:19 |
| * Aevoo pense qu'on devrait mettre nos échanges entre parenthèses 🫢 | 14:10:45 |
@nam3l33ss:matrix.org | In reply to @badele:matrix.org Et donc ·☽•Nameless☆•777 · ± Par rapport à Nix ca donne quoi ? 😁 En réalité le Smiley c'était juste pour saluer Aevoo :) | 16:12:30 |
@nam3l33ss:matrix.org | J'avais jeté un œil à GUIX, le langage utilisé pour la configuration m'a semblé plus difficile à apprendre que Nix x] | 16:12:41 |
Bruno Adele | Mon dieu, déja que le language Nix c'est quand même chelou parfois :)
GUIX, ce n'est pas basé sur le langue des ))))))))))))))))))))) ? :) | 16:13:57 |
Aevoo | Du Scheme, oui. Même ressenti que toi, ·☽•Nameless☆•777 · ± . Je trouvais ça cool que cela (Guix) s'appuie sur un language existant, mais... Scheme, puis le travail de la communauté Nix 😍 | 16:24:39 |
@nam3l33ss:matrix.org | In reply to @aevoo:matrix.org Du Scheme, oui. Même ressenti que toi, ·☽•Nameless☆•777 · ± . Je trouvais ça cool que cela (Guix) s'appuie sur un language existant, mais... Scheme, puis le travail de la communauté Nix 😍 Comme je ne m'en souvenais plus, j'ai regardé la doc et oui c'est plein de parenthèses 😄 | 16:27:08 |
Aevoo | (define-module (gnu packages hello)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages gawk))
(define-public hello
(package
(name "hello")
(version "2.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/hello/hello-" version
".tar.gz"))
(sha256
(base32
"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--enable-silent-rules")))
(inputs (list gawk))
(synopsis "Hello, GNU world: An example GNU package")
(description "Guess what GNU Hello prints!")
(home-page "https://www.gnu.org/software/hello/")
(license gpl3+)))
| 16:28:21 |
Aevoo | (voilà) | 16:28:40 |
nbp | L'avantage ou le désavantage de Nix, c'est qu'il est prévu pour ne pas faire d'effet de bord.
Il n'y a pas moyen de faire du TCP, d'écrire un fichier, de faire des entrée sorties avec Nix.
Alors oui c'est contraignant, mais c'est un avantage formidable en ce qui concerne le fait de contraindre avec certitude les entrées qui contribute à l’exécution d'un programme. | 16:29:01 |
nbp | Le désavantage, c'est qu'il n'y a pas d'outil existant pour le manipuler simplement. | 16:29:36 |
nbp | * Un désavantage, c'est qu'il n'y a pas d'outil existant pour le manipuler simplement. | 16:29:44 |
nbp | Alors oui, on peux créer des fichier dans le /nix/store … mais c'est volontairement restrictif, et ce n'est pas nécessaire pour l'éxecution. (et que personne ne me parle de import-from-derivation) | 16:32:21 |
Aevoo | Si on reprend ton raisonnement, nbp , je ne vois pas le fait qu'on ne puisse pas le manipuler simplement, comme un désavantage. ça forte le côté déclaratif, au lieu de coder la génération des nix | 16:33:21 |