{ config, lib, pkgs, ... }: { options.my.dev.python.enable = lib.mkEnableOption "enable"; config = lib.mkIf config.my.dev.python.enable { home-manager.users.jawz.xdg.configFile."python/pythonrc".source = ../../dotfiles/pythonrc; environment.variables.PYTHONSTARTUP = "\${XDG_CONFIG_HOME}/python/pythonrc"; users.users.jawz.packages = with pkgs; [ pipenv # python development workflow for humans nodePackages.pyright # LSP (python3.withPackages (ps: with ps; [ black # Python code formatter editorconfig # follow rules of contributin flake8 # wraper for pyflakes, pycodestyle and mccabe isort # sort Python imports pyflakes # checks source code for errors pylint # bug and style checker for python speedtest-cli # check internet speed from the comand line # nose # testing and running python scripts # poetry # dependency management made easy # pytest # framework for writing tests ])) ]; }; }