clan-core/devShell.nix

45 lines
1.3 KiB
Nix
Raw Normal View History

2023-07-28 12:57:23 +00:00
{
2023-07-28 13:03:06 +00:00
perSystem =
{ pkgs
, self'
2023-08-25 19:14:23 +00:00
, config
2023-07-28 13:03:06 +00:00
, ...
}:
let
writers = pkgs.callPackage ./pkgs/builders/script-writers.nix { };
ansiEscapes = {
reset = ''\033[0m'';
green = ''\033[32m'';
};
# a python program using argparse to enable and disable dev shells
# synopsis: select-shell enable|disable shell-name
# enabled devshells are written as a newline separated list into ./.direnv/selected-shells
select-shell = writers.writePython3Bin "select-shell"
{
flakeIgnore = [ "E501" ];
} ./pkgs/scripts/select-shell.py;
in
{
2023-07-28 13:03:06 +00:00
devShells.default = pkgs.mkShell {
# inputsFrom = [ self'.devShells.python ];
2023-07-28 13:03:06 +00:00
packages = [
select-shell
2023-07-28 13:03:06 +00:00
pkgs.tea
self'.packages.tea-create-pr
self'.packages.merge-after-ci
2023-11-15 12:48:52 +00:00
self'.packages.pending-reviews
2023-08-25 19:14:23 +00:00
# treefmt with config defined in ./flake-parts/formatting.nix
config.treefmt.build.wrapper
2023-07-28 13:03:06 +00:00
];
shellHook = ''
# no longer used
rm -f "$(git rev-parse --show-toplevel)/.git/hooks/pre-commit"
echo -e "${ansiEscapes.green}switch to another dev-shell using: select-shell${ansiEscapes.reset}"
'';
2023-07-28 13:03:06 +00:00
};
2023-07-28 12:57:23 +00:00
};
}