2025-01-13 11:52:09 +08:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
stdenvNoCC,
|
|
|
|
ruby,
|
|
|
|
bundlerEnv,
|
|
|
|
writeShellScriptBin,
|
|
|
|
fetchFromGitHub,
|
|
|
|
}:
|
|
|
|
let
|
2024-01-15 15:39:28 +08:00
|
|
|
name = "website";
|
|
|
|
version = "20240114";
|
|
|
|
|
|
|
|
assets = fetchFromGitHub {
|
|
|
|
name = "${name}-assets";
|
|
|
|
owner = "cotes2020";
|
|
|
|
repo = "chirpy-static-assets";
|
|
|
|
rev = "c577249";
|
|
|
|
hash = "sha256-Uxe7PMNwzKUN2b77QbjWLxEtOOLodPOyeMuUM1eKdlc=";
|
|
|
|
};
|
|
|
|
|
2024-02-24 17:19:50 +08:00
|
|
|
gems = bundlerEnv {
|
|
|
|
name = "${name}-gems";
|
|
|
|
inherit ruby;
|
|
|
|
gemfile = ./Gemfile;
|
|
|
|
lockfile = ./Gemfile.lock;
|
|
|
|
gemset = ./gemset.nix;
|
2024-01-15 15:39:28 +08:00
|
|
|
};
|
2025-01-13 11:52:09 +08:00
|
|
|
in
|
|
|
|
stdenvNoCC.mkDerivation {
|
2024-01-15 15:39:28 +08:00
|
|
|
pname = name;
|
|
|
|
inherit version;
|
|
|
|
src = ./.;
|
2025-01-13 11:52:09 +08:00
|
|
|
buildInputs = [
|
|
|
|
gems
|
|
|
|
ruby
|
|
|
|
];
|
2024-02-24 17:19:50 +08:00
|
|
|
nativeBuildInputs = [ (writeShellScriptBin "git" "true") ];
|
2024-01-15 15:39:28 +08:00
|
|
|
|
|
|
|
configurePhase = ''
|
|
|
|
cp -r ${assets}/. assets/lib/
|
|
|
|
'';
|
|
|
|
|
|
|
|
buildPhase = "JEKYLL_ENV=production bundle exec jekyll build";
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
cp -r _site "$out"
|
|
|
|
'';
|
|
|
|
}
|