From 4954fe855fc3dc883278dcbd72ac75ca12b28f84 Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Thu, 25 Dec 2025 02:02:45 -0700 Subject: [PATCH] Re-adding nix --- .envrc | 1 + .gitignore | 5 ++++ flake.lock | 27 +++++++++++++++++++ flake.nix | 37 ++++++++++++++++++++++++++ package.json | 2 +- pnpm-lock.yaml | 70 +++++++++++++++++++++++++------------------------- 6 files changed, 106 insertions(+), 36 deletions(-) create mode 100644 .envrc create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index 016b59e..9fd5527 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,8 @@ pnpm-debug.log* # jetbrains setting folder .idea/ + +# nix +.direnv/ +result + diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..f32a541 --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1766473571, + "narHash": "sha256-5G1NDO2PulBx1RoaA6U1YoUDX0qZslpPxv+n5GX6Qto=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "76701a179d3a98b07653e2b0409847499b2a07d3", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..7bc34d8 --- /dev/null +++ b/flake.nix @@ -0,0 +1,37 @@ +{ + description = "atridotdad dev shell"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; + }; + + outputs = { self, nixpkgs }: + let + allSystems = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + + forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f { + pkgs = import nixpkgs { inherit system; }; + }); + in + { + devShells = forAllSystems ({ pkgs }: { + default = pkgs.mkShell { + packages = with pkgs; [ + nodejs_20 + nodePackages.pnpm + ]; + + shellHook = '' + echo "" + echo "Node version: $(node --version)" + echo "pnpm version: $(pnpm --version)" + ''; + }; + }); + }; +} diff --git a/package.json b/package.json index ecd674d..6d69d6e 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "astro": "^5.16.6", "astro-icon": "^1.1.5", "lucide-preact": "^0.562.0", - "preact": "^10.28.0", + "preact": "^10.28.1", "react": "^19.2.3", "sharp": "^0.34.5", "tailwindcss": "^4.1.18" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1da548d..f4a762d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 9.5.1(astro@5.16.6(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.54.0)(typescript@5.8.3)) '@astrojs/preact': specifier: ^4.1.3 - version: 4.1.3(@babel/core@7.28.5)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(preact@10.28.0) + version: 4.1.3(@babel/core@7.28.5)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(preact@10.28.1) '@astrojs/rss': specifier: ^4.0.14 version: 4.0.14 @@ -25,7 +25,7 @@ importers: version: 2.2.5 '@preact/signals': specifier: ^2.5.1 - version: 2.5.1(preact@10.28.0) + version: 2.5.1(preact@10.28.1) '@react-pdf/renderer': specifier: ^4.3.1 version: 4.3.1(react@19.2.3) @@ -43,10 +43,10 @@ importers: version: 1.1.5 lucide-preact: specifier: ^0.562.0 - version: 0.562.0(preact@10.28.0) + version: 0.562.0(preact@10.28.1) preact: - specifier: ^10.28.0 - version: 10.28.0 + specifier: ^10.28.1 + version: 10.28.1 react: specifier: ^19.2.3 version: 19.2.3 @@ -1461,8 +1461,8 @@ packages: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} - hyphen@1.10.6: - resolution: {integrity: sha512-fXHXcGFTXOvZTSkPJuGOQf5Lv5T/R2itiiCVPg9LxAje5D00O0pP83yJShFq5V89Ly//Gt6acj7z8pbBr34stw==} + hyphen@1.13.0: + resolution: {integrity: sha512-flZoIooovWALhu04Z3ooPWQldjTOgLDs5DlbUxTjnIyhQKu9ukljKWwElFCUyVi6TBk210bMBlaMG8eW3bXU+g==} iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -1991,8 +1991,8 @@ packages: peerDependencies: preact: '>=10 || >= 11.0.0-0' - preact@10.28.0: - resolution: {integrity: sha512-rytDAoiXr3+t6OIP3WGlDd0ouCUG1iCWzkcY3++Nreuoi17y6T5i/zRhe6uYfoVcxq6YU+sBtJouuRDsq8vvqA==} + preact@10.28.1: + resolution: {integrity: sha512-u1/ixq/lVQI0CakKNvLDEcW5zfCjUQfZdK9qqWuIJtsezuyG6pk9TWj75GMuI/EzRSZB/VAE43sNWWZfiy8psw==} prismjs@1.30.0: resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} @@ -2163,8 +2163,8 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - smol-toml@1.5.2: - resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==} + smol-toml@1.6.0: + resolution: {integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==} engines: {node: '>= 18'} source-map-js@1.2.1: @@ -2584,7 +2584,7 @@ snapshots: remark-rehype: 11.1.2 remark-smartypants: 3.0.2 shiki: 3.20.0 - smol-toml: 1.5.2 + smol-toml: 1.6.0 unified: 11.0.5 unist-util-remove-position: 5.0.0 unist-util-visit: 5.0.0 @@ -2621,12 +2621,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/preact@4.1.3(@babel/core@7.28.5)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(preact@10.28.0)': + '@astrojs/preact@4.1.3(@babel/core@7.28.5)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(preact@10.28.1)': dependencies: - '@preact/preset-vite': 2.10.2(@babel/core@7.28.5)(preact@10.28.0)(vite@6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)) - '@preact/signals': 2.5.1(preact@10.28.0) - preact: 10.28.0 - preact-render-to-string: 6.6.4(preact@10.28.0) + '@preact/preset-vite': 2.10.2(@babel/core@7.28.5)(preact@10.28.1)(vite@6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)) + '@preact/signals': 2.5.1(preact@10.28.1) + preact: 10.28.1 + preact-render-to-string: 6.6.4(preact@10.28.1) vite: 6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2) transitivePeerDependencies: - '@babel/core' @@ -3072,12 +3072,12 @@ snapshots: '@oslojs/encoding@1.1.0': {} - '@preact/preset-vite@2.10.2(@babel/core@7.28.5)(preact@10.28.0)(vite@6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2))': + '@preact/preset-vite@2.10.2(@babel/core@7.28.5)(preact@10.28.1)(vite@6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2))': dependencies: '@babel/core': 7.28.5 '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.5) - '@prefresh/vite': 2.4.11(preact@10.28.0)(vite@6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)) + '@prefresh/vite': 2.4.11(preact@10.28.1)(vite@6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.5) debug: 4.4.3 @@ -3090,27 +3090,27 @@ snapshots: '@preact/signals-core@1.12.1': {} - '@preact/signals@2.5.1(preact@10.28.0)': + '@preact/signals@2.5.1(preact@10.28.1)': dependencies: '@preact/signals-core': 1.12.1 - preact: 10.28.0 + preact: 10.28.1 '@prefresh/babel-plugin@0.5.2': {} - '@prefresh/core@1.5.9(preact@10.28.0)': + '@prefresh/core@1.5.9(preact@10.28.1)': dependencies: - preact: 10.28.0 + preact: 10.28.1 '@prefresh/utils@1.2.1': {} - '@prefresh/vite@2.4.11(preact@10.28.0)(vite@6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2))': + '@prefresh/vite@2.4.11(preact@10.28.1)(vite@6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2))': dependencies: '@babel/core': 7.28.5 '@prefresh/babel-plugin': 0.5.2 - '@prefresh/core': 1.5.9(preact@10.28.0) + '@prefresh/core': 1.5.9(preact@10.28.1) '@prefresh/utils': 1.2.1 '@rollup/pluginutils': 4.2.1 - preact: 10.28.0 + preact: 10.28.1 vite: 6.4.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2) transitivePeerDependencies: - supports-color @@ -3207,7 +3207,7 @@ snapshots: dependencies: '@react-pdf/fns': 3.1.2 bidi-js: 1.0.3 - hyphen: 1.10.6 + hyphen: 1.13.0 unicode-properties: 1.4.1 '@react-pdf/types@2.9.1': @@ -3542,7 +3542,7 @@ snapshots: rehype: 13.0.2 semver: 7.7.3 shiki: 3.20.0 - smol-toml: 1.5.2 + smol-toml: 1.6.0 svgo: 4.0.0 tinyexec: 1.0.2 tinyglobby: 0.2.15 @@ -4180,7 +4180,7 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - hyphen@1.10.6: {} + hyphen@1.13.0: {} iconv-lite@0.6.3: dependencies: @@ -4315,9 +4315,9 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-preact@0.562.0(preact@10.28.0): + lucide-preact@0.562.0(preact@10.28.1): dependencies: - preact: 10.28.0 + preact: 10.28.1 magic-string@0.30.21: dependencies: @@ -4940,11 +4940,11 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - preact-render-to-string@6.6.4(preact@10.28.0): + preact-render-to-string@6.6.4(preact@10.28.1): dependencies: - preact: 10.28.0 + preact: 10.28.1 - preact@10.28.0: {} + preact@10.28.1: {} prismjs@1.30.0: {} @@ -5243,7 +5243,7 @@ snapshots: sisteransi@1.0.5: {} - smol-toml@1.5.2: {} + smol-toml@1.6.0: {} source-map-js@1.2.1: {}