From b0d1441acf3da692da6f8334b878ee9a275c648f Mon Sep 17 00:00:00 2001 From: Pizmovc Date: Fri, 20 Jun 2025 21:24:23 +0200 Subject: [PATCH] Add @11ty/eleventy package to dev shell --- .gitignore | 1 + flake.lock | 17 +++++++++++++++++ flake.nix | 14 ++++++++++++++ justfile | 12 +++++++++++- pkgs/11ty-eleventy.nix | 15 +++++++++++++++ pkgs/11ty-eleventy.sha256 | 1 + pkgs/11ty-eleventy.version | 1 + 7 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 pkgs/11ty-eleventy.nix create mode 100644 pkgs/11ty-eleventy.sha256 create mode 100644 pkgs/11ty-eleventy.version diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b2be92b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +result diff --git a/flake.lock b/flake.lock index 9ffd119..4e13ade 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "eleventy-src": { + "flake": false, + "locked": { + "lastModified": 1750429373, + "narHash": "sha256-8ht2rUBMnHHxavXUiDXvOZ+kAtoA3rkrkaaFyC04bUI=", + "owner": "11ty", + "repo": "eleventy", + "rev": "afa9d9b8b5398da35aa3fc375c08889bf29a5182", + "type": "github" + }, + "original": { + "owner": "11ty", + "repo": "eleventy", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -36,6 +52,7 @@ }, "root": { "inputs": { + "eleventy-src": "eleventy-src", "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } diff --git a/flake.nix b/flake.nix index fffb25c..dd6cc6d 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,11 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; + eleventy-src = { + url = "github:11ty/eleventy"; + flake = false; + }; + }; outputs = @@ -15,11 +20,20 @@ system: let pkgs = nixpkgs.legacyPackages.${system}; + eleventy = import ./pkgs/11ty-eleventy.nix { + inherit pkgs; + src = inputs.eleventy-src; + }; in { + packages.eleventy = eleventy; devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ just + eleventy + prefetch-npm-deps + jq + curlMinimal ]; shellHook = ""; }; diff --git a/justfile b/justfile index 271a4e4..c692171 100644 --- a/justfile +++ b/justfile @@ -9,5 +9,15 @@ help: # Update project dependencies [group('General')] -update: +update: _update-eleventy nix flake update + +# Update packages sha256 and version +_update-eleventy: + #!/bin/bash + pkgs=$(pwd)/pkgs + cd $(mktemp -d) + curl -f https://raw.githubusercontent.com/11ty/eleventy/refs/heads/main/package-lock.json -o package-lock.json + prefetch-npm-deps package-lock.json > $pkgs/11ty-eleventy.sha256 + cat package-lock.json | jq --raw-output ".version" > $pkgs/11ty-eleventy.version + diff --git a/pkgs/11ty-eleventy.nix b/pkgs/11ty-eleventy.nix new file mode 100644 index 0000000..240d557 --- /dev/null +++ b/pkgs/11ty-eleventy.nix @@ -0,0 +1,15 @@ +# We'll pass in the pkgs and `src` +{ pkgs, src }: +pkgs.buildNpmPackage { + # Package name + pname = "eleventy"; + version = (builtins.readFile ./11ty-eleventy.version) + "main"; + src = src; + npmDepsHash = builtins.readFile ./11ty-eleventy.sha256; + dontNpmBuild = true; + meta = with pkgs.lib; { + description = "A simpler static site generator"; + homepage = "https://www.11ty.dev/"; + license = licenses.mit; + }; +} diff --git a/pkgs/11ty-eleventy.sha256 b/pkgs/11ty-eleventy.sha256 new file mode 100644 index 0000000..1e0c64c --- /dev/null +++ b/pkgs/11ty-eleventy.sha256 @@ -0,0 +1 @@ +sha256-LGdCM1gjt3hRn7BiIlbA4e2HOiQ6e/qkAtWp0Qwn+PE= diff --git a/pkgs/11ty-eleventy.version b/pkgs/11ty-eleventy.version new file mode 100644 index 0000000..16afe41 --- /dev/null +++ b/pkgs/11ty-eleventy.version @@ -0,0 +1 @@ +3.1.2-beta.2