mirror of
https://github.com/dwinkler1/dwinkler1.github.io.git
synced 2026-02-19 14:40:57 -05:00
52 lines
1.1 KiB
Nix
52 lines
1.1 KiB
Nix
{
|
|
description = "Quarto website build";
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
}: let
|
|
systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin"];
|
|
forAllSystems = f:
|
|
builtins.listToAttrs (map (system: {
|
|
name = system;
|
|
value = f (builtins.getAttr system nixpkgs.legacyPackages);
|
|
})
|
|
systems);
|
|
reqPkgs = pkgs: [pkgs.quarto];
|
|
in {
|
|
packages = forAllSystems (
|
|
pkgs: let
|
|
website = pkgs.stdenv.mkDerivation {
|
|
name = "personal-website";
|
|
src = ./.;
|
|
|
|
buildInputs = reqPkgs pkgs;
|
|
|
|
buildPhase = ''
|
|
mkdir home
|
|
export HOME=$PWD/home
|
|
quarto render
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
cp -r build/* $out/
|
|
'';
|
|
};
|
|
in {
|
|
default = website;
|
|
}
|
|
);
|
|
|
|
devShells = forAllSystems (
|
|
pkgs: {
|
|
default = pkgs.mkShell {
|
|
buildInputs = reqPkgs pkgs;
|
|
};
|
|
}
|
|
);
|
|
};
|
|
}
|