cratedocs-mcp/flake.nix
Harald Hoyer ec38ec5e96
Some checks failed
Rust / build (push) Failing after 14s
refactor(flake): update namespace and improve overlay structure
- Renamed namespace from "hello" to "cratedocs" for better clarity.
- Optimized overlay definitions and improved package structure resolution.
- Added `cratedocs-mcp` to overlays for streamlined integration.
2025-05-27 17:09:46 +02:00

46 lines
1.5 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay";
};
outputs = { self, nixpkgs, rust-overlay, ... }:
let
namespace = "cratedocs";
overlays = [ rust-overlay.overlays.default ];
forEachSystem = systems: f: nixpkgs.lib.genAttrs systems f;
forAllSystems = function:
nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed
(system: function (import nixpkgs { inherit system overlays; }));
in
{
packages =
forAllSystems (pkgs: (self.overlays.default pkgs pkgs).${namespace});
cross = forAllSystems (pkgs:
(forEachSystem
(nixpkgs.lib.filter (sys: sys != pkgs.system)
nixpkgs.lib.systems.flakeExposed)
(crossSystem:
let
crossPkgs = import nixpkgs {
localSystem = pkgs.system;
inherit crossSystem;
};
in
(self.overlays.default crossPkgs crossPkgs).${namespace})));
devShells =
forAllSystems (pkgs: (self.overlays.default pkgs pkgs).devShells);
formatter = forAllSystems (pkgs: pkgs.nixpkgs-fmt);
overlays.default = final: prev:
let
pkgs = final;
cratedocs-mcp = pkgs.callPackage ./default.nix { };
in
{
devShells.default = pkgs.callPackage ./shell.nix { };
${namespace} = {
inherit cratedocs-mcp;
default = cratedocs-mcp;
};
};
};
}