{ pkgs, config, lib, ... }: let cfg = config.grimmShared; in { config = with cfg; lib.mkIf (enable && tooling.enable) { environment.systemPackages = with pkgs; [ (python3.withPackages ( python-pkgs: with python-pkgs; [ requests matplotlib numpy scipy pygobject3 ] )) ] ++ lib.optionals cfg.graphical [ jetbrains.pycharm-community ]; programs.xonsh = { enable = true; config = lib.concatLines ( lib.mapAttrsToList ( name: value: ''aliases["${name}"] = "${value}"'' ) config.environment.shellAliases ); package = pkgs.xonsh.wrapper.override { extraPackages = ps: with ps; [ requests matplotlib numpy scipy pygobject3 ]; }; }; }; }