Skip to content

Instantly share code, notes, and snippets.

@mausch
Last active January 8, 2026 15:05
Show Gist options
  • Select an option

  • Save mausch/224a325491bb4487e4fe9944ec33fe6a to your computer and use it in GitHub Desktop.

Select an option

Save mausch/224a325491bb4487e4fe9944ec33fe6a to your computer and use it in GitHub Desktop.
dotnet-sherlock-flake.nix
{
description = "dotnet-sherlock-mcp MCP Server";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/723a7b8c5ec99cb2275aadf2fd83f65d2c6dd6ec";
flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = inputs @ { flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
perSystem = { config, self', inputs', pkgs, system, ... }: {
packages =
let
dotnet-sherlock-mcp = pkgs.fetchFromGitHub {
owner = "jcucci";
repo = "dotnet-sherlock-mcp";
rev = "main";
sha256 = "sha256-sEWXYsu8tAa011yKPuCMRi0rX6tlC88ZbNVDMBGol9w=";
};
runScript = pkgs.writeShellScriptBin "dotnet-sherlock-mcp" ''
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
# Create a temporary writable directory
WORK_DIR=$(mktemp -d)
trap "rm -rf $WORK_DIR" EXIT
# Copy entire repo to writable location
cp -r ${dotnet-sherlock-mcp}/* $WORK_DIR/
chmod -R +w $WORK_DIR
cd $WORK_DIR/src/server
exec ${pkgs.dotnet-sdk_10}/bin/dotnet run --framework net10.0 "$@"
'';
in
{
default = runScript;
};
apps.default = {
type = "app";
program = "${self'.packages.default}/bin/dotnet-sherlock-mcp";
};
};
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment