From 4d14ebe072d06bc46ad4af4ea74bcf4af60374fe Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Sat, 13 Sep 2025 18:43:55 +0200 Subject: [PATCH 1/9] Add delay before starting eww-window service --- home/.config/systemd/user/eww-window@.service | 3 ++- home/.config/systemd/user/eww.service | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) 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 From c127f593b4c0ee51968c14b9a5f99ab5185f0633 Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Mon, 22 Sep 2025 09:29:17 +0200 Subject: [PATCH 2/9] Update pythonrc --- home/.config/python/pythonrc.py | 39 +++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 12 deletions(-) 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(): From 119aeb9d9b27135397346906899ad4d5cbeb50a8 Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Mon, 22 Sep 2025 09:30:57 +0200 Subject: [PATCH 3/9] Add XDG cmd alias for svn --- home/.config/shell/aliases | 1 + 1 file changed, 1 insertion(+) 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 From 8f63e1d5424c3ba3cc1e34fe6817668b21c8a605 Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Mon, 22 Sep 2025 09:31:15 +0200 Subject: [PATCH 4/9] Add XDG env vars for terminfo --- home/.config/shell/environment | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.config/shell/environment b/home/.config/shell/environment index 3feb330..2a6448d 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" From 5be3f5bc22043907f435b5511618a79f044eba50 Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Mon, 22 Sep 2025 09:31:25 +0200 Subject: [PATCH 5/9] Add XDG env var for python history --- home/.config/shell/environment | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.config/shell/environment b/home/.config/shell/environment index 2a6448d..d17567b 100755 --- a/home/.config/shell/environment +++ b/home/.config/shell/environment @@ -81,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" From 19b62c6d0e5a51918375ce3c12d55e16aabd1db3 Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Mon, 22 Sep 2025 09:32:02 +0200 Subject: [PATCH 6/9] Add XDG env vars for minikube and ansible --- home/.config/shell/environment | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.config/shell/environment b/home/.config/shell/environment index d17567b..8901598 100755 --- a/home/.config/shell/environment +++ b/home/.config/shell/environment @@ -102,6 +102,8 @@ 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" # Theming export GTK_THEME="Tokyonight-Dark" From fcf31d2b7a843ed307f85a1cb0bc73aa53b89c0d Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Mon, 22 Sep 2025 09:37:53 +0200 Subject: [PATCH 7/9] Make lein and m2 follow XDG base dir spec --- home/.config/shell/environment | 1 + home/.local/share/lein/profiles.clj | 4 ++++ install_gui.sh | 1 + 3 files changed, 6 insertions(+) create mode 100644 home/.local/share/lein/profiles.clj diff --git a/home/.config/shell/environment b/home/.config/shell/environment index 8901598..158a86d 100755 --- a/home/.config/shell/environment +++ b/home/.config/shell/environment @@ -104,6 +104,7 @@ 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/.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..719c0aa 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 From 4b39118bd60b7c8174bd908e242ee7d879f1efa6 Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Mon, 22 Sep 2025 09:40:04 +0200 Subject: [PATCH 8/9] Enable cliphist service --- install_gui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_gui.sh b/install_gui.sh index 719c0aa..ad1e4b9 100755 --- a/install_gui.sh +++ b/install_gui.sh @@ -148,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 "" From 9499f164c05085a9c477d3e7497f483b9ba06bae Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Mon, 22 Sep 2025 09:44:24 +0200 Subject: [PATCH 9/9] Add movetoworkspacesilent binding for special workspace --- home/.config/hypr/hyprland.d/keybinds.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 ###