NixOS/modules/dev/python.nix
2024-06-07 17:07:21 -06:00

39 lines
1.2 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
options.my.dev.python.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.python.enable {
home-manager.users.jawz.programs.xdg.configFile = {
"python/pythonrc".source = ../dotfiles/pythonrc;
};
users.users.jawz.packages =
(with pkgs; ([
pipenv # python development workflow for humans
(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
]
))
]))
++ (with pkgs.nodePackages; [
pyright # LSP
]);
environment.variables = {
PYTHONSTARTUP = "${XDG_CONFIG_HOME}/python/pythonrc";
};
};
}