Files
m3tam3re 514ee9a2e3 first
2026-07-16 15:05:58 +02:00

76 lines
1.6 KiB
Nix

{
description = "AZ Phishboard - Next.js phishing simulation dashboard";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
};
outputs = {
self,
nixpkgs,
}: let
systems = [
"aarch64-linux"
"x86_64-linux"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
in {
nixosModules.default = import ./nixos/module.nix;
packages = forAllSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
in {
default = pkgs.buildNpmPackage {
pname = "phishboard";
version = "0.1.0";
src = self;
nodejs = pkgs.nodejs_22;
npmDepsHash = "sha256-4BheNdfPgXQFjAiaRyxMpmhCk/H6puSPxjxh+PY2ljA=";
NEXT_TELEMETRY_DISABLED = "1";
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r .next/standalone/. $out/
mkdir -p $out/.next
cp -r .next/static $out/.next/static
if [ -d public ]; then
cp -r public $out/public
fi
runHook postInstall
'';
meta = with pkgs.lib; {
description = "AZ Phishboard Next.js dashboard";
homepage = "https://pb.l.az-gruppe.com";
platforms = platforms.linux;
};
};
});
devShells = forAllSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
in {
default = pkgs.mkShell {
packages = with pkgs; [
nodejs_22
typescript
];
shellHook = ''
echo "Phishboard development environment"
echo "Node: $(node --version)"
echo "npm: $(npm --version)"
'';
};
});
};
}