clan-core/pkgs/clan-app/shell.nix

63 lines
1.3 KiB
Nix
Raw Normal View History

2024-03-17 18:48:49 +00:00
{
lib,
stdenv,
2024-06-05 09:23:12 +00:00
clan-app,
2024-03-17 18:48:49 +00:00
mkShell,
ruff,
desktop-file-utils,
xdg-utils,
mypy,
python3,
gtk4,
libadwaita,
webview-ui,
2024-03-17 18:48:49 +00:00
}:
let
devshellTestDeps =
2024-06-05 09:23:12 +00:00
clan-app.externalTestDeps
++ (with python3.pkgs; [
rope
mypy
ipdb
setuptools
wheel
pip
]);
in
mkShell {
2024-06-05 09:23:12 +00:00
inherit (clan-app) nativeBuildInputs;
buildInputs =
[
ruff
gtk4.dev # has the demo called 'gtk4-widget-factory'
libadwaita.devdoc # has the demo called 'adwaita-1-demo'
]
++ devshellTestDeps
# Dependencies for testing for linux hosts
++ (lib.optionals stdenv.isLinux [
xdg-utils # install desktop files
desktop-file-utils # verify desktop files
]);
2024-04-23 16:55:00 +00:00
PYTHONBREAKPOINT = "ipdb.set_trace";
shellHook = ''
export GIT_ROOT=$(git rev-parse --show-toplevel)
2024-06-05 09:23:12 +00:00
export PKG_ROOT=$GIT_ROOT/pkgs/clan-app
2024-06-05 09:23:12 +00:00
# Add clan-app command to PATH
export PATH="$PKG_ROOT/bin":"$PATH"
# Add clan-cli to the python path so that we can import it without building it in nix first
export PYTHONPATH="$GIT_ROOT/pkgs/clan-cli":"$PYTHONPATH"
# Add the webview-ui to the .webui directory
2024-06-05 09:23:12 +00:00
rm -rf ./clan_app/.webui/*
mkdir -p ./clan_app/.webui
cp -a ${webview-ui}/lib/node_modules/@clan/webview-ui/dist/* ./clan_app/.webui
chmod -R +w ./clan_app/.webui
'';
}