diff --git a/example/default.nix b/example/default.nix index fd6d5fe..4feb065 100644 --- a/example/default.nix +++ b/example/default.nix @@ -1,25 +1,30 @@ { lib, - nte, - stdenv, + mkNteDerivation, ... }: let inherit (lib.attrsets) listToAttrs; inherit (lib.lists) map; inherit (lib.strings) replaceStrings toLower; - extraArgs = { + extraArgs' = { h = n: content: let id = replaceStrings [" " ";"] ["-" "-"] (toLower content); in /*html*/'' # ${content} ''; - } - // listToAttrs (map (n: { - name = "h${toString n}"; - value = text: extraArgs.h n text; - }) [ 1 2 3 4 5 6 ] - ); + }; +in mkNteDerivation { + name = "nte-example"; + version = "0.1.0"; + src = ./.; + + extraArgs = extraArgs' + // listToAttrs (map (n: { + name = "h${toString n}"; + value = text: extraArgs'.h n text; + }) [ 1 2 3 4 5 6 ] + ); entries = [ ./index.nix @@ -31,27 +36,9 @@ ./templates/base.nix ./templates/post.nix ]; -in - stdenv.mkDerivation { - name = "nte-example"; - version = "0.1.0"; - src = ./.; - buildPhase = /*sh*/'' - runHook preBuild - - ${nte {inherit extraArgs entries templates;}} - - runHook postBuild - ''; - - installPhase = /*sh*/'' - runHook preInstall - - mkdir -p $out - cp -r ./*.css $out - cp -r ./posts/*.css $out/posts - - runHook postInstall - ''; - } + extraFiles = [ + { source = "./*.css"; destination = "/"; } + { source = "./posts/*.css"; destination = "/posts"; } + ]; +} diff --git a/flake.nix b/flake.nix index 11dcae0..6b215b2 100644 --- a/flake.nix +++ b/flake.nix @@ -10,14 +10,15 @@ forEachSystem = nixpkgs.lib.genAttrs (import systems); pkgsForEach = nixpkgs.legacyPackages; enginesForEach = import ./engine.nix; + mkNteDerivationsForEach = import ./nte-drv.nix; in { functions = forEachSystem ( system: let pkgs = pkgsForEach.${system}; engine = enginesForEach pkgs; + mkNteDerivation = mkNteDerivationsForEach pkgs engine; in { - inherit engine; - mkNteDerivation = import ./nte-drv.nix pkgs engine; + inherit engine mkNteDerivation; } ); @@ -33,10 +34,11 @@ system: let pkgs = pkgsForEach.${system}; engine = enginesForEach pkgs; + mkNteDerivation = mkNteDerivationsForEach pkgs engine; in { default = import ./example/default.nix { - inherit (pkgs) lib stdenv; - nte = engine ./example; + inherit (pkgs) lib; + inherit mkNteDerivation; }; } );