From f380a31c64f3f1585ee5960c5be62ff989b8db19 Mon Sep 17 00:00:00 2001 From: moons-14 Date: Wed, 4 Mar 2026 18:24:10 +0900 Subject: [PATCH] web --- flake.nix | 5 ++++- modules/home/vscode.nix | 28 ++++++++++++++++++++++++++-- shells/next-web.nix | 14 ++++++++++---- 3 files changed, 40 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index e153dec..1077342 100644 --- a/flake.nix +++ b/flake.nix @@ -116,7 +116,10 @@ devShells = { x86_64-linux = let - pkgs = import nixpkgs { system = "x86_64-linux"; }; + pkgs = import nixpkgs { + system = "x86_64-linux"; + config.allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [ "ngrok" ]; + }; in { next-web = import ./shells/next-web.nix { inherit pkgs; }; diff --git a/modules/home/vscode.nix b/modules/home/vscode.nix index 9a4ec89..e0cd657 100644 --- a/modules/home/vscode.nix +++ b/modules/home/vscode.nix @@ -70,7 +70,6 @@ let web = { extensions = (with vsc; [ - biomejs.biome lokalise.i18n-ally bradlc.vscode-tailwindcss prisma.prisma @@ -97,6 +96,13 @@ let hash = "sha256-lUSwtf7jncnrp6UXgmZU30e+CFRKqf0N41+Xna6daok="; } ]; + userSettings = { }; + }; + + web-biome = { + extensions = with vsc; [ + biomejs.biome + ]; userSettings = { "editor.defaultFormatter" = "biomejs.biome"; "[typescript].editor.defaultFormatter" = "biomejs.biome"; @@ -104,6 +110,22 @@ let }; }; + web-oxc = { + extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "oxc-vscode"; + publisher = "oxc"; + version = "1.48.0"; + hash = "sha256-RZ7mLcLJyn7lR6w6Au6fZeguB3wtk8sIXb67lPnPnrc="; + } + ]; + userSettings = { + "editor.defaultFormatter" = "oxc.oxc-vscode"; + "[typescript].editor.defaultFormatter" = "oxc.oxc-vscode"; + "[typescriptreact].editor.defaultFormatter" = "oxc.oxc-vscode"; + }; + }; + nix = { extensions = with vsc; [ bbenoist.nix @@ -250,7 +272,9 @@ in nix = mkProfile [ layers.common layers.nix ] { }; - web = mkProfile [ layers.common layers.web ] { }; + web = mkProfile [ layers.common layers.web layers.web-biome ] { }; + + web-oxc = mkProfile [ layers.common layers.web layers.web-oxc ] { }; jupyter = mkProfile [ layers.common layers.jupyter ] { }; diff --git a/shells/next-web.nix b/shells/next-web.nix index ca41ff4..2b079a7 100644 --- a/shells/next-web.nix +++ b/shells/next-web.nix @@ -7,11 +7,14 @@ pkgs.mkShell { packages = with pkgs; [ node - pnpm + nodePackages_latest.pnpm + nodePackages_latest.vercel + nodePackages_latest.prisma zsh openssl pkg-config jq + ngrok ]; NODE_ENV = "development"; @@ -30,9 +33,6 @@ pkgs.mkShell { # Prisma engines from nixpkgs (avoid binaries.prisma.sh fetch on NixOS) export PKG_CONFIG_PATH="${pkgs.openssl.dev}/lib/pkgconfig" - export PRISMA_SCHEMA_ENGINE_BINARY="${pkgs.prisma-engines}/bin/schema-engine" - export PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine" - export PRISMA_QUERY_ENGINE_LIBRARY="${pkgs.prisma-engines}/lib/libquery_engine.node" export PRISMA_FMT_BINARY="${pkgs.prisma-engines}/bin/prisma-fmt" # ---- show tool versions @@ -57,4 +57,10 @@ pkgs.mkShell { exec ${pkgs.zsh}/bin/zsh -i fi ''; + + env = { + PRISMA_QUERY_ENGINE_LIBRARY = "${pkgs.prisma-engines}/lib/libquery_engine.node"; + PRISMA_QUERY_ENGINE_BINARY = "${pkgs.prisma-engines}/bin/query-engine"; + PRISMA_SCHEMA_ENGINE_BINARY = "${pkgs.prisma-engines}/bin/schema-engine"; + }; }