add policy-ui build
This commit is contained in:
93
flake.nix
93
flake.nix
@@ -1,5 +1,5 @@
|
||||
{
|
||||
description = "test";
|
||||
description = "policy-ui - Policy management dashboard";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs";
|
||||
@@ -10,15 +10,88 @@
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
lib = pkgs.lib;
|
||||
|
||||
in {
|
||||
devShell =
|
||||
pkgs.mkShell {
|
||||
buildInputs = with pkgs;
|
||||
[
|
||||
nodejs
|
||||
vue-language-server
|
||||
];
|
||||
pname = "policy-ui";
|
||||
version = "1.0.0";
|
||||
|
||||
pnpmDeps = pkgs.fetchPnpmDeps {
|
||||
inherit pname version;
|
||||
src = lib.cleanSource ./.;
|
||||
pnpm = pkgs.pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-v1vdqb3ruLB9vvPzxjT+11W4jG/MvoCPVXZPHHE9eGs=";
|
||||
};
|
||||
});
|
||||
|
||||
policy-ui = pkgs.stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = lib.cleanSource ./.;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgs.pnpmConfigHook
|
||||
pkgs.pnpm
|
||||
pkgs.nodejs
|
||||
];
|
||||
|
||||
inherit pnpmDeps;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export NUXT_TELEMETRY_DISABLED=1
|
||||
|
||||
pnpm build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -r ./.output $out/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
|
||||
dockerImage = pkgs.dockerTools.buildLayeredImage {
|
||||
name = "policy-ui";
|
||||
contents = [
|
||||
policy-ui
|
||||
pkgs.busybox
|
||||
pkgs.shadow
|
||||
];
|
||||
config = {
|
||||
Cmd = [
|
||||
"${pkgs.nodejs}/bin/node"
|
||||
"${policy-ui}/.output/server/index.mjs"
|
||||
];
|
||||
Env = [
|
||||
"HOST=0.0.0.0"
|
||||
"PORT=3000"
|
||||
"NODE_ENV=production"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
packages = {
|
||||
default = policy-ui;
|
||||
inherit policy-ui;
|
||||
dockerImage = dockerImage;
|
||||
};
|
||||
|
||||
devShell =
|
||||
pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
nodejs
|
||||
vue-language-server
|
||||
pnpm
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user