{ description = "hakurei.app website, based on grapheneos.org"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; }; outputs = { self, nixpkgs, }: let supportedSystems = [ "aarch64-linux" "x86_64-linux" ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); in { checks = forAllSystems ( system: let pkgs = nixpkgsFor.${system}; inherit (pkgs) runCommandLocal nixfmt-rfc-style deadnix statix ; in { formatting = runCommandLocal "check-formatting" { nativeBuildInputs = [ nixfmt-rfc-style ]; } '' cd ${./.} echo "running nixfmt..." nixfmt --check . touch $out ''; lint = runCommandLocal "check-lint" { nativeBuildInputs = [ deadnix statix ]; } '' cd ${./.} echo "running deadnix..." deadnix --fail echo "running statix..." statix check . touch $out ''; } ); packages = forAllSystems ( system: let inherit (self.packages.${system}) hakurei-static hakurei-static-web-server; pkgs = nixpkgsFor.${system}; in { default = hakurei-static-web-server; hakurei-static = pkgs.callPackage ./package.nix { }; hakurei-static-web-server = pkgs.writeShellScriptBin "hakurei-static-web-server" '' exec ${pkgs.static-web-server}/bin/static-web-server \ -g info \ -p 49151 \ -d ${hakurei-static} ''; } ); }; }