diff --git a/bootstrap.sh b/bootstrap.sh index a4495a2..5128cdd 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -183,9 +183,9 @@ install_dotfiles() { } select_keymap() { - [ -L "${user_home}/.local/share/xkb/compiled/default" ] && return - map="$(find "${user_home}/.local/share/xkb/compiled" -type f -printf "%f\n" | fzf --header="Select a default keymap:")" - ln -s "$map" "${user_home}/.local/share/xkb/compiled/default" + [ -L "${user_home}/.local/share/xkb/compiled/keymap" ] && return + map="$(find "${user_home}/.local/share/xkb/compiled" -type f -printf "%f\n" | fzf --header="Select a keymap keymap:")" + ln -s "$map" "${user_home}/.local/share/xkb/compiled/keymap" } enable_services() { diff --git a/files/etc/python/pythonrc b/files/etc/python/pythonrc new file mode 100644 index 0000000..32a91eb --- /dev/null +++ b/files/etc/python/pythonrc @@ -0,0 +1,32 @@ +# vim: ft=python +import os +import atexit +import readline +from pathlib import Path + +if readline.get_current_history_length() == 0: + + state_home = os.environ.get("XDG_STATE_HOME") + if state_home is None: + state_home = Path.home() / ".local" / "state" + else: + state_home = Path(state_home) + + history_path = state_home / "python_history" + if history_path.is_dir(): + raise OSError(f"'{history_path}' cannot be a directory") + + history = str(history_path) + + try: + readline.read_history_file(history) + except OSError: # Non existent + pass + + def write_history(): + try: + readline.write_history_file(history) + except OSError: + pass + + atexit.register(write_history) diff --git a/files/etc/profile.d/xdg.sh b/files/etc/zsh/zshenv similarity index 100% rename from files/etc/profile.d/xdg.sh rename to files/etc/zsh/zshenv