71 lines
1.7 KiB
Nix
71 lines
1.7 KiB
Nix
{
|
|
description = "A simple [[https://orgmode.org/][org]] document parser";
|
|
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
inputs.nimble.url = "github:floscr/flake-nimble";
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
outputs =
|
|
{ self
|
|
, nixpkgs
|
|
, nimble
|
|
, nixos
|
|
, flake-utils
|
|
}:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
nimpkgs = nimble.packages.${system};
|
|
customNimPkgs = import ./nix/packages/nimExtraPackages.nix { inherit pkgs; inherit nimpkgs; };
|
|
|
|
buildInputs = with pkgs; [ ];
|
|
utils = import ./nix/lib/nimBuildGenerator.nix;
|
|
inherit (nixos.lib) flatten;
|
|
in
|
|
rec {
|
|
packages.org_parser =
|
|
let
|
|
pkgName = "org_parser";
|
|
in
|
|
pkgs.stdenv.mkDerivation {
|
|
name = pkgName;
|
|
src = ./.;
|
|
|
|
nativeBuildInputs = with pkgs; [
|
|
nim
|
|
];
|
|
|
|
buildInputs = buildInputs;
|
|
|
|
buildPhase = utils.makeNimBuildScript {
|
|
srcFile = "./src/${pkgName}.nim";
|
|
dstName = pkgName;
|
|
packages = flatten [
|
|
(with nimpkgs; [
|
|
result
|
|
])
|
|
customNimPkgs.fusion
|
|
customNimPkgs.nimfp
|
|
];
|
|
extraLines = [ ];
|
|
};
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/lib
|
|
install -Dt \
|
|
$out/bin \
|
|
$TMPDIR/${pkgName}
|
|
'';
|
|
};
|
|
|
|
devShell = import ./shell.nix {
|
|
inherit pkgs;
|
|
inherit nimpkgs;
|
|
inherit buildInputs;
|
|
};
|
|
|
|
defaultPackage = packages.nim_org_parse;
|
|
|
|
});
|
|
}
|