!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

121 Members
24 Servers

Load older messages


SenderMessageTime
14 Jul 2025
@corngood:corngood.comCorngood I was hoping extendMkDerivation would help with this sort of thing, but it doesn't. 18:32:48
@corngood:corngood.comCorngood I think the current situation is that override, overrideAttrs, and overridePythonAttrs don't really work together intuitively. 18:33:26
@gggkiller:matrix.orgGGG for the general refactoring I was planning for nuget deps, I think we could solve both problems with it, since I was planning to make it be something like nugetDeps = mkNugetDeps ...; which then the hook would read directory to access the folder with the nuget deps 18:33:45
@gggkiller:matrix.orgGGG that way it'd work with overrideAttrs and we wouldn't need to change anything to use finalAttrs 18:34:03
@gggkiller:matrix.orgGGG and we'd remove the indirection with addNugetDeps 18:34:11
@gggkiller:matrix.orgGGG (and as a bonus, make people able to change the patchPhase and fixupPhases of nuget deps) 18:34:40
@corngood:corngood.comCorngood addNugetDeps is there so that it can be used outside of buildDotnetModule 18:35:01
@gggkiller:matrix.orgGGG yeah, but I was thinking of making it its own builder instead of a wrapper around mkDerivation 18:35:28
@gggkiller:matrix.orgGGG like in the nodejs world there's mkYarnDeps 18:35:39
@gggkiller:matrix.orgGGG * like in the nodejs world there's mkYarnDeps and `mkNpmDeps 18:35:45
@gggkiller:matrix.orgGGG * like in the nodejs world there's mkYarnDeps and fetchNpmDeps 18:35:50
@corngood:corngood.comCorngoodwhat do you mean by "its own builder" exactly? like using plain stdenv?18:36:03
@gggkiller:matrix.orgGGG I mean as in making nugetDeps be a derivation that the builder then accesses to add the nuget deps to path, instead of a wrapper 18:36:33
@corngood:corngood.comCorngoodwhat is the builder though?18:36:49
@gggkiller:matrix.orgGGGthen move the nuget env setup to a hook18:36:50
@corngood:corngood.comCorngoodoh, you mean just with hooks? like a dotnet-sdk hook?18:37:19
@gggkiller:matrix.orgGGG yeah, make a hook to setup the nuget env to use the packages that will be in the path that will be passed with nugetDeps 18:37:45
@corngood:corngood.comCorngoodthat's mostly already done for e.g. avalonia18:38:03
@gggkiller:matrix.orgGGG instead of what we have with addNugetDeps, so that people have more control over how the nuget deps are set up and patched 18:38:03
@corngood:corngood.comCorngood configureNuget. there's just currently no buildPhase=dotnetBuildPhase or anything like that 18:38:35
@gggkiller:matrix.orgGGG oh, my bad, I misunderstood what addNugetDeps did, I misrembered what it did 18:39:39
@corngood:corngood.comCorngood I'm just not sure how you'd handle fetching without a wrapper around the derivation like addNugetDeps 18:39:46
@gggkiller:matrix.orgGGG I thought it set up env vars and stuff, but no, it just adds things to buildDeps 18:39:52
@corngood:corngood.comCorngoodyeah, just that and adding fetch-deps plus the derivation override that it uses for that18:40:22
@gggkiller:matrix.orgGGG my plan was to make something like nugetDeps = mkNugetRepo ./deps.json; and then a hook would set up the env var for dotnet restore to use 18:41:05
@corngood:corngood.comCorngoodI would really like things to be more composable. like avalonia with multiple npm projects and nuget deps18:41:09
@gggkiller:matrix.orgGGGexactly how it is done with npm and yarn18:41:22
@gggkiller:matrix.orgGGG because they aren't added to buildDeps afaik 18:41:45
@gggkiller:matrix.orgGGG I'm not sure if that's right or wrong (I assume wrong most likely), but that'd make it easier to override them out, because otherwise the only choice people would have is to filter out the old buildDeps 18:42:26
@gggkiller:matrix.orgGGG * I'm not sure if that's right or wrong (I assume wrong most likely), but that'd make it easier to override them out, because otherwise the only choice people would have is to filter out the old buildDeps and add new ones 18:42:38

Show newer messages


Back to Room ListRoom Version: 9