Something went wrong. Try again.
A static site generator written in Nix. poacher.dev/spoonful
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576{ inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixhooks = { url = "git+https://tangled.org/poacher.dev/nixhooks"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nixhooks, }: let forAllSystems = f: builtins.mapAttrs f nixpkgs.legacyPackages; lib = forAllSystems (_: pkgs: {inherit (import ./. pkgs) mkSite;}); # Pinned via npins (`npins/sources.json`) rather than a flake input, so # it's never pulled into a consumer's flake.lock inherit (import ./npins {}) blog; blogOutputs = (import "${blog}/flake.nix").outputs { inherit nixpkgs; spoonful = self; }; in nixhooks.lib.withHooks { inherit lib;
checks = forAllSystems (system: _: if blogOutputs.packages ? "${system}" then {blog = blogOutputs.packages."${system}".default;} else {});
packages = forAllSystems (_: pkgs: { dev = pkgs.writeShellApplication { name = "spoonful-dev"; runtimeInputs = [pkgs.entr pkgs.python3 pkgs.nix]; text = builtins.readFile ./bin/dev.sh; };
new = pkgs.writeShellApplication { name = "spoonful-new"; runtimeInputs = [pkgs.coreutils]; text = builtins.readFile ./bin/new.sh; }; });
devShells = forAllSystems (_: pkgs: { default = pkgs.mkShell { buildInputs = [ pkgs.prettier pkgs.nixd pkgs.alejandra pkgs.pandoc pkgs.npins ]; }; });
hooks = forAllSystems (system: pkgs: { inherit (nixhooks.lib.${system}.presets) commitlint; settings = { parallel = true; tangled.enable = true; }; } // pkgs.lib.mapAttrs (_: h: h {stages = ["pre-push"];}) { inherit (nixhooks.lib.${system}.presets) alejandra deadnix statix ; }); };}