{
config,
lib,
pkgs,
}:
{
devenv.shells.default = {
#
packages = with pkgs; [
config.packages.default
nixfmt-rfc-style
mdformat
shfmt
treefmt
];
enterShell =
let
commonJustfile = pkgs.writeTextFile {
name = "justfile";
text = lib.concatStringsSep "\n" (
lib.mapAttrsToList (_: feature: feature.outputs.justfile) config.just-flake.features
);
};
in
''
#
export FLAKE_ROOT="''$(${lib.getExe config.flake-root.package})"
#
ln -sf ${builtins.toString commonJustfile} ./${config.just-flake.commonFileName}
'';
pre-commit = {
src = ./.;
hooks = {
deadnix.enable = true;
flake-checker.enable = true;
nixfmt-rfc-style.enable = true;
statix.enable = false;
# shellcheck.enable = true;
mdsh.enable = true;
black.enable = true;
};
};
};
}