73 lines
1.6 KiB
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
|
|
];
|
|
};
|
|
}
|
|
);
|
|
}
|