Files
nix-dotfiles/home/programs/python.nix
2025-06-04 12:01:57 +02:00

32 lines
906 B
Nix

{ config, lib, pkgs, extendedLib, ... }:
let
cfg = config.programs.python;
in
{
options.programs.python.enable = lib.mkEnableOption "python";
config = lib.mkIf cfg.enable {
# Python for interactive use
home.packages = [
(pkgs.python3.withPackages (pypkgs: with pypkgs; [
requests
]))
];
xdg.configFile."python/pyrc".text = ''
#!/usr/bin/env python3
import sys
# You also need \x01 and \x02 to separate escape sequence, due to:
# https://stackoverflow.com/a/9468954/1147688
sys.ps1='\x01\x1b${extendedLib.termColors.front.blue "[Python]> "}\x02>>>\x01\x1b[0m\x02 ' # bright yellow
sys.ps2='\x01\x1b[1;49;31m\x02...\x01\x1b[0m\x02 ' # bright red
'';
home.sessionVariables = {
PYTHONSTARTUP = "${config.xdg.configHome}/python/pyrc";
PYTHON_HISTORY = "${config.xdg.dataHome}/python_history";
};
};
}