diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-05-20 16:06:57 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-05-20 16:14:24 +0200 |
commit | 5156e1aae36a153be98b6832ab3ced7be2b2faee (patch) | |
tree | 3f050d3bc567af4c72f87e0925d21c3521436e45 /modules/home/soispha/conf/python/pythonrc.py | |
parent | refactor(hm/conf/zsh): Remove old zsh-prompt file (diff) | |
download | nixos-config-5156e1aae36a153be98b6832ab3ced7be2b2faee.zip |
refactor(hm): Rename to `modules/home`
Diffstat (limited to 'modules/home/soispha/conf/python/pythonrc.py')
-rw-r--r-- | modules/home/soispha/conf/python/pythonrc.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/home/soispha/conf/python/pythonrc.py b/modules/home/soispha/conf/python/pythonrc.py new file mode 100644 index 00000000..466d9788 --- /dev/null +++ b/modules/home/soispha/conf/python/pythonrc.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 + + +def is_vanilla() -> bool: + import sys + + return not hasattr(__builtins__, "__IPYTHON__") and "bpython" not in sys.argv[0] + + +def setup_history(): + import os + import atexit + import readline + from pathlib import Path + + if state_home := os.environ.get("XDG_DATA_HOME"): + state_home = Path(state_home) + else: + state_home = Path.home() / ".local" / "state" + + history: Path = state_home / "python" / "history" + + if not os.path.exists(history): + open(history, "w") + + readline.read_history_file(str(history)) + atexit.register(readline.write_history_file, str(history)) + + +if is_vanilla(): + setup_history() + +# vim: ft=python |