Skip to content

Commit

Permalink
lantian-pre-commit-hooks: fix treefmt is not applied to all files
Browse files Browse the repository at this point in the history
  • Loading branch information
xddxdd committed Oct 3, 2024
1 parent 6e62286 commit eb00b32
Show file tree
Hide file tree
Showing 7 changed files with 101 additions and 87 deletions.
5 changes: 2 additions & 3 deletions flake-modules/_internal/ci-outputs.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
self,
lib,
flake-parts-lib,
inputs,
Expand All @@ -19,9 +18,9 @@ in
imports = [ ciPackagesOptionModule ];

perSystem =
{ pkgs, system, ... }:
{ pkgs, ... }:
let
inherit (pkgs.callPackage ../../helpers/is-buildable.nix { }) isBuildable isSourceFetchable;
inherit (pkgs.callPackage ../../helpers/is-buildable.nix { }) isBuildable;
nvfetcherLoader = pkgs.callPackage ../../helpers/nvfetcher-loader.nix { };
sources = nvfetcherLoader ../../_sources/generated.nix;
in
Expand Down
20 changes: 3 additions & 17 deletions flake-modules/_internal/modules-test-nixos-config.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,6 @@
inputs,
...
}:
let
enumerateList = builtins.foldl' (
l: ll:
l
++ [
{
index = builtins.length l;
value = ll;
}
]
) [ ];
in
{
imports = [ ./ci-outputs.nix ];

Expand All @@ -37,11 +25,9 @@ in
system.stateVersion = lib.trivial.release;

# Add all CI packages
environment.etc = (
lib.mapAttrs' (
_n: v: lib.nameValuePair "ci-packages/${v.name}" { source = v; }
) self.ciPackages.${system}
);
environment.etc = lib.mapAttrs' (
_n: v: lib.nameValuePair "ci-packages/${v.name}" { source = v; }
) self.ciPackages.${system};
}
];
}
Expand Down
37 changes: 23 additions & 14 deletions flake-modules/commands.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{ lib, flake-parts-lib, ... }: {
options.perSystem = flake-parts-lib.mkPerSystemOption
({ pkgs, config, ... }: {
{ lib, flake-parts-lib, ... }:
{
options.perSystem = flake-parts-lib.mkPerSystemOption (
{ pkgs, config, ... }:
{
options.commands = lib.mkOption {
type = lib.types.attrsOf lib.types.str;
default = { };
Expand All @@ -12,17 +14,24 @@
program = pkgs.writeShellScriptBin n v;
}) config.commands;

devShells.default = pkgs.mkShell ({
buildInputs = lib.mapAttrsToList (n: _v:
pkgs.writeShellScriptBin n ''
exec nix run .#${n} -- "$@"
'') apps;
} // (lib.optionalAttrs (config ? pre-commit) {
nativeBuildInputs = config.pre-commit.settings.enabledPackages
++ [ config.pre-commit.settings.package ];
shellHook = config.pre-commit.installationScript;
devShells.default = pkgs.mkShell (
{
buildInputs = lib.mapAttrsToList (
n: _v:
pkgs.writeShellScriptBin n ''
exec nix run .#${n} -- "$@"
''
) apps;
}
// (lib.optionalAttrs (config ? pre-commit) {
nativeBuildInputs = config.pre-commit.settings.enabledPackages ++ [
config.pre-commit.settings.package
];
shellHook = config.pre-commit.installationScript;

}));
})
);
};
});
}
);
}
69 changes: 43 additions & 26 deletions flake-modules/lantian-pre-commit-hooks.nix
Original file line number Diff line number Diff line change
@@ -1,32 +1,49 @@
{ pre-commit-hooks-nix, ... }: {
{ pre-commit-hooks-nix, ... }:
{
imports = [ pre-commit-hooks-nix.flakeModule ];

perSystem = _: {
pre-commit = {
check.enable = true;
settings = {
excludes = [ "_sources/.*" ];
hooks = {
actionlint.enable = true;
check-added-large-files.enable = true;
check-builtin-literals.enable = true;
check-case-conflicts.enable = true;
check-json.enable = true;
check-merge-conflicts.enable = true;
check-python.enable = true;
check-shebang-scripts-are-executable.enable = true;
check-symlinks.enable = true;
check-toml.enable = true;
check-vcs-permalinks.enable = true;
check-yaml.enable = true;
detect-private-keys.enable = true;
fix-byte-order-marker.enable = true;
flake-checker.enable = true;
flynt.enable = true;
nil.enable = true;
treefmt.enable = true;
perSystem =
{
options,
config,
pkgs,
...
}:
{
pre-commit = {
check.enable = true;
settings = {
excludes = [ "_sources/.*" ];
hooks = {
actionlint.enable = true;
check-added-large-files.enable = true;
check-builtin-literals.enable = true;
check-case-conflicts.enable = true;
check-json.enable = true;
check-merge-conflicts.enable = true;
check-python.enable = true;
check-shebang-scripts-are-executable.enable = true;
check-symlinks.enable = true;
check-toml.enable = true;
check-vcs-permalinks.enable = true;
check-yaml.enable = true;
detect-private-keys.enable = true;
fix-byte-order-marker.enable = true;
flake-checker.enable = true;
flynt.enable = true;
nil.enable = true;
treefmt = {
enable = true;
entry =
let
treefmt = if options ? treefmt then config.treefmt.build.wrapper else pkgs.treefmt;
in
"${treefmt}/bin/treefmt --clear-cache --fail-on-change";
always_run = true;
pass_filenames = false;
};
};
};
};
};
};
}
54 changes: 30 additions & 24 deletions flake-modules/lantian-treefmt.nix
Original file line number Diff line number Diff line change
@@ -1,31 +1,37 @@
{ treefmt-nix, ... }: {
{ treefmt-nix, ... }:
{
imports = [ treefmt-nix.flakeModule ];

perSystem = { config, pkgs, ... }: {
treefmt = {
flakeFormatter = false;
projectRootFile = "flake.nix";
perSystem =
{ config, pkgs, ... }:
{
treefmt = {
flakeFormatter = false;
projectRootFile = "flake.nix";

settings = {
formatter.deadnix.excludes = [ "**/composer2nix/**" ];
global.excludes = [ "**/_sources/**" ];
};
settings = {
formatter.deadnix.excludes = [ "**/composer2nix/**" ];
global.excludes = [
"**/_sources/**"
"_sources/**"
];
};

programs = {
black.enable = true;
deadnix.enable = true;
isort.enable = true;
nixfmt.enable = true;
statix.enable = true;
programs = {
black.enable = true;
deadnix.enable = true;
isort.enable = true;
nixfmt.enable = true;
statix.enable = true;
};
};
};

formatter = pkgs.writeShellScriptBin "treefmt-auto" ''
for i in {1..5}; do
echo "Running treefmt for the ''${i}th time"
${config.treefmt.build.wrapper}/bin/treefmt --clear-cache --fail-on-change "$@" && exit 0
done
exit $?
'';
};
formatter = pkgs.writeShellScriptBin "treefmt-auto" ''
for i in {1..5}; do
echo "Running treefmt for the ''${i}th time"
${config.treefmt.build.wrapper}/bin/treefmt --clear-cache --fail-on-change "$@" && exit 0
done
exit $?
'';
};
}
1 change: 0 additions & 1 deletion pkgs/uncategorized/calibre-cops/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
sources,
lib,
stdenvNoCC,
dos2unix,
unzip,
...
}:
Expand Down
2 changes: 0 additions & 2 deletions pkgs/uncategorized/unigine-heaven/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@
lib,
stdenv,
autoPatchelfHook,
buildFHSEnv,
copyDesktopItems,
makeDesktopItem,
makeWrapper,
# Dependencies
fontconfig,
freetype,
glib,
glxinfo,
libglvnd,
openal,
xorg,
Expand Down

0 comments on commit eb00b32

Please sign in to comment.