!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

124 Members
24 Servers

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


SenderMessageTime
28 Sep 2023
@magikarpz:matrix.orgmdarochawhy did you add dotnet-sdk to inputs? it should be already handled by buildDotnetModule14:26:08
@Joelixny:matrix.orgRuriI don't have a good answer other than seeing it somewhere and trying things to see what would work, let me give it a try without it14:28:38
@magikarpz:matrix.orgmdarocha overall the source seems a bit misconfigured 14:29:56
@magikarpz:matrix.orgmdarochait may require a bit of tweaking to make it work properly14:30:05
@Joelixny:matrix.orgRuriThe application source, I assume?14:30:26
@magikarpz:matrix.orgmdarochayup14:31:13
@magikarpz:matrix.orgmdarocha i’ll let you know if i figure something out 14:31:24
@Joelixny:matrix.orgRuriThank you o714:32:26
30 Sep 2023
@magikarpz:matrix.orgmdarocha

Ruri: managed to make it compile with the following code:

{
  lib,
  fetchFromGitHub,
  buildDotnetModule,
  dotnetCorePackages,
  mono,
  dotnet-sdk,
  openssh,
}:

buildDotnetModule rec {
  fullSrc =
    (fetchFromGitHub {
      owner = "Assistant";
      repo = pname;
      rev = "66649a2a343797a98f3228172ffc17052f5442d1";
      sha256 = "sha256-iG49/XLi3Skhp8NY5IAqSU5IfMj4y4GNIm2huewiu9Q=";
      fetchSubmodules = true;
    })
    .overrideAttrs (_: {
      GIT_CONFIG_COUNT = 1;
      GIT_CONFIG_KEY_0 = "url.https://github.com/.insteadOf";
      GIT_CONFIG_VALUE_0 = "git@github.com:";
    });

  pname = "Hive";
  version = "0.0.1";
  src = fullSrc;

  projectFile = "src/Hive/Hive.csproj";
  nugetDeps = ./deps.nix;

  dotnet-sdk = dotnetCorePackages.sdk_6_0;
  dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;

  dotnetInstallFlags = [ "--framework" "net6.0" ];
  #testProjectFile = "src/Hive.Test/Hive.Tests.csproj";

  meta = with lib; {
    homepage = "https://github.com/Atlas-Rhythm/Hive";
    description = "A general backend project for modding communities";
    license = licenses.agpl3Only;
  };
}
11:19:23
@magikarpz:matrix.orgmdarocha make sure you have update your nixpkgs reference, I'm using the current master branch (7b22218f11c9b8c3cc4b3baa97969201238d6783) and didn't encounter the problems you mentioned, think it got fixed in some PR some time ago 11:20:20
@magikarpz:matrix.orgmdarocha also rerun fetch-deps 11:20:24
@Joelixny:matrix.orgRuri
In reply to @magikarpz:matrix.org

Ruri: managed to make it compile with the following code:

{
  lib,
  fetchFromGitHub,
  buildDotnetModule,
  dotnetCorePackages,
  mono,
  dotnet-sdk,
  openssh,
}:

buildDotnetModule rec {
  fullSrc =
    (fetchFromGitHub {
      owner = "Assistant";
      repo = pname;
      rev = "66649a2a343797a98f3228172ffc17052f5442d1";
      sha256 = "sha256-iG49/XLi3Skhp8NY5IAqSU5IfMj4y4GNIm2huewiu9Q=";
      fetchSubmodules = true;
    })
    .overrideAttrs (_: {
      GIT_CONFIG_COUNT = 1;
      GIT_CONFIG_KEY_0 = "url.https://github.com/.insteadOf";
      GIT_CONFIG_VALUE_0 = "git@github.com:";
    });

  pname = "Hive";
  version = "0.0.1";
  src = fullSrc;

  projectFile = "src/Hive/Hive.csproj";
  nugetDeps = ./deps.nix;

  dotnet-sdk = dotnetCorePackages.sdk_6_0;
  dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;

  dotnetInstallFlags = [ "--framework" "net6.0" ];
  #testProjectFile = "src/Hive.Test/Hive.Tests.csproj";

  meta = with lib; {
    homepage = "https://github.com/Atlas-Rhythm/Hive";
    description = "A general backend project for modding communities";
    license = licenses.agpl3Only;
  };
}
Thanks! that nix code successfully builds even without updating my flake lockfile, setting the sdk and runtime and using the .csproj file instead of the solution seems to do the trick
14:31:22
16 Oct 2023
@emma:conduit.rory.gayEmma [it/its] ⚡️ joined the room.02:17:41
@emma:conduit.rory.gayEmma [it/its] ⚡️
{ pkgs ? import <nixpkgs> {} }:

pkgs.symlinkJoin {
  name = "dotnet-pack";
  paths = [ pkgs.dotnet-sdk_8 pkgs.dotnet-sdk_7 pkgs.dotnet-sdk ];
  postBuild = ''
    rm -rfv $out/bin
    rm -rfv $out/dotnet
    cp -rv ${pkgs.dotnet-sdk_8}/dotnet $out/
    cp -rv ${pkgs.dotnet-sdk_8}/bin $out/
  '';
}

wanted to share this derivation incase anyone ever needed to use multiple dotnet versions at once

02:18:11
@emma:conduit.rory.gayEmma [it/its] ⚡️
[Rory@Rory-desktop:/Rory-Open-Architecture]$ dotnet --list-sdks
6.0.414 [/nix/store/g0j4gcarcbqkxl3i14h4ls3qsmyjdc2m-dotnet-pack/sdk]
7.0.401 [/nix/store/g0j4gcarcbqkxl3i14h4ls3qsmyjdc2m-dotnet-pack/sdk]
8.0.100-rc.1.23455.8 [/nix/store/g0j4gcarcbqkxl3i14h4ls3qsmyjdc2m-dotnet-pack/sdk]
02:18:24

Show newer messages


Back to Room ListRoom Version: 9