Compare commits
No commits in common. "4848c67a9c9866dcbf3635391ccdd9648c9c1fac" and "6b22272eb11c20d0e86f66b9e1609b3bea3419be" have entirely different histories.
4848c67a9c
...
6b22272eb1
@ -39,6 +39,7 @@ export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
|
|||||||
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
|
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
|
||||||
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
|
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
|
||||||
export PATH="$HOME/.local/bin:$PATH:$XDG_DATA_HOME/xxtools:$XDG_DATA_HOME/flutter/bin"
|
export PATH="$HOME/.local/bin:$PATH:$XDG_DATA_HOME/xxtools:$XDG_DATA_HOME/flutter/bin"
|
||||||
|
export PYTHONSTARTUP="$XDG_CONFIG_HOME"/python/pythonrc
|
||||||
export PYTHON_HISTORY="$XDG_STATE_HOME"/python_history
|
export PYTHON_HISTORY="$XDG_STATE_HOME"/python_history
|
||||||
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
||||||
export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history
|
export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history
|
||||||
|
45
dot_config/python/pythonrc
Normal file
45
dot_config/python/pythonrc
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# This entire thing is unnecessary post v3.13.0a3
|
||||||
|
# https://github.com/python/cpython/issues/73965
|
||||||
|
|
||||||
|
|
||||||
|
def is_vanilla() -> bool:
|
||||||
|
""":return: whether running "vanilla" Python"""
|
||||||
|
import sys
|
||||||
|
|
||||||
|
return not hasattr(__builtins__, "__IPYTHON__") and "bpython" not in sys.argv[0]
|
||||||
|
|
||||||
|
|
||||||
|
def setup_history():
|
||||||
|
"""read and write history from state file"""
|
||||||
|
import os
|
||||||
|
import atexit
|
||||||
|
import readline
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
|
||||||
|
if state_home := os.environ.get("XDG_STATE_HOME"):
|
||||||
|
state_home = Path(state_home)
|
||||||
|
else:
|
||||||
|
state_home = Path.home() / ".local" / "state"
|
||||||
|
if not state_home.is_dir():
|
||||||
|
print("Error: XDG_SATE_HOME does not exist at", state_home)
|
||||||
|
|
||||||
|
history: Path = state_home / "python_history"
|
||||||
|
|
||||||
|
# https://github.com/python/cpython/issues/105694
|
||||||
|
if not history.is_file():
|
||||||
|
with open(history, "w") as f:
|
||||||
|
f.write(
|
||||||
|
"_HiStOrY_V2_"
|
||||||
|
+ "\
|
||||||
|
\
|
||||||
|
"
|
||||||
|
) # breaks on macos + python3 without this.
|
||||||
|
|
||||||
|
readline.read_history_file(history)
|
||||||
|
atexit.register(readline.write_history_file, history)
|
||||||
|
|
||||||
|
|
||||||
|
if is_vanilla():
|
||||||
|
setup_history()
|
Loading…
Reference in New Issue
Block a user