30 lines
987 B
Nix
30 lines
987 B
Nix
|
# Expose all static assets as a folder. The derivation contains a
|
||
|
# `drvHash` attribute which can be used for cache-busting.
|
||
|
{ depot, lib, pkgs, ... }:
|
||
|
|
||
|
let
|
||
|
storeDirLength = with builtins; (stringLength storeDir) + 1;
|
||
|
logo = depot.web.tvl.logo;
|
||
|
in
|
||
|
lib.fix (self: pkgs.runCommand "tvl-static"
|
||
|
{
|
||
|
passthru = {
|
||
|
# Preserving the string context here makes little sense: While we are
|
||
|
# referencing this derivation, we are not doing so via the nix store,
|
||
|
# so it makes little sense for Nix to police the references.
|
||
|
drvHash = builtins.unsafeDiscardStringContext (
|
||
|
lib.substring storeDirLength 32 self.drvPath
|
||
|
);
|
||
|
};
|
||
|
} ''
|
||
|
mkdir $out
|
||
|
cp -r ${./.}/* $out
|
||
|
cp ${logo.pastelRainbow} $out/logo-animated.svg
|
||
|
cp ${logo.bluePng} $out/logo-blue.png
|
||
|
cp ${logo.greenPng} $out/logo-green.png
|
||
|
cp ${logo.orangePng} $out/logo-orange.png
|
||
|
cp ${logo.purplePng} $out/logo-purple.png
|
||
|
cp ${logo.redPng} $out/logo-red.png
|
||
|
cp ${logo.yellowPng} $out/logo-yellow.png
|
||
|
'')
|