86 lines
1.9 KiB
Nix
86 lines
1.9 KiB
Nix
{
|
|
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 caddy-hakurei-static;
|
|
pkgs = nixpkgsFor.${system};
|
|
in
|
|
{
|
|
default = caddy-hakurei-static;
|
|
hakurei-static = pkgs.callPackage ./package.nix { };
|
|
caddy-hakurei-static = pkgs.writeShellScriptBin "caddy-hakurei-static" ''
|
|
exec ${pkgs.caddy}/bin/caddy \
|
|
file-server \
|
|
-a -l ":49151" \
|
|
-r ${hakurei-static}
|
|
'';
|
|
}
|
|
);
|
|
};
|
|
}
|