diff --git a/.chezmoiscripts/run_once_after_30-user-services.sh.tmpl b/.chezmoiscripts/run_once_after_30-user-services.sh.tmpl index 2b366d2..3d5d630 100644 --- a/.chezmoiscripts/run_once_after_30-user-services.sh.tmpl +++ b/.chezmoiscripts/run_once_after_30-user-services.sh.tmpl @@ -16,6 +16,12 @@ if [ -f "$HOME/.config/systemd/user/kitty-day-save.service" ] && command -v syst systemctl --user daemon-reload || true systemctl --user enable --now kitty-day-save.service || true fi + +# Symlink ~/Code repos into ~/Projects every 5 min (same role gate). +if [ -f "$HOME/.config/systemd/user/projects-sync.timer" ] && command -v systemctl >/dev/null 2>&1; then + systemctl --user daemon-reload || true + systemctl --user enable --now projects-sync.timer || true +fi {{ else -}} #!/bin/sh exit 0 diff --git a/dot_bashrc b/dot_bashrc index 29d774e..702e7f1 100644 --- a/dot_bashrc +++ b/dot_bashrc @@ -77,7 +77,3 @@ command -v atuin >/dev/null 2>&1 && eval "$(atuin init bash)" case ":$PATH:" in *:'/home/prad/.local/bin':*) ;; *) export PATH='/home/prad/.local/bin':"$PATH" ;; esac # <<< termium <<< -# Added by LM Studio CLI (lms) -export PATH="$PATH:/home/prad/.lmstudio/bin" -# End of LM Studio CLI section - diff --git a/dot_config/ghostty/config b/dot_config/ghostty/config index accec46..b09b93b 100644 --- a/dot_config/ghostty/config +++ b/dot_config/ghostty/config @@ -75,6 +75,7 @@ keybind = ctrl+shift+x=text:\x02x # session picker: tmux-sessionx on prefix o keybind = ctrl+shift+o=text:\x02o +keybind = super+enter=text:\x02o keybind = ctrl+shift+enter=text:\x02z keybind = ctrl+shift+z=text:\x02z diff --git a/dot_config/go/env.tmpl b/dot_config/go/env.tmpl new file mode 100644 index 0000000..b7985d8 --- /dev/null +++ b/dot_config/go/env.tmpl @@ -0,0 +1,2 @@ +GOPATH={{ .chezmoi.homeDir }}/.local/share/go +GOBIN={{ .chezmoi.homeDir }}/.local/share/go/bin diff --git a/dot_config/systemd/user/projects-sync.service b/dot_config/systemd/user/projects-sync.service new file mode 100644 index 0000000..e1de7e4 --- /dev/null +++ b/dot_config/systemd/user/projects-sync.service @@ -0,0 +1,6 @@ +[Unit] +Description=Symlink ~/Code repos into ~/Projects + +[Service] +Type=oneshot +ExecStart=%h/.local/bin/projects-sync diff --git a/dot_config/systemd/user/projects-sync.timer b/dot_config/systemd/user/projects-sync.timer new file mode 100644 index 0000000..d1db149 --- /dev/null +++ b/dot_config/systemd/user/projects-sync.timer @@ -0,0 +1,11 @@ +[Unit] +Description=Keep ~/Projects in sync with ~/Code + +# ponytail: polls every 5 min; ghq clones land two levels below ~/Code, out +# of reach of a non-recursive .path unit. Switch to inotify if 5 min is slow. +[Timer] +OnStartupSec=30s +OnUnitActiveSec=5min + +[Install] +WantedBy=timers.target diff --git a/dot_config/uwsm/env-hyprland b/dot_config/uwsm/env-hyprland index d3ddded..9468ae6 100644 --- a/dot_config/uwsm/env-hyprland +++ b/dot_config/uwsm/env-hyprland @@ -7,3 +7,10 @@ igpu=$(readlink -f /dev/dri/by-path/pci-0000:c4:00.0-card 2>/dev/null) [ -e "$igpu" ] && export AQ_DRM_DEVICES="$igpu" unset igpu + +# EGL through Mesa only, for Hyprland and every app in the session. glvnd +# otherwise tries NVIDIA's vendor first (10_nvidia.json sorts before +# 50_mesa.json), so the compositor and GL apps open /dev/nvidiactl even +# though they render on the iGPU; when the eGPU drops off the bus, they +# would be holding it. CUDA does not go through EGL and is unaffected. +export __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json diff --git a/dot_zshrc b/dot_zshrc index 9c9943f..56354d7 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -118,7 +118,3 @@ command -v atuin >/dev/null 2>&1 && eval "$(atuin init zsh)" case ":$PATH:" in *:'/home/prad/.local/bin':*) ;; *) export PATH='/home/prad/.local/bin':"$PATH" ;; esac # <<< termium <<< -# Added by LM Studio CLI (lms) -export PATH="$PATH:/home/prad/.lmstudio/bin" -# End of LM Studio CLI section -