!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

128 Members
24 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
21 Apr 2025
@6pak:matrix.org6pak
dotnet-combined =
    (
      with pkgs.dotnetCorePackages;
      combinePackages [
        sdk_10_0-bin
        sdk_9_0-bin
        sdk_8_0-bin
      ]
    ).overrideAttrs
      (old: {
        src = old.src.overrideAttrs (old: {
          postBuild =
            (old.postBuild or "")
            # This is needed to install workload in $HOME
            + ''
              for i in $out/share/dotnet/sdk/*
              do
                i="$(basename $i)"
                i="''${i/-*}" # strip pre-release label
                i="''${i::-2}00" # strip patch

                mkdir -p "$out/share/dotnet/metadata/workloads/$i"
                touch "$out/share/dotnet/metadata/workloads/$i/userlocal"
              done
            '';
        });
      });

this works as a workaround for installing workloads in home

23:42:52
@6pak:matrix.org6pakideally build-dotnet.nix in nixpkgs should just add that file23:43:09
@gggkiller:matrix.orgGGGyeah, I might make a PR to do that23:43:22
@gggkiller:matrix.orgGGG

yeah, seems like only the source-built variants have that:

$ nix-locate userlocal               
dotnetCorePackages.dotnet_8.vmr.out                   0 r /nix/store/agr6lyqz3zp4a3llaa0sx1x1i624r55k-dotnet-vmr-8.0.14/dotnet-sdk-8.0.114-linux-x64/metadata/workloads/8.0.100/userlocal
dotnetCorePackages.dotnet_10.vmr.out                  0 r /nix/store/vfd744wlv3338igbai9q711p8647hn75-dotnet-vmr-10.0.0-preview.2/dotnet-sdk-10.0.100-preview.2.25164.1-linux-x64/metadata/workloads/10.0.100/userlocal
(dotnetCorePackages.dotnet_9.sdk.out)                 0 r /nix/store/d3cndkqm57ika3qb2abmvr5snr4fp6pc-dotnet-sdk-9.0.104/share/dotnet/metadata/workloads/9.0.100/userlocal
dotnetCorePackages.dotnet_9.vmr.out                   0 r /nix/store/b679fsfkc571n08cr95zsrh0xgzbn3q4-dotnet-vmr-9.0.3/dotnet-sdk-9.0.104-linux-x64/metadata/workloads/9.0.100/userlocal
(dotnet-sdk_10.out)                                   0 r /nix/store/k1qkscqxcvs801bqihl9rwjm19dpr2xs-dotnet-sdk-10.0.100-preview.2.25164.1/share/dotnet/metadata/workloads/10.0.100/userlocal
(dotnetCorePackages.dotnet_8.sdk.out)                 0 r /nix/store/1nqkg50ljc7rxvhg58f8iws7nqb5mwxa-dotnet-sdk-8.0.114/share/dotnet/metadata/workloads/8.0.100/userlocal
23:44:09
@6pak:matrix.org6pakI hope it just changes the install path but still also discovers workloads from system paths23:44:31
@6pak:matrix.org6pakfor future declarative workloads23:44:41

Show newer messages


Back to Room ListRoom Version: 9