wip: flake
This commit is contained in:
parent
07d0be04ae
commit
c1eb71b9ec
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,4 +1,3 @@
|
||||||
_site/
|
_site/
|
||||||
node_modules/
|
node_modules/
|
||||||
package-lock.json
|
|
||||||
.cache
|
.cache
|
||||||
|
|
27
flake.lock
Normal file
27
flake.lock
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1720244366,
|
||||||
|
"narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
65
flake.nix
Normal file
65
flake.nix
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
{
|
||||||
|
description = "Bloggy time!";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs }: let
|
||||||
|
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
|
||||||
|
forAllSystems = function:
|
||||||
|
nixpkgs.lib.genAttrs systems (system: function (
|
||||||
|
import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
|
env = pkgs: pkgs.callPackage ({ mkYarnModules }:
|
||||||
|
mkYarnModules {
|
||||||
|
pname = "blog-env";
|
||||||
|
version = "2.2.2";
|
||||||
|
yarnLock = ./yarn.lock;
|
||||||
|
packageJSON = ./package.json;
|
||||||
|
}) { };
|
||||||
|
|
||||||
|
in {
|
||||||
|
packages = forAllSystems (pkgs: rec {
|
||||||
|
eleventyEnv = (env pkgs);
|
||||||
|
blog = pkgs.callPackage (
|
||||||
|
{ stdenvNoCC, eleventyEnv, lib, nodejs, vips}:
|
||||||
|
stdenvNoCC.mkDerivation {
|
||||||
|
pname = "blog";
|
||||||
|
version = "2.2.2";
|
||||||
|
src = ./.;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
eleventyEnv
|
||||||
|
nodejs
|
||||||
|
vips
|
||||||
|
];
|
||||||
|
ELEVENTY_ENVIRONMENT = "prod";
|
||||||
|
configurePhase = ''
|
||||||
|
ln -s ${eleventyEnv}/node_modules ./node_modules
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
npx eleventy
|
||||||
|
'';
|
||||||
|
installPhase = ''
|
||||||
|
cp -ar _site $out
|
||||||
|
'';
|
||||||
|
}) { inherit eleventyEnv; };
|
||||||
|
});
|
||||||
|
|
||||||
|
devShells = forAllSystems (pkgs: {
|
||||||
|
default = pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
nodejs
|
||||||
|
yarn
|
||||||
|
(env pkgs)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -18,14 +18,17 @@
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"dependencies": {
|
||||||
"@11ty/eleventy": "^2.0.1",
|
|
||||||
"@11ty/eleventy-img": "^3.1.1",
|
"@11ty/eleventy-img": "^3.1.1",
|
||||||
|
"@11ty/eleventy": "^2.0.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
"@11ty/eleventy-navigation": "^0.3.5",
|
"@11ty/eleventy-navigation": "^0.3.5",
|
||||||
"@11ty/eleventy-plugin-bundle": "^1.0.4",
|
"@11ty/eleventy-plugin-bundle": "^1.0.4",
|
||||||
"@11ty/eleventy-plugin-rss": "^1.2.0",
|
"@11ty/eleventy-plugin-rss": "^1.2.0",
|
||||||
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0",
|
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0",
|
||||||
"luxon": "^3.3.0",
|
"luxon": "^3.3.0",
|
||||||
"markdown-it-anchor": "^8.6.7"
|
"markdown-it-anchor": "^8.6.7"
|
||||||
}
|
},
|
||||||
|
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue