nixos-config/home/common/dotnet.nix

44 lines
1.1 KiB
Nix

{ config, pkgs, ... }:
with pkgs;
let
dotnet-combined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_2_1 ];
dotnetRoot = "${dotnet-combined}/bin";
dotnetSdk = "${dotnet-combined}/sdk";
dotnetBinary = "${dotnetRoot}/dotnet";
in
{
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";
};
});
})
];
home.packages = [
dotnet-combined
omnisharp-roslyn
];
home.sessionVariables = {
DOTNET_ROOT = dotnetRoot;
MSBuildSdksPath = "${dotnetSdk}/$(${dotnetBinary} --version)/Sdks";
MSBUILD_EXE_PATH = "${dotnetSdk}/$(${dotnetBinary} --version)/MSBuild.dll";
};
home.file.".omnisharp/omnisharp.json" = {
text = ''
{
"RoslynExtensionsOptions": {
"EnableAnalyzersSupport": true
}
}
'';
};
}