#!/bin/sh # Craig Jennings # 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 # 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 & nitrogen --restore & nm-applet & blueman-applet & caffeine & caffeine-indicator & 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