17 Sep 2021 |
@timdeh:matrix.org | ultranix: did you mean to ask wouldn't produce anything? I can't make sense of your question otherwise? | 00:39:14 |
18 Sep 2021 |
| @cw:kernelpanic.cafe joined the room. | 20:50:46 |
19 Sep 2021 |
David Arnold (blaggacao) | https://github.com/fluidattacks/makes/pull/584 - work on bud was the inspiration. | 19:10:11 |
20 Sep 2021 |
| @cw:kernelpanic.cafe changed their display name from CornWallace to Rev. CornWallace III. | 06:46:43 |
@zrsk:matrix.org | Hi to all, just found this project and I think it's really really cool, I was trying to convert my current configuration to this by splitting it into different profiles and suites so then I can add another configuration for my notebook. I'm doing this from another machine with NixOS. I simply cloned the repository and got the needed tools with nix develop (my system already had Nix with Flakes installed because I use them for single projects). I manually created a new host for my machine copying a subset of my old configuration.nix but when I run bud rebuild test (or simply bud rebuild I get:
/nix/store/fzl941j3a4i83bjqsk7g3ssfjg9fplj0-nixos-rebuild/bin/nixos-rebuild: line 12: exec: man: not found
This is the line 12. Any idea?
| 10:31:53 |
@zrsk:matrix.org | If I run man nixos-rebuild (however I can't understand why it's trying to run man , my syntax should be correct) in my shell it works (in the devos development shell too) but it runs another binary in another store's path:
[nixos]$ whereis nixos-rebuild
nixos-rebuild: /nix/store/zq1092igmd5y1jnj7dajifnxkz1gj3p0-system-path/bin/nixos-rebuild
[nixos]$ readlink /nix/store/zq1092igmd5y1jnj7dajifnxkz1gj3p0-system-path/bin/nixos-rebuild
/nix/store/5dkqp5c2v29i0qc9s6qvy7pbpa61fsqi-nixos-rebuild/bin/nixos-rebuild
| 10:39:52 |
@zrsk:matrix.org | I think that the reason is that bud tries to run nixos-rebuild with the --flake option but an version that doesn' | 10:59:11 |
@zrsk:matrix.org | * I think that the reason is that bud tries to run nixos-rebuild with the --flake option but an version that doesn't support flake. | 10:59:33 |
@zrsk:matrix.org | * I think that the reason is that `bud` tries to run `nixos-rebuild` with the `--flake` option but this version that doesn't support flake. | 11:03:53 |
David Arnold (blaggacao) | bud runs commands reproducibly in a complete isolated environment. So the only thing that can cause that, is as you correctly deducted, a variation of the binary itself in the nixpkgs version that bud uses. | 12:07:00 |
David Arnold (blaggacao) | bud.inputs.follows.nixpkgs = "nixos" (as in recent DevOS) instructs to use the same nixpkgs as uses DevOS as nixos input. | 12:08:58 |
David Arnold (blaggacao) | That, in turn is pinned to releas-21.05 by default. | 12:09:42 |
David Arnold (blaggacao) | If within this setup, it's not working, then it's a bug. 🤕 | 12:10:01 |
David Arnold (blaggacao) | If you're trying to use a different nixos version, it might work if you remove that line with follows since bud itself is pinned to nixos-21.05 if not overridden. | 12:12:06 |
David Arnold (blaggacao) | But that assumes that this nixos-21.05 ' nicos-rebuild is actually compatible with that other nixos version. I wouldn't give an unconditional guarantee, but probably it is. | 12:13:22 |
@zrsk:matrix.org | In reply to @blaggacao:matrix.org But that assumes that this nixos-21.05 ' nicos-rebuild is actually compatible with that other nixos version. I wouldn't give an unconditional guarantee, but probably it is. This would work because this way I'm going to use the nixos-21.05 commit inside the bud 's flake.lock , right? | 12:14:26 |
David Arnold (blaggacao) | Btw., this is one of the reasons why we've been discussing replacing those nixos tools with deploy-rs -- a generic, "flakes-native" profile (incl. system ) deployer. | 12:14:27 |
David Arnold (blaggacao) | In reply to @zrsk:matrix.org This would work because this way I'm going to use the nixos-21.05 commit inside the bud 's flake.lock , right? Almost: inside devos' flake.lock for the bud input. flake.lock always contains the entire dependency tree. | 12:15:30 |
David Arnold (blaggacao) | In this case, that would be duplicate versions of nixpkgs . | 12:15:52 |
David Arnold (blaggacao) | Usually, you'd be seeing something like nixpkgs_2 , etc. | 12:16:31 |
David Arnold (blaggacao) | Ah, sry. Your reply wasn't wrong. I just read it wrong 🙂😎 | 12:17:20 |
David Arnold (blaggacao) | In reply to @zrsk:matrix.org This would work because this way I'm going to use the nixos-21.05 commit inside the bud 's flake.lock , right? Yes! 😁 | 12:17:50 |
@zrsk:matrix.org | I wasn't clear, mea culpa. | 12:18:01 |
@zrsk:matrix.org | In reply to @blaggacao:matrix.org Btw., this is one of the reasons why we've been discussing replacing those nixos tools with deploy-rs -- a generic, "flakes-native" profile (incl. system ) deployer. This is too advanced for me now, I just started using DevOS, however I'll remember | 12:18:31 |
@zrsk:matrix.org | However commenting the line you told me didn't work, I exited the dev shell and I run nix flake update , then I re-entered in the dev shell to run bud rebuild test but same problem. | 12:19:50 |
@zrsk:matrix.org | When I re-entered with nix develop it re-built something (nix itself for sure, the command I mean) | 12:20:41 |
@zrsk:matrix.org | What am I missing? | 12:20:50 |
David Arnold (blaggacao) | It's simple. What it does:
- builds a profile locally
- pushes the closures over ssh
- runs the profile's switch mechanism over ssh (in the case of a typical nixpks system profile, that would be on of those nixos-* commands)
| 12:20:59 |
David Arnold (blaggacao) | (deploy-rs ) | 12:22:52 |
David Arnold (blaggacao) | What's you nix version? | 12:24:31 |