wiki/flake.nix

43 lines
1,003 B
Nix

{
description = "wiki.adtya.xyz";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs?ref=nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils?ref=main";
};
outputs =
{ self
, nixpkgs
, flake-utils
,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
};
package = pkgs.callPackage ./default.nix { };
app = pkgs.writeShellScriptBin "app" ''
trap 'kill "''${child_pid}"; wait "''${child_pid}";' SIGINT SIGTERM
${pkgs.merecat}/bin/merecat -n -p 8080 ${package}/share/web &
child_pid="$!"
wait "''${child_pid}"
'';
in
{
formatter = pkgs.nixpkgs-fmt;
devShells.default = pkgs.mkShell {
packages = [
pkgs.mdbook
pkgs.mdbook-alerts
];
};
packages = {
inherit app;
default = package;
};
}
);
}