cooklang-flake/flake.nix

38 lines
1.1 KiB
Nix
Raw Normal View History

2022-12-30 19:43:37 +01:00
{
description = "Cooklang tools";
outputs = { self, nixpkgs }:
let
supportedSystems = [ "x86_64-linux" ];
pkgsFor = system: import nixpkgs { inherit system; };
perSystem = nixpkgs.lib.genAttrs supportedSystems;
mkApp =
{ drv
, name ? drv.pname or drv.name
, exePath ? drv.meta.mainProgram or "bin/${name}"
}: {
type = "app";
program = "${drv}/${exePath}";
};
in
{
packages = perSystem (system:
let
pkgs = pkgsFor system;
2022-12-30 20:51:44 +01:00
genPackage = name: pkgs.callPackage ./packages/${name}.nix { };
packages = [ "cookcli" "cook-docs" "cook-mode" ];
2022-12-30 19:43:37 +01:00
in
2022-12-30 20:51:44 +01:00
pkgs.lib.genAttrs packages genPackage // {
default = self.packages.${system}.cookcli;
2022-12-30 19:43:37 +01:00
});
apps = perSystem (system: rec {
2022-12-30 20:51:44 +01:00
cookcli = mkApp {
drv = self.packages.${system}.cookcli;
exePath = "/bin/cook";
};
cook-docs = mkApp { drv = self.packages.${system}.cook-docs; };
default = cookcli;
});
2022-12-30 19:43:37 +01:00
};
}