2019-10-19 12:55:35 +02:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
with pkgs;
|
|
|
|
let
|
2019-12-17 18:21:00 +01:00
|
|
|
dotnetCorePackages = (import (fetchFromGitHub {
|
2019-12-12 15:41:40 +01:00
|
|
|
name = "nixos-pr-dotnet-combined";
|
|
|
|
owner = "NixOS";
|
2019-10-19 12:55:35 +02:00
|
|
|
repo = "nixpkgs";
|
2019-12-17 18:21:00 +01:00
|
|
|
rev = "ea6469760d3d75bbcb55670168d9ad37742dadfa";
|
|
|
|
sha256 = "1n9ax1fm8pfzc782zak9sh4acawwdwcdykzm7qyp6iis4dd2ld0l";
|
|
|
|
}) {}).dotnetCorePackages;
|
2019-12-12 15:41:40 +01:00
|
|
|
dotnet-combined = with dotnetCorePackages; combinePackages {
|
|
|
|
cli = sdk_3_1;
|
2019-12-17 19:33:50 +01:00
|
|
|
withSdks = [ sdk_2_1 sdk_3_1 ];
|
|
|
|
withRuntimes = [ sdk_2_1 sdk_3_1 ];
|
2019-12-12 15:41:40 +01:00
|
|
|
};
|
2019-10-19 12:55:35 +02:00
|
|
|
in
|
|
|
|
{
|
2019-12-12 15:41:40 +01:00
|
|
|
nixpkgs.overlays = [
|
|
|
|
(self: super: {
|
|
|
|
omnisharp-roslyn = super.omnisharp-roslyn.overrideAttrs (oldAttrs: rec {
|
|
|
|
version = "1.34.9";
|
|
|
|
src = fetchurl {
|
|
|
|
url = "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v${version}/omnisharp-mono.tar.gz";
|
|
|
|
sha256 = "1b5jzc7dj9hhddrr73hhpq95h8vabkd6xac1bwq05lb24m0jsrp9";
|
|
|
|
};
|
|
|
|
});
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2019-10-19 12:55:35 +02:00
|
|
|
home.packages = [
|
2019-12-12 15:41:40 +01:00
|
|
|
dotnet-combined
|
2019-10-19 12:55:35 +02:00
|
|
|
omnisharp-roslyn
|
|
|
|
];
|
2019-10-21 16:50:10 +02:00
|
|
|
|
|
|
|
home.sessionVariables = {
|
2019-12-12 15:41:40 +01:00
|
|
|
DOTNET_ROOT = "${dotnet-combined}/bin";
|
|
|
|
MSBuildSdksPath = "${dotnet-combined}/sdk/3.1.100/Sdks";
|
|
|
|
MSBUILD_EXE_PATH = "${dotnet-combined}/sdk/3.1.100/MSBuild.dll";
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file.".omnisharp/omnisharp.json" = {
|
|
|
|
text = ''
|
|
|
|
{
|
|
|
|
"RoslynExtensionsOptions": {
|
|
|
|
"EnableAnalyzersSupport": true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
'';
|
2019-10-21 16:50:10 +02:00
|
|
|
};
|
2019-10-19 12:55:35 +02:00
|
|
|
}
|