suckless/home/.xinitrc
alejandrogs73 2850a4fc73
Automontaje de USB, suspender con batería agotada, bloqueo por inactividad y TLP
- automontaje (servicio de runit, root): monta memorias USB y tarjetas SD
  en /mnt/ETIQUETA o /mnt/sdXY y las desmonta al sacarlas, con
  notificación. FAT/exFAT/NTFS (ntfs3 del kernel) a nombre del usuario;
  los discos internos (ID_BUS distinto de usb) no se tocan.
- bateria: al 3 % sin cargador avisa y, si en 10 s sigue descargando,
  suspende con sudo -n zzz (sudoers.d/zzz: solo zzz sin argumentos, sin
  contraseña, para wheel).
- .xinitrc: xss-lock bloquea con slock tras 30 min de inactividad y la
  pantalla se apaga un minuto después.
- install.sh: xss-lock, tlp y tlp-rdw; servicios tlp y automontaje; los
  sudoers se validan con visudo y se instalan con modo 440.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 21:48:36 +02:00

43 lines
1.2 KiB
Bash

#!/bin/sh
# elogind ya crea XDG_RUNTIME_DIR (/run/user/UID); esto es solo por si falta.
if [ -z "$XDG_RUNTIME_DIR" ]; then
export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir
mkdir -p "$XDG_RUNTIME_DIR"
chmod 0700 "$XDG_RUNTIME_DIR"
fi
# Abrir el bus de sesión D-Bus antes de lanzar nada, para que pipewire,
# wireplumber, dunst, blueman... y dwm compartan el mismo bus.
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
exec dbus-run-session -- sh "$HOME/.xinitrc"
fi
# Apps Qt con el tema de qt5ct/qt6ct (Everforest, Papirus). El plugin de
# qt6ct también responde a "qt5ct", así que vale para Qt 5 y Qt 6.
export QT_QPA_PLATFORMTHEME=qt5ct
# Teclado y monitores primero; el fondo se pinta después con la geometría final.
setxkbmap es
xrandr --output eDP --primary --auto --output HDMI-A-0 --mode 1280x720 --rate 60.00 --right-of eDP
feh --no-fehbg --bg-fill "$HOME/.local/share/wallpaper.jpg" &
pipewire &
wireplumber &
pipewire-pulse &
dunst &
picom &
blueman-applet &
slstatus &
clipmenud &
gammastep &
bateria &
# Bloquear con slock tras 30 minutos sin tocar nada, y apagar la pantalla un
# minuto después. Al suspender ya bloquea el hook de zzz (--ignore-sleep).
xset s 1800 1800
xset dpms 0 0 1860
xss-lock --ignore-sleep -- slock &
exec dwm