2024-05-27 08:58:55 +00:00
|
|
|
{ ... }:
|
2023-07-28 12:57:23 +00:00
|
|
|
{
|
2023-07-28 13:03:06 +00:00
|
|
|
perSystem =
|
2024-03-17 18:48:49 +00:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
self',
|
|
|
|
config,
|
|
|
|
...
|
2024-03-01 11:15:44 +00:00
|
|
|
}:
|
|
|
|
let
|
|
|
|
writers = pkgs.callPackage ./pkgs/builders/script-writers.nix { };
|
|
|
|
|
|
|
|
ansiEscapes = {
|
|
|
|
reset = ''\033[0m'';
|
|
|
|
green = ''\033[32m'';
|
|
|
|
};
|
|
|
|
|
2024-03-02 04:55:15 +00:00
|
|
|
# A python program to switch between dev-shells
|
|
|
|
# usage: select-shell shell-name
|
|
|
|
# the currently enabled dev-shell gets stored in ./.direnv/selected-shell
|
2024-03-17 18:48:49 +00:00
|
|
|
select-shell = writers.writePython3Bin "select-shell" {
|
|
|
|
flakeIgnore = [ "E501" ];
|
|
|
|
} ./pkgs/scripts/select-shell.py;
|
2024-03-01 11:15:44 +00:00
|
|
|
in
|
|
|
|
{
|
2023-07-28 13:03:06 +00:00
|
|
|
devShells.default = pkgs.mkShell {
|
|
|
|
packages = [
|
2024-03-01 11:15:44 +00:00
|
|
|
select-shell
|
2023-07-28 13:03:06 +00:00
|
|
|
pkgs.tea
|
2024-05-31 14:35:59 +00:00
|
|
|
# Better error messages than nix 2.18
|
|
|
|
pkgs.nixVersions.latest
|
2023-07-28 13:03:06 +00:00
|
|
|
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
|
|
|
];
|
2023-08-03 12:25:26 +00:00
|
|
|
shellHook = ''
|
2024-03-01 11:15:44 +00:00
|
|
|
echo -e "${ansiEscapes.green}switch to another dev-shell using: select-shell${ansiEscapes.reset}"
|
2023-08-03 12:25:26 +00:00
|
|
|
'';
|
2023-07-28 13:03:06 +00:00
|
|
|
};
|
2023-07-28 12:57:23 +00:00
|
|
|
};
|
|
|
|
}
|