{ description = "seth's website"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nix-filter.url = "github:numtide/nix-filter"; treefmt-nix = { url = "github:numtide/treefmt-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nix-filter, treefmt-nix, }: let inherit (nixpkgs) lib; systems = lib.systems.flakeExposed; forAllSystems = lib.genAttrs systems; nixpkgsFor = forAllSystems (system: nixpkgs.legacyPackages.${system}); treefmtFor = forAllSystems ( system: treefmt-nix.lib.evalModule nixpkgsFor.${system} (self + "/treefmt.nix") ); in { checks = forAllSystems (system: { treefmt = treefmtFor.${system}.config.build.check self; }); devShells = forAllSystems ( system: let pkgs = nixpkgsFor.${system}; in { default = pkgs.mkShellNoCC { packages = [ pkgs.zola self.formatter.${system} pkgs.actionlint ]; }; } ); formatter = forAllSystems (system: treefmtFor.${system}.config.build.wrapper); packages = forAllSystems ( system: let pkgs = nixpkgsFor.${system}; in { website = pkgs.callPackage ./nix/package.nix { inherit nix-filter self; }; default = self.packages.${system}.website; } ); }; }