diff options
Diffstat (limited to 'dotfiles/common/.xinitrc')
| -rwxr-xr-x | dotfiles/common/.xinitrc | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/dotfiles/common/.xinitrc b/dotfiles/common/.xinitrc new file mode 100755 index 0000000..991f507 --- /dev/null +++ b/dotfiles/common/.xinitrc @@ -0,0 +1,75 @@ +#!/bin/sh +# Craig Jennings <c@cjennings.net> +# X11 session initialization + +# ============================================================================ +# Gnome Keyring Integration +# ============================================================================ +# Start gnome-keyring-daemon and export environment variables +# This ensures SSH agent, secrets, and GPG agent integration work properly +eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) +export SSH_AUTH_SOCK + +# Update D-Bus activation environment with keyring variables +# This allows apps started via D-Bus to access the keyring +dbus-update-activation-environment --systemd DISPLAY XAUTHORITY SSH_AUTH_SOCK + +# ============================================================================ +# DWM Session Startup +# ============================================================================ +# Set logfile for dwm output +logdir="$HOME/.local/var/log" +[ -d "$logdir" ] || mkdir -p "$logdir" +logfile="$logdir/$(date +%Y-%m-%d_%H-%M-%S-%3N.dwm.log)" + +# X Org environment +export XAUTHORITY=$HOME/.Xauthority +export DISPLAY=:0.0 + +# Reset GPG agent so it inherits DISPLAY for pinentry-dmenu +~/.local/bin/reset-auth >/dev/null 2>&1 + +# Allow sudo use of display +xhost +si:localuser:root + +# Merge local configuration for X client applications +[ -f ~/.Xresources ] && xrdb -merge -I $HOME ~/.Xresources + +# Merge xmodmap configuration +[[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap + +# Info in the status bar +(conky | while read LINE; do xsetroot -name "$LINE"; done) & + +# Map short-pressed Ctrl to Escape (commented out) +# xcape -e 'Control_L=Escape' & + +# Map shift backspace to delete (commented out) +# xcape -e 'Shift_L=Delete' + +# Make CapsLock behave like Ctrl +setxkbmap -option ctrl:nocaps + +# Start background services +xautolock -time 5 -locker slock & +# picom & +sxhkd & +[ -f ~/.fehbg ] && ~/.fehbg & +nm-applet & +blueman-applet & +caffeine start & +battery_monitor & +mpd & +dunst & +redshift & +sudo powertop --auto-tune & +flameshot & +insync start & +# touchpad-indicator-start & +signal-desktop --start-in-tray & +protonmail-bridge --no-window & +# warpinator-start & + +# Start dwm window manager +echo "$(date): Starting dwm" >> "$logfile" 2>&1 +exec dwm > $logfile 2>&1 |
