mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 23:49:56 +00:00
Add turnstile Emacs service and stable ssh-agent
This commit is contained in:
2
dotfiles/desktop/.bashrc.d/15-runit-desktop.sh
Normal file
2
dotfiles/desktop/.bashrc.d/15-runit-desktop.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
export SVDIR="$HOME/.local/runit/current"
|
||||
export SSH_AUTH_SOCK="$HOME/.local/state/ssh-agent/socket"
|
||||
15
dotfiles/desktop/.bashrc.d/25-emacs-client-desktop.sh
Normal file
15
dotfiles/desktop/.bashrc.d/25-emacs-client-desktop.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
if command -v emacsclient >/dev/null 2>&1; then
|
||||
ec() {
|
||||
emacsclient -c -n "$@" || {
|
||||
printf '%s\n' "Emacs server is not available. Log into a graphical session and ensure the turnstile-managed 'emacs' service is running." >&2
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
||||
et() {
|
||||
emacsclient -t "$@" || {
|
||||
printf '%s\n' "Emacs server is not available. Ensure the turnstile-managed 'emacs' service is running in your graphical session." >&2
|
||||
return 1
|
||||
}
|
||||
}
|
||||
fi
|
||||
@@ -7,6 +7,7 @@ $locker = ~/.local/bin/lock-session
|
||||
$screenshot = ~/.local/bin/screenshot-wayland
|
||||
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
exec-once = ~/.local/bin/update-turnstile-env
|
||||
exec-once = dex --autostart --environment Hyprland
|
||||
exec-once = gnome-keyring-daemon --start --components=secrets
|
||||
exec-once = ~/.local/bin/setup-gtk-theme
|
||||
@@ -79,6 +80,7 @@ windowrulev2 = float,class:^(blueman-manager)$
|
||||
|
||||
bind = $mod, Return, exec, $terminal
|
||||
bind = $mod SHIFT, Return, exec, $fallback_terminal
|
||||
bind = $mod SHIFT, E, exec, emacsclient -c -n
|
||||
bind = $mod, D, exec, $menu
|
||||
bind = $mod SHIFT, V, exec, pavucontrol
|
||||
bind = $mod SHIFT, F, exec, thunar
|
||||
|
||||
@@ -58,6 +58,9 @@ bindsym $mod+Return exec --no-startup-id /usr/bin/alacritty
|
||||
# Emergency terminal fallback
|
||||
bindsym $mod+Shift+Return exec --no-startup-id st
|
||||
|
||||
# Emacs client
|
||||
bindsym $mod+Shift+e exec --no-startup-id emacsclient -c -n
|
||||
|
||||
# Launcher
|
||||
#bindsym $mod+d exec --no-startup-id "rofi -modi drun,run -show drun"
|
||||
bindsym $mod+d exec --no-startup-id "rofi -show drun -theme ~/.config/rofi/config.rasi"
|
||||
|
||||
11
dotfiles/desktop/.config/service/emacs/run
Executable file
11
dotfiles/desktop/.config/service/emacs/run
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
export SSH_AUTH_SOCK="$HOME/.local/state/ssh-agent/socket"
|
||||
|
||||
if [ -n "${TURNSTILE_ENV_DIR:-}" ]; then
|
||||
exec chpst -e "$TURNSTILE_ENV_DIR" emacs --fg-daemon
|
||||
fi
|
||||
|
||||
exec emacs --fg-daemon
|
||||
@@ -14,6 +14,7 @@ font pango:Liberation Mono 10
|
||||
# Session bootstrap
|
||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XCURSOR_THEME XCURSOR_SIZE
|
||||
exec systemctl --user import-environment WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XCURSOR_THEME XCURSOR_SIZE
|
||||
exec ~/.local/bin/update-turnstile-env
|
||||
exec dex --autostart --environment sway
|
||||
exec gnome-keyring-daemon --start --components=secrets
|
||||
exec ~/.local/bin/setup-gtk-theme
|
||||
@@ -71,6 +72,7 @@ set $right l
|
||||
# App launchers and window actions
|
||||
bindsym $mod+Return exec $terminal
|
||||
bindsym $mod+Shift+Return exec $fallback_terminal
|
||||
bindsym $mod+Shift+e exec emacsclient -c -n
|
||||
bindsym $mod+d exec $menu
|
||||
bindsym $mod+Shift+v exec pavucontrol
|
||||
bindsym $mod+Shift+f exec thunar
|
||||
|
||||
@@ -12,11 +12,12 @@ session_name=${1##*/}
|
||||
export XDG_CURRENT_DESKTOP="$session_name"
|
||||
export XDG_SESSION_DESKTOP="$session_name"
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export SSH_AUTH_SOCK="$HOME/.local/state/ssh-agent/socket"
|
||||
|
||||
exec dbus-run-session sh -eu -c '
|
||||
umask 077
|
||||
printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$HOME/.dbus-session-bus-address"
|
||||
eval "$(ssh-agent -s)" >/dev/null
|
||||
gpgconf --launch gpg-agent
|
||||
"$HOME/.local/bin/update-turnstile-env"
|
||||
exec "$@"
|
||||
' sh "$@"
|
||||
|
||||
@@ -11,6 +11,7 @@ session_name=sway
|
||||
export XDG_CURRENT_DESKTOP="$session_name"
|
||||
export XDG_SESSION_DESKTOP="$session_name"
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export SSH_AUTH_SOCK="$HOME/.local/state/ssh-agent/socket"
|
||||
|
||||
if [ "${SWAY_UNSUPPORTED_GPU:-0}" = "1" ]; then
|
||||
set -- sway --unsupported-gpu
|
||||
@@ -21,7 +22,7 @@ fi
|
||||
exec dbus-run-session sh -eu -c '
|
||||
umask 077
|
||||
printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$HOME/.dbus-session-bus-address"
|
||||
eval "$(ssh-agent -s)" >/dev/null
|
||||
gpgconf --launch gpg-agent
|
||||
"$HOME/.local/bin/update-turnstile-env"
|
||||
exec "$@"
|
||||
' sh "$@"
|
||||
|
||||
18
dotfiles/desktop/.local/bin/update-turnstile-env
Executable file
18
dotfiles/desktop/.local/bin/update-turnstile-env
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
if ! command -v turnstile-update-runit-env >/dev/null 2>&1; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
turnstile-update-runit-env \
|
||||
DISPLAY \
|
||||
WAYLAND_DISPLAY \
|
||||
XAUTHORITY \
|
||||
DBUS_SESSION_BUS_ADDRESS \
|
||||
SSH_AUTH_SOCK \
|
||||
XDG_CURRENT_DESKTOP \
|
||||
XDG_SESSION_DESKTOP \
|
||||
XDG_SESSION_TYPE \
|
||||
SWAYSOCK >/dev/null 2>&1 || true
|
||||
@@ -10,11 +10,12 @@ session_name=${1##*/}
|
||||
export XDG_CURRENT_DESKTOP="$session_name"
|
||||
export XDG_SESSION_DESKTOP="$session_name"
|
||||
export XDG_SESSION_TYPE=x11
|
||||
export SSH_AUTH_SOCK="$HOME/.local/state/ssh-agent/socket"
|
||||
|
||||
exec dbus-run-session sh -eu -c '
|
||||
umask 077
|
||||
printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$HOME/.dbus-session-bus-address"
|
||||
eval "$(ssh-agent -s)" >/dev/null
|
||||
gpgconf --launch gpg-agent
|
||||
"$HOME/.local/bin/update-turnstile-env"
|
||||
exec "$@"
|
||||
' sh "$@"
|
||||
|
||||
Reference in New Issue
Block a user