Last active
April 1, 2026 18:58
-
-
Save mausch/d1b13fb697bdd1d8e5f96144665eaaf6 to your computer and use it in GitHub Desktop.
linux-desktop-mcp
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| description = "Nix package for BeckhamLabsLLC/linux-desktop-mcp"; | |
| inputs = { | |
| nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; | |
| src-linux-desktop-mcp = { | |
| url = "github:BeckhamLabsLLC/linux-desktop-mcp/eaf67ca0e7c3841045e23bd80712af8b8754f82e"; | |
| flake = false; | |
| }; | |
| }; | |
| outputs = { self, nixpkgs, src-linux-desktop-mcp }: | |
| let | |
| supportedSystems = [ "x86_64-linux" "aarch64-linux" ]; | |
| forAllSystems = nixpkgs.lib.genAttrs supportedSystems; | |
| in | |
| { | |
| packages = forAllSystems (system: | |
| let | |
| pkgs = nixpkgs.legacyPackages.${system}; | |
| pythonPkgs = pkgs.python3Packages; | |
| in | |
| { | |
| linux-desktop-mcp = pythonPkgs.buildPythonApplication { | |
| pname = "linux-desktop-mcp"; | |
| version = "unstable-${nixpkgs.lib.substring 0 8 src-linux-desktop-mcp.rev or "dirty"}"; | |
| src = src-linux-desktop-mcp; | |
| pyproject = true; | |
| # Added hatchling and setuptools-scm to fix the BackendUnavailable error | |
| nativeBuildInputs = with pythonPkgs; [ | |
| hatchling | |
| setuptools-scm | |
| ]; | |
| propagatedBuildInputs = with pythonPkgs; [ | |
| mcp | |
| pygobject3 | |
| pyatspi | |
| ]; | |
| buildInputs = with pkgs; [ | |
| gobject-introspection | |
| at-spi2-core | |
| ]; | |
| makeWrapperArgs = [ | |
| "--prefix GI_TYPELIB_PATH : ${pkgs.gobject-introspection}/lib/girepository-1.0:${pkgs.at-spi2-core}/lib/girepository-1.0" | |
| "--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.xdotool pkgs.ydotool ]}" | |
| ]; | |
| doCheck = false; | |
| meta = with pkgs.lib; { | |
| description = "An MCP server for native Linux desktop applications using AT-SPI2"; | |
| homepage = "https://github.com/BeckhamLabsLLC/linux-desktop-mcp"; | |
| license = licenses.mit; | |
| platforms = platforms.linux; | |
| mainProgram = "linux-desktop-mcp"; | |
| }; | |
| }; | |
| default = self.packages.${system}.linux-desktop-mcp; | |
| } | |
| ); | |
| apps = forAllSystems (system: { | |
| default = { | |
| type = "app"; | |
| program = "${self.packages.${system}.linux-desktop-mcp}/bin/linux-desktop-mcp"; | |
| }; | |
| }); | |
| }; | |
| } |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://github.com/BeckhamLabsLLC/linux-desktop-mcp
Usage: