summaryrefslogtreecommitdiff
path: root/dotfiles/common/.xinitrc
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/common/.xinitrc')
-rwxr-xr-xdotfiles/common/.xinitrc75
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