diff --git a/home/.config/hypr/hyprland.d/keybinds.conf b/home/.config/hypr/hyprland.d/keybinds.conf index 61039bb..572e375 100644 --- a/home/.config/hypr/hyprland.d/keybinds.conf +++ b/home/.config/hypr/hyprland.d/keybinds.conf @@ -120,8 +120,9 @@ bind = ALT, grave, changegroupactive, b # ### SPECIAL WORKSPACE (SCRATCHPAD) ### # ###################################### -bind = ALT, grave, movetoworkspace, special bind = SUPER, grave, togglespecialworkspace, +bind = ALT, grave, movetoworkspace, special +bind = SUPER SHIFT, grave, movetoworkspacesilent, special # ######################### # ### MOVE WINDOW FOCUS ### diff --git a/home/.config/python/pythonrc.py b/home/.config/python/pythonrc.py index bf6051f..3c6cf66 100644 --- a/home/.config/python/pythonrc.py +++ b/home/.config/python/pythonrc.py @@ -1,29 +1,44 @@ +#!/usr/bin/env python3 +# This entire thing is unnecessary post v3.13.0a3 +# https://github.com/python/cpython/issues/73965 + +import os +import sys +import atexit +import readline +from pathlib import Path + + def is_vanilla() -> bool: - import sys - - return not hasattr(__builtins__, "__IPYTHON__") and "bpython" not in sys.argv[0] + """Check whether this is a vanilla Python interpreter below 3.13.""" + return ( + not hasattr(__builtins__, "__IPYTHON__") + and "bpython" not in sys.argv[0] + and sys.version_info < (3, 13) + ) -def setup_history(): - import os - import atexit - import readline - from pathlib import Path +def setup_history() -> None: + """Read and write history from state file.""" + # Check PYTHON_HISTORY for future-compatibility with Python 3.13 + if history := os.environ.get("PYTHON_HISTORY"): + history = Path(history) - if state_home := os.environ.get("XDG_STATE_HOME"): + # https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables + elif state_home := os.environ.get("XDG_STATE_HOME"): state_home = Path(state_home) else: state_home = Path.home() / ".local" / "state" - history: Path = state_home / "python_history" + history: Path = history or state_home / "python_history" # https://github.com/python/cpython/issues/105694 if not history.is_file(): # breaks on macos + python3 without this. readline.write_history_file(str(history)) - readline.read_history_file(str(history)) - atexit.register(readline.write_history_file, str(history)) + readline.read_history_file(history) + atexit.register(readline.write_history_file, history) if is_vanilla(): diff --git a/home/.config/shell/aliases b/home/.config/shell/aliases index 7080257..1873cd0 100755 --- a/home/.config/shell/aliases +++ b/home/.config/shell/aliases @@ -257,6 +257,7 @@ fi # XDG Base Directory fixes alias nvidia-settings='nvidia-settings --config=$XDG_CONFIG_HOME/nvidia/settings' +alias svn='svn --config-dir $XDG_CONFIG_HOME/subversion' # enable color support if [ -x /usr/bin/dircolors ]; then diff --git a/home/.config/shell/environment b/home/.config/shell/environment index 3feb330..158a86d 100755 --- a/home/.config/shell/environment +++ b/home/.config/shell/environment @@ -62,6 +62,8 @@ export ZSH_COMPDUMP="$ZSH_CACHE/zcompdump-${ZSH_VERSION:-}" # Per-Application XDG settings export LESSHISTFILE="-" +export TERMINFO="$XDG_DATA_HOME"/terminfo +export TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc":"$XDG_CONFIG_HOME/gtk-2.0/gtkrc.mine" export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" export GNUPGHOME="$XDG_DATA_HOME/gnupg" @@ -79,6 +81,7 @@ export NUGET_PACKAGES="$XDG_CACHE_HOME/NuGetPackages" export PARALLEL_HOME="$XDG_CONFIG_HOME/parallel" export RANDFILE="$XDG_CACHE_HOME/rnd" export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc.py" +export PYTHON_HISTORY="$XDG_STATE_HOME/python_history" export PYTHONPYCACHEPREFIX="$XDG_CACHE_HOME/python" export PYTHONUSERBASE="$XDG_DATA_HOME/python" export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history" @@ -99,6 +102,9 @@ export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME/jupyter" export RYE_HOME="$XDG_CONFIG_HOME/rye" export OMNISHARPHOME="$XDG_CONFIG_HOME"/omnisharp export PSQL_HISTORY="$XDG_STATE_HOME/psql_history" +export ANSIBLE_HOME="$XDG_DATA_HOME"/ansible +export MINIKUBE_HOME="$XDG_DATA_HOME/minikube" +export LEIN_HOME="$XDG_DATA_HOME"/lein # Theming export GTK_THEME="Tokyonight-Dark" diff --git a/home/.config/systemd/user/eww-window@.service b/home/.config/systemd/user/eww-window@.service index cdc12a7..14c7b73 100644 --- a/home/.config/systemd/user/eww-window@.service +++ b/home/.config/systemd/user/eww-window@.service @@ -1,12 +1,13 @@ [Unit] Description=Open %I eww window +Documentation=https://elkowar.github.io/eww/ After=graphical-session.target After=eww.service PartOf=eww.service [Service] Type=oneshot -ExecStartPre=/usr/bin/eww ping +ExecStartPre=/bin/sh -c "sleep 1 && eww ping" ExecStart=/usr/bin/eww open %i ExecStop=/usr/bin/eww close %i RemainAfterExit=true diff --git a/home/.config/systemd/user/eww.service b/home/.config/systemd/user/eww.service index a9a46fb..2908154 100644 --- a/home/.config/systemd/user/eww.service +++ b/home/.config/systemd/user/eww.service @@ -1,5 +1,6 @@ [Unit] Description=Eww daemon +Documentation=https://elkowar.github.io/eww/ After=graphical-session.target After=pipewire.service Requires=graphical-session.target diff --git a/home/.local/share/lein/profiles.clj b/home/.local/share/lein/profiles.clj new file mode 100644 index 0000000..f4633b5 --- /dev/null +++ b/home/.local/share/lein/profiles.clj @@ -0,0 +1,4 @@ +{:user {:local-repo #=(eval (str (System/getenv "XDG_CACHE_HOME") "/m2")) + :repositories {"local" {:url #=(eval (str "file://" (System/getenv "XDG_DATA_HOME") "/m2")) + :releases {:checksum :ignore}}} + }} diff --git a/install_gui.sh b/install_gui.sh index 1b29a36..ad1e4b9 100755 --- a/install_gui.sh +++ b/install_gui.sh @@ -24,6 +24,7 @@ mkdir -p ~/.cache/nv cp -ra home/.config/wget ~/.config mkdir -p ~/.config/gtk-2.0 touch ~/.config/gtk-2.0/gtkrc +cp -ra home/.local/share/lein ~/.local/share # DE configs (core apps/tools that make up the base graphical experience) cp -ra home/.config/xdg-desktop-portal ~/.config @@ -147,7 +148,7 @@ gsettings set org.gnome.desktop.interface cursor-size 24 # Services sudo systemctl enable --now seatd.service -systemctl --user enable polkit-gnome-agent.service fumon.service hyprpaper.service hypridle.service hyprsunset.service elephant.service walker.service swaync.service systemd-lock-handler.service hyprlock.service swaync-inhibit-lock.service swaync-inhibit-unlock.service pcmanfm-qt.service nm-applet.service +systemctl --user enable polkit-gnome-agent.service fumon.service hyprpaper.service hypridle.service hyprsunset.service elephant.service walker.service swaync.service systemd-lock-handler.service hyprlock.service swaync-inhibit-lock.service swaync-inhibit-unlock.service pcmanfm-qt.service nm-applet.service cliphist.service echo "GUI Installation finished, you should now reboot and run uwsm start hyprland.desktop" echo ""