| 20 Jul 2021 |
@gytis-ivaskevicius:matrix.org | Right, not sure if i showed you guys but this is neat: https://github.com/gytis-ivaskevicius/nixfiles/blob/master/overlays/shell-config/default.nix#L44-L46 | 19:21:07 |
David Arnold (blaggacao) | Gytis Ivaskevicius: is the target the editable path? | 19:21:54 |
@teutat3s:pub.solar | In reply to @blaggacao:matrix.org If a fix cold expose or clarify this upstream "shortcoming", that would be really useful. Maybe a prominent code comment or something. reading man nix.conf it sounds like extra-* is what we're looking for
A configuration setting usually overrides any previous value. However, you can prefix the name of the setting by extra- to append to the
previous value. For instance,
substituters = a b
extra-substituters = c d
defines the substituters setting to be a b c d. This is also available as a command line flag (e.g. --extra-substituters).
| 19:22:20 |
David Arnold (blaggacao) | In reply to @teutat3s:pub.solar
reading man nix.conf it sounds like extra-* is what we're looking for
A configuration setting usually overrides any previous value. However, you can prefix the name of the setting by extra- to append to the
previous value. For instance,
substituters = a b
extra-substituters = c d
defines the substituters setting to be a b c d. This is also available as a command line flag (e.g. --extra-substituters).
We'd have to test this. I suspect if it's | 19:22:56 |
@gytis-ivaskevicius:matrix.org | In reply to @blaggacao:matrix.org Gytis Ivaskevicius: is the target the editable path? No, it just opens store directory. The cool part is that it is overlays aware | 19:23:13 |
David Arnold (blaggacao) | In reply to @teutat3s:pub.solar
reading man nix.conf it sounds like extra-* is what we're looking for
A configuration setting usually overrides any previous value. However, you can prefix the name of the setting by extra- to append to the
previous value. For instance,
substituters = a b
extra-substituters = c d
defines the substituters setting to be a b c d. This is also available as a command line flag (e.g. --extra-substituters).
* We'd have to test this. I suspect if it's
extra-substituters = c d
extra-substituters = a
only a would be left?
| 19:23:21 |
David Arnold (blaggacao) | Gytis Ivaskevicius: I've to win you over for divnix/bud where we could land the users within the editable directory (if it's a custom pkg). Or we could even boostrap an overlay to modfy upstream in the appropriate local place. | 19:24:25 |
@gytis-ivaskevicius:matrix.org | ~
❯ nix-cd g-firefox
/nix/store/vdsgmh16gknhy47z0y39kk5yj2m7sw94-firefox-89.0.2
❯
| 19:24:26 |
David Arnold (blaggacao) | Something a la nix-j (jump) | 19:24:56 |
@gytis-ivaskevicius:matrix.org | In reply to @blaggacao:matrix.org Gytis Ivaskevicius: I've to win you over for divnix/bud where we could land the users within the editable directory (if it's a custom pkg). Or we could even boostrap an overlay to modfy upstream in the appropriate local place. what is exactly the goal of it? | 19:25:07 |
@gytis-ivaskevicius:matrix.org | one could mount overlayfs over /nix/store and make it editable 😀 | 19:25:24 |
David Arnold (blaggacao) | Like:
- "I want to modify my firefox"
nix-j firefox
- profit!
| 19:25:48 |
@gytis-ivaskevicius:matrix.org | And how are you expecting to do that? | 19:26:12 |
@gytis-ivaskevicius:matrix.org | you are aware of nix-store --verify, right? | 19:26:38 |
David Arnold (blaggacao) | target=$(nix eval --expr "(builtins.getFlake "flake:self").outputs.pkgs.${system}.nixpkgs.$1.outPath" --impure --raw)
base=$(nix eval --expr "(builtins.getFlake "flake:self").outPath" --impure --raw)
cd $FLAKEROOT/$(diffpath? target base)
| 19:28:08 |
David Arnold (blaggacao) | * target=$(nix eval --expr "(builtins.getFlake "flake:self").outputs.pkgs.${system}.nixpkgs.$1.outPath" --impure --raw)
base=$(nix eval --expr "(builtins.getFlake "flake:self").outPath" --impure --raw)
cd $FLAKEROOT/$(diffpath? target base)
(not sure what's the command for diffpath)
| 19:28:28 |
David Arnold (blaggacao) | * target=$(nix eval --expr "(builtins.getFlake "flake:self").outputs.pkgs.${system}.nixpkgs.$1.outPath" --impure --raw)
base=$(nix eval --expr "(builtins.getFlake "flake:self").outPath" --impure --raw)
cd $FLAKEROOT/$(diffpath? target base)
(not sure what's the command for diffpath, but you get the idea)
| 19:28:35 |
David Arnold (blaggacao) | Ah, no, wouldn't work. 🤣 | 19:29:08 |
@gytis-ivaskevicius:matrix.org | im interested in the editing part | 19:29:23 |
David Arnold (blaggacao) | ANyhow, it would be nice if we could make it wirk somehow... | 19:29:24 |
David Arnold (blaggacao) | * ANyhow, it would be nice if we could make it work somehow... | 19:29:30 |
@gytis-ivaskevicius:matrix.org | one could make fancy nix shell which just copies existing derivation and throws you into a shell | 19:29:41 |
@gytis-ivaskevicius:matrix.org | that would be simple and useful | 19:29:49 |
David Arnold (blaggacao) | In reply to @gytis-ivaskevicius:matrix.org im interested in the editing part in divnix/bud we have FLAKEROOT wich is guarantted to be the editable root of the system flake. | 19:29:55 |
@gytis-ivaskevicius:matrix.org | yeah, but werent you talking about editing any package? (like firefox) | 19:30:29 |
David Arnold (blaggacao) | In reply to @blaggacao:matrix.org in divnix/bud we have FLAKEROOT wich is guarantted to be the editable root of the system flake. regardless wether you are in a devshell or in a nixos system | 19:30:38 |
David Arnold (blaggacao) | In reply to @gytis-ivaskevicius:matrix.org yeah, but werent you talking about editing any package? (like firefox) In addition, we'd have to copy that over into the correct place within the flake repo. | 19:31:08 |
David Arnold (blaggacao) | In reply to @gytis-ivaskevicius:matrix.org yeah, but werent you talking about editing any package? (like firefox) * In addition, we'd have to copy (or wrap) that over into the correct place within the flake repo. | 19:31:21 |
@gytis-ivaskevicius:matrix.org | I can see it being useful for debuging, not for long term use tho | 19:31:59 |
@teutat3s:pub.solar | PR is out, feeback welcome https://github.com/divnix/digga/pull/93 | 19:32:26 |