Files
glimpse/flake.nix

73 lines
1.6 KiB
Nix

{
description = "Development Environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{ self
, nixpkgs
, flake-utils
,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
runtimePath = pkgs.lib.makeBinPath [
pkgs.firefox
pkgs.geckodriver
];
source = builtins.path {
path = ./.;
name = "glimpse-source";
filter =
path: type:
let
name = baseNameOf path;
in
!(builtins.elem name [
".direnv"
".git"
"node_modules"
"result"
]);
};
in
{
packages.default = pkgs.buildNpmPackage {
pname = "glimpse";
version = "1.0.0";
src = source;
npmDepsHash = "sha256-ycAjPZZqI3ZMIUubJbWy8G6X6LaXDcgdZGswikfkQj8=";
npmBuildScript = "build";
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram $out/bin/glimpse \
--prefix PATH : ${runtimePath}
'';
};
apps.glimpse = {
type = "app";
program = "${self.packages.${system}.default}/bin/glimpse";
};
apps.default = self.apps.${system}.glimpse;
devShells.default = pkgs.mkShell {
packages = with pkgs; [
nodejs_22
firefox
geckodriver
];
};
}
);
}