From bd0a9a1d92c78d929182390e47a62515d9177cd3 Mon Sep 17 00:00:00 2001 From: Asai Neko Date: Tue, 9 Dec 2025 13:28:51 +0800 Subject: [PATCH] Add devenv to project - Init devenv with node22 and corepack22 - Add devenv gitignore - Direnv auto active devenv shell - Update pnpm corepack version to 10.25.0 - Rerun pnpm install Signed-off-by: Asai Neko --- .envrc | 5 +++ .gitignore | 11 ++++++ devenv.lock | 103 +++++++++++++++++++++++++++++++++++++++++++++++++ devenv.nix | 12 ++++++ devenv.yaml | 3 ++ package.json | 2 +- pnpm-lock.yaml | 34 ---------------- 7 files changed, 135 insertions(+), 35 deletions(-) create mode 100644 .envrc create mode 100644 devenv.lock create mode 100644 devenv.nix create mode 100644 devenv.yaml diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..15a97ba --- /dev/null +++ b/.envrc @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +export DIRENV_WARN_TIMEOUT=20s +eval "$(devenv direnvrc)" +use devenv diff --git a/.gitignore b/.gitignore index 96bfcda..2389cae 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,14 @@ pnpm-debug.log* !.yarn/releases !.yarn/sdks !.yarn/versions + +# Devenv +.devenv* +devenv.local.nix +devenv.local.yaml + +# direnv +.direnv + +# pre-commit +.pre-commit-config.yaml diff --git a/devenv.lock b/devenv.lock new file mode 100644 index 0000000..f2e4e2d --- /dev/null +++ b/devenv.lock @@ -0,0 +1,103 @@ +{ + "nodes": { + "devenv": { + "locked": { + "dir": "src/modules", + "lastModified": 1765206584, + "owner": "cachix", + "repo": "devenv", + "rev": "a3e385cea873e4ec5bd31e76c6481aa21fbf6995", + "type": "github" + }, + "original": { + "dir": "src/modules", + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1765121682, + "owner": "edolstra", + "repo": "flake-compat", + "rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1765016596, + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762808025, + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1764580874, + "owner": "cachix", + "repo": "devenv-nixpkgs", + "rev": "dcf61356c3ab25f1362b4a4428a6d871e84f1d1d", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "rolling", + "repo": "devenv-nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "devenv": "devenv", + "git-hooks": "git-hooks", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": [ + "git-hooks" + ] + } + } + }, + "root": "root", + "version": 7 +} diff --git a/devenv.nix b/devenv.nix new file mode 100644 index 0000000..6121efa --- /dev/null +++ b/devenv.nix @@ -0,0 +1,12 @@ +{ pkgs, ...}: + +{ + env.GREET = "devenv"; + + packages = [ + pkgs.git + pkgs.nodejs_22 + pkgs.corepack_22 + pkgs.typescript-language-server + ]; +} diff --git a/devenv.yaml b/devenv.yaml new file mode 100644 index 0000000..9d29c0d --- /dev/null +++ b/devenv.yaml @@ -0,0 +1,3 @@ +inputs: + nixpkgs: + url: github:cachix/devenv-nixpkgs/rolling diff --git a/package.json b/package.json index 7f95847..bf83935 100644 --- a/package.json +++ b/package.json @@ -15,5 +15,5 @@ "astro": "^5.6.1", "sharp": "^0.34.2" }, - "packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a" + "packageManager": "pnpm@10.25.0+sha512.5e82639027af37cf832061bcc6d639c219634488e0f2baebe785028a793de7b525ffcd3f7ff574f5e9860654e098fe852ba8ac5dd5cefe1767d23a020a92f501" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1369c64..e2bd34b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,9 +20,6 @@ importers: sharp: specifier: ^0.34.2 version: 0.34.5 - starlight-theme-galaxy: - specifier: ^0.5.2 - version: 0.5.2(@astrojs/starlight@0.37.0(astro@5.16.4(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))) packages: @@ -251,21 +248,12 @@ packages: '@expressive-code/plugin-frames@0.41.3': resolution: {integrity: sha512-rFQtmf/3N2CK3Cq/uERweMTYZnBu+CwxBdHuOftEmfA9iBE7gTVvwpbh82P9ZxkPLvc40UMhYt7uNuAZexycRQ==} - '@expressive-code/plugin-line-numbers@0.41.3': - resolution: {integrity: sha512-eig82a4CRC3XgVPQ2S/TMDcLiHJokOCD/mAdNVImpD3segVewxfjGgtj5DXQRo0E0q6f0R0EH34YzTFl5CEPqg==} - '@expressive-code/plugin-shiki@0.41.3': resolution: {integrity: sha512-RlTARoopzhFJIOVHLGvuXJ8DCEme/hjV+ZnRJBIxzxsKVpGPW4Oshqg9xGhWTYdHstTsxO663s0cdBLzZj9TQA==} '@expressive-code/plugin-text-markers@0.41.3': resolution: {integrity: sha512-SN8tkIzDpA0HLAscEYD2IVrfLiid6qEdE9QLlGVSxO1KEw7qYvjpbNBQjUjMr5/jvTJ7ys6zysU2vLPHE0sb2g==} - '@fontsource-variable/inter@5.2.8': - resolution: {integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==} - - '@fontsource-variable/jetbrains-mono@5.2.8': - resolution: {integrity: sha512-WBA9elru6Jdp5df2mES55wuOO0WIrn3kpXnI4+W2ek5u3ZgLS9XS4gmIlcQhiZOWEKl95meYdvK7xI+ETLCq/Q==} - '@img/colour@1.0.0': resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} @@ -1545,12 +1533,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - starlight-theme-galaxy@0.5.2: - resolution: {integrity: sha512-Df0V3dxq85dgP25wDCFdKSujJvkntnRF/YEWaukvyAJmviKr9sI62PiZ5oXbwYWzHf1yP5NikfGajBpxez270w==} - engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} - peerDependencies: - '@astrojs/starlight': '>=0.34' - stream-replace-string@2.0.0: resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} @@ -2077,10 +2059,6 @@ snapshots: dependencies: '@expressive-code/core': 0.41.3 - '@expressive-code/plugin-line-numbers@0.41.3': - dependencies: - '@expressive-code/core': 0.41.3 - '@expressive-code/plugin-shiki@0.41.3': dependencies: '@expressive-code/core': 0.41.3 @@ -2090,10 +2068,6 @@ snapshots: dependencies: '@expressive-code/core': 0.41.3 - '@fontsource-variable/inter@5.2.8': {} - - '@fontsource-variable/jetbrains-mono@5.2.8': {} - '@img/colour@1.0.0': {} '@img/sharp-darwin-arm64@0.34.5': @@ -3940,14 +3914,6 @@ snapshots: space-separated-tokens@2.0.2: {} - starlight-theme-galaxy@0.5.2(@astrojs/starlight@0.37.0(astro@5.16.4(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))): - dependencies: - '@astrojs/starlight': 0.37.0(astro@5.16.4(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)) - '@expressive-code/core': 0.41.3 - '@expressive-code/plugin-line-numbers': 0.41.3 - '@fontsource-variable/inter': 5.2.8 - '@fontsource-variable/jetbrains-mono': 5.2.8 - stream-replace-string@2.0.0: {} string-width@4.2.3: