/ flake.nix
flake.nix
1 { 2 description = "mcp server for arxiv (original code base: https://github.com/blazickjp/arxiv-mcp-server"; 3 4 inputs = { 5 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 6 flake-utils.url = "github:numtide/flake-utils"; 7 }; 8 9 outputs = 10 { 11 self, 12 nixpkgs, 13 flake-utils, 14 ... 15 }: 16 let 17 deps = import ./deps; 18 in 19 flake-utils.lib.eachSystem [ "x86_64-linux" "aarch64-linux" ] ( 20 system: 21 let 22 pkgs = import nixpkgs { 23 inherit system; 24 config.allowUnfree = true; 25 overlays = [ 26 self.overlays.default 27 self.overlays.deps 28 ]; 29 }; 30 in 31 { 32 packages = (deps.packages pkgs) // { 33 inherit (pkgs) arxiv-mcp-server; 34 default = pkgs.arxiv-mcp-server; 35 }; 36 } 37 ) 38 // { 39 overlays = { 40 default = 41 final: prev: 42 let 43 mtime = self.lastModifiedDate; 44 date = builtins.substring 2 6 mtime; 45 rev = self.rev or (nixpkgs.lib.warn "Git changes are not committed" (self.dirtyRev or "dirty")); 46 version = "${date}+${builtins.substring 0 8 rev}"; 47 in 48 { 49 arxiv-mcp-server = final.callPackage ./default.nix { 50 inherit version; 51 }; 52 }; 53 deps = deps.overlay; 54 }; 55 hydraJobs = self.packages; 56 }; 57 }