!NhAsaYbbgmzHtXTPQJ:funklause.de

Nix NodeJS

149 Members
47 Servers

Load older messages


SenderMessageTime
29 Aug 2024
@mat:matrix.matmoa.xyzmatHey, any idea if it's possible to build a npm project and then build a go module in a flake.nix ? I can't find anything at all about building web frontends as part of packages ... I can pre-build the frontend files and then use this flake to build the binary but having to commit pre-built static files is kinda silly .... https://github.com/MathieuMoalic/amumax/blob/main/flake.nix13:04:13
@winter:catgirl.cloudWinterjust build it in two derivations13:20:16
@mat:matrix.matmoa.xyzmatThanks, I think I made it work using two derivations, I am really new to this and I didn't know it could be as simple as that ^^'14:39:47
@greg:thehellings.comgregThere are several apps in nixpkgs that do exactly what you're discussing. I found them when I was trying and failing to get Homarr to build in Nix15:35:52
@greg:thehellings.comgreg Cook CLI does that, but with Rust instead of Go. Gotify seems to do what you're suggesting, mat 15:37:39
@greg:thehellings.comgreghttps://github.com/NixOS/nixpkgs/tree/master/pkgs/servers/gotify15:38:17
@mat:matrix.matmoa.xyzmatThanks!16:04:25
@adis:blad.is@adis:blad.is

It's actually not that hard to build it as one derivation.

buildGoModule {
  npmDeps = fetchNpmDeps { ... }; # Or use importNpmLock
  npmBuildScript = "build";
  nativeBuildInputs = with npmHooks; [ npmConfigHook npmBuilidHook npmInstallHook nodejs.python ]; # Or importNpmLock.npmConfigHook
}
23:27:55
@adis:blad.is@adis:blad.is ^ This kinda thing is a reason why we should move away from functional abstractions a la buildNpmPackage to stdenv hooks instead 23:29:27
@adis:blad.is@adis:blad.isIt's a bit too hard to grok composition currently23:29:38
@emilazy:matrix.orgemily(but why build one derivation when you can build two?)23:30:26
@adis:blad.is@adis:blad.is
In reply to @emilazy:matrix.org
(but why build one derivation when you can build two?)
I'm a bit of a derivation collector myself
23:34:11
@winter:catgirl.cloudWinter
In reply to @adis:blad.is

It's actually not that hard to build it as one derivation.

buildGoModule {
  npmDeps = fetchNpmDeps { ... }; # Or use importNpmLock
  npmBuildScript = "build";
  nativeBuildInputs = with npmHooks; [ npmConfigHook npmBuilidHook npmInstallHook nodejs.python ]; # Or importNpmLock.npmConfigHook
}
it's not i just forgot if buildGoModule fucks it up or not
23:50:25
@winter:catgirl.cloudWinter
In reply to @adis:blad.is
^ This kinda thing is a reason why we should move away from functional abstractions a la buildNpmPackage to stdenv hooks instead
providing both isn't bad when you don't need composition, which is why i provided both and not just one (...like Go...)
23:50:57
@adis:blad.is@adis:blad.is
In reply to @winter:catgirl.cloud
providing both isn't bad when you don't need composition, which is why i provided both and not just one (...like Go...)
I'm really of two minds about that. One the one hand, yes, you get more compact/convenient code.
OTOH it really gives you concept overload and it's actually harder to learn what's going on.
23:52:41
@adis:blad.is@adis:blad.isThe learning curve of the functional abstractions looks more like a cliff than a curve23:53:19
@emilazy:matrix.orgemilyI really dislike the custom builder functions.23:54:01
@emilazy:matrix.orgemilyI don't know that hooks are my preferred abstraction either but the idea of 1 derivation : 1 language is just broken23:54:11
@emilazy:matrix.orgemilyOTOH, any derivation that can easily be split up probably should be, and this is a perfect example23:54:23
@emilazy:matrix.orgemilyso it works out23:54:33
30 Aug 2024
@winter:catgirl.cloudWinterfor a long time, i've wanted to write Go setup hooks. but when i wanted to ask zowoq about it (since apparently they were also doing it), they told me to fuck off. it's been years since then, and it still hasn't happened... so...03:43:43
@winter:catgirl.cloudWinter * 03:43:55
@winter:catgirl.cloudWinternot really interested in helping to improve the Go situation03:44:04
@winter:catgirl.cloudWinteri'm glad mostly everything else has switched to at least providing setup hooks, though03:46:15
@adis:blad.is@adis:blad.isI'm tempted to tackle that similarly to https://github.com/NixOS/nixpkgs/issues/33370203:48:37
@emilazy:matrix.orgemilyNode.js could use a bit of the same treatment, I've noticed03:50:08
@emilazy:matrix.orgemilythough I think they had something closer to that in the past and replaced it?03:50:16
@adis:blad.is@adis:blad.isYeah it was.. Terrible.03:50:37
@emilazy:matrix.orgemilywhat if it was good instead? :)03:50:45
@adis:blad.is@adis:blad.isConceptually it doesn't have to be, but our setup was.03:50:50

Show newer messages


Back to Room ListRoom Version: 6