51 lines
1.4 KiB
Nix
51 lines
1.4 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
flake-utils,
|
|
nixpkgs,
|
|
}:
|
|
flake-utils.lib.eachDefaultSystem (
|
|
system: let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
in {
|
|
packages.default = pkgs.stdenv.mkDerivation rec {
|
|
pname = "jolheiser.com";
|
|
version = "site";
|
|
src = ./.;
|
|
offlineCache = pkgs.fetchYarnDeps {
|
|
yarnLock = "${src}/yarn.lock";
|
|
sha256 = "sha256-IF30H3ZXlKoyap7xJOD6tnZjCZ/U/VgWrCjj4fh6zyM=";
|
|
};
|
|
|
|
nativeBuildInputs = with pkgs; [yarn fixup_yarn_lock nodejs-slim];
|
|
postPatch = ''
|
|
export HOME=$NIX_BUILD_TOP/fake_home
|
|
yarn config --offline set yarn-offline-mirror $offlineCache
|
|
fixup_yarn_lock yarn.lock
|
|
yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
|
|
patchShebangs node_modules/
|
|
'';
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
yarn --offline build
|
|
mv dist $out
|
|
|
|
runHook postBuild
|
|
'';
|
|
};
|
|
devShells.default = pkgs.mkShell {
|
|
nativeBuildInputs = with pkgs; [
|
|
yarn
|
|
nodePackages.vscode-langservers-extracted
|
|
];
|
|
};
|
|
}
|
|
);
|
|
}
|