{ description = "NixOS flake for my website"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; treefmt-nix = { url = "github:numtide/treefmt-nix"; inputs = { nixpkgs.follows = "nixpkgs"; }; }; }; outputs = { self, nixpkgs, treefmt-nix, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; treefmtEval = import ./treefmt.nix {inherit treefmt-nix pkgs;}; build = pkgs.callPackage ./package.nix {}; check = pkgs.stdenv.mkDerivation { # Add the source name, to force this to rerun (needed because it's a FOD). name = "zola-check-${./src}"; src = ./src; # Allow network access for link checking outputHash = "sha256-d6xi4mKdjkX2JFicDIv5niSzpyI0m/Hnm8GGAIU04kY="; outputHashMode = "recursive"; # Run local preferLocalBuild = true; allowSubstitutes = false; nativeBuildInputs = [pkgs.zola pkgs.findutils]; buildPhase = '' zola check ''; installPhase = "touch $out"; }; in { packages."${system}" = { default = build; }; checks."${system}" = { inherit build check; formatting = treefmtEval.config.build.check self; }; formatter."${system}" = treefmtEval.config.build.wrapper; }; } # vim: ts=2