build(nix): add formatting checks
Signed-off-by: seth <getchoo@tuta.io>
This commit is contained in:
parent
0ae421c265
commit
e29ea4efb0
21
flake.nix
21
flake.nix
@ -54,6 +54,14 @@
|
|||||||
nixpkgsFor = forAllSystems (system: nixpkgs.legacyPackages.${system});
|
nixpkgsFor = forAllSystems (system: nixpkgs.legacyPackages.${system});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
checks = forAllSystems (
|
||||||
|
system:
|
||||||
|
let
|
||||||
|
checks' = nixpkgsFor.${system}.callPackage ./nix/checks.nix { inherit self; };
|
||||||
|
in
|
||||||
|
lib.filterAttrs (_: lib.isDerivation) checks'
|
||||||
|
);
|
||||||
|
|
||||||
devShells = forAllSystems (
|
devShells = forAllSystems (
|
||||||
system:
|
system:
|
||||||
let
|
let
|
||||||
@ -88,12 +96,17 @@
|
|||||||
let
|
let
|
||||||
pkgs = nixpkgsFor.${system};
|
pkgs = nixpkgsFor.${system};
|
||||||
|
|
||||||
|
# Build a scope from our overlay
|
||||||
prismPackages = lib.makeScope pkgs.newScope (final: self.overlays.default final pkgs);
|
prismPackages = lib.makeScope pkgs.newScope (final: self.overlays.default final pkgs);
|
||||||
|
|
||||||
|
# Grab our packages from it and set the default
|
||||||
|
packages = {
|
||||||
|
inherit (prismPackages) prismlauncher-unwrapped prismlauncher;
|
||||||
|
default = prismPackages.prismlauncher;
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
# Only output them if they're available on the current system
|
||||||
inherit (prismPackages) prismlauncher-unwrapped prismlauncher;
|
lib.filterAttrs (_: lib.meta.availableOn pkgs.stdenv.hostPlatform) packages
|
||||||
default = prismPackages.prismlauncher;
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
42
nix/checks.nix
Normal file
42
nix/checks.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
runCommand,
|
||||||
|
deadnix,
|
||||||
|
llvmPackages_18,
|
||||||
|
markdownlint-cli,
|
||||||
|
nixfmt-rfc-style,
|
||||||
|
statix,
|
||||||
|
self,
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
formatting =
|
||||||
|
runCommand "check-formatting"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [
|
||||||
|
deadnix
|
||||||
|
llvmPackages_18.clang-tools
|
||||||
|
markdownlint-cli
|
||||||
|
nixfmt-rfc-style
|
||||||
|
statix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
''
|
||||||
|
cd ${self}
|
||||||
|
|
||||||
|
echo "Running clang-format...."
|
||||||
|
clang-format -i --style='file' --Werror */**.{c,cc,cpp,h,hh,hpp}
|
||||||
|
|
||||||
|
echo "Running deadnix..."
|
||||||
|
deadnix --fail
|
||||||
|
|
||||||
|
echo "Running markdownlint..."
|
||||||
|
markdownlint --dot .
|
||||||
|
|
||||||
|
echo "Running nixfmt..."
|
||||||
|
nixfmt --check .
|
||||||
|
|
||||||
|
echo "Running statix"
|
||||||
|
statix check .
|
||||||
|
|
||||||
|
touch $out
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user