feat: no more vercel, next. now vite and nix
This commit is contained in:
parent
fc80ead81e
commit
bf5900edbb
28 changed files with 4099 additions and 1554 deletions
77
flake.nix
77
flake.nix
|
|
@ -1,63 +1,44 @@
|
|||
{
|
||||
description = "CTF Jet development environment (Bun)";
|
||||
|
||||
description = "Jet Pham's personal website";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, rust-overlay, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
(flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
overlays = [ (import rust-overlay) ];
|
||||
pkgs = import nixpkgs {
|
||||
inherit system overlays;
|
||||
};
|
||||
|
||||
bun = pkgs.bun;
|
||||
|
||||
# Prisma engines for NixOS
|
||||
prismaEngines = pkgs.prisma-engines;
|
||||
|
||||
devTools = with pkgs; [
|
||||
git
|
||||
postgresql
|
||||
curl
|
||||
wget
|
||||
typescript-language-server
|
||||
pkg-config
|
||||
wasm-pack
|
||||
binaryen
|
||||
(rust-bin.selectLatestNightlyWith (toolchain: toolchain.default.override {
|
||||
pkgs = import nixpkgs { inherit system overlays; };
|
||||
rustToolchain = pkgs.rust-bin.selectLatestNightlyWith (toolchain:
|
||||
toolchain.default.override {
|
||||
extensions = [ "rust-src" ];
|
||||
targets = [ "wasm32-unknown-unknown" ];
|
||||
}))
|
||||
];
|
||||
|
||||
in {
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = [
|
||||
bun
|
||||
prismaEngines
|
||||
] ++ devTools;
|
||||
|
||||
NIXPKGS_ALLOW_UNFREE = "1";
|
||||
|
||||
PRISMA_QUERY_ENGINE_BINARY = "${prismaEngines}/bin/query-engine";
|
||||
PRISMA_SCHEMA_ENGINE_BINARY = "${prismaEngines}/bin/schema-engine";
|
||||
PRISMA_INTROSPECTION_ENGINE_BINARY = "${prismaEngines}/bin/introspection-engine";
|
||||
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING = "1";
|
||||
});
|
||||
website = pkgs.stdenv.mkDerivation {
|
||||
pname = "jet-website";
|
||||
version = "0.1.0";
|
||||
src = pkgs.lib.cleanSource ./.;
|
||||
nativeBuildInputs = [ pkgs.nodejs rustToolchain pkgs.wasm-pack pkgs.binaryen pkgs.pkg-config ];
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
cd cgol && wasm-pack build --release --target web && cd ..
|
||||
npm ci
|
||||
npm run build
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r dist/* $out/
|
||||
'';
|
||||
};
|
||||
|
||||
packages = {
|
||||
inherit bun prismaEngines;
|
||||
|
||||
default = pkgs.symlinkJoin {
|
||||
name = "ctfjet-dev-bun";
|
||||
paths = [ bun prismaEngines ];
|
||||
};
|
||||
in {
|
||||
packages = { default = website; };
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
nodejs git curl typescript-language-server
|
||||
pkg-config wasm-pack binaryen rustToolchain
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue