tvl-depot/default.nix
William Carroll 6108f8df01 Support proof-of-concept blog
After some toil, I have a working proof-of-concept blog. The idea is simple:
write blog posts in markdown and store the posts in the `./posts`
directory. Then use the server and `pandoc` to convert these markdown files into
HTML at request time. I'm using nix to package everything together. It's far
from perfect, but it works at the moment, which is encouraging.
2020-01-23 22:01:06 +00:00

36 lines
923 B
Nix

# At the time of this writing, this configuration was taken from @tazjin's
# default.nix from his depot. I've added, changed, and removed that parts that I
# don't need, and this is what remains.
{ ... }@args:
with builtins;
let
fix = f: let x = f x; in x;
# Global configuration that all packages are called with.
config = pkgs: {
inherit pkgs;
};
readTree' = import /home/wpcarro/depot/nix/readTree {};
# TODO: Find a better way to expose entire monorepo without introducing
# "infinite recursion".
localPkgs = readTree: {
blog = readTree ./blog;
third_party = readTree ./third_party;
};
in fix(self: {
config = config self;
# Expose readTree for downstream repo consumers.
readTree = {
__functor = x: (readTree' x.config);
config = self.config;
};
}
# Add local packages as structured by readTree
// (localPkgs (readTree' (self.config // { inherit (self) lib; })))
)