cratedocs-mcp/flake.nix
Harald Hoyer 0dbbc6a778 add flakes
Signed-off-by: Harald Hoyer <harald@hoyer.xyz>
2025-05-02 13:08:41 +02:00

39 lines
1.4 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay";
};
outputs = { self, nixpkgs, rust-overlay, ... }:
let
namespace = "hello";
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;
in {
devShells.default = pkgs.callPackage ./shell.nix { };
${namespace} = {
hello = pkgs.callPackage ./default.nix { };
default = pkgs.callPackage ./default.nix { };
};
};
};
}