doas, pinentry-dmenu y scripts en vez de blueman, autorandr y gammastep
- doas en vez de sudo (sistema/etc/doas.conf; xbps.d permite quitar sudo). - pinentry-dmenu en X y pinentry-curses en una tty (pinentry-menu); fuera GTK 2 (.gtkrc-2.0 y el arreglo de colores del tema). - bluetooth: menú de dmenu con bluetoothctl en vez de blueman. - pantallas: xrandr a pelo en vez de autorandr, también desde udev. - luz: sct cada minuto en vez de gammastep. - xwallpaper para el fondo y nsxiv para las imágenes de st, en vez de feh. - volumen salida en vez de pavucontrol; menu reúne los colores de dmenu. - mpv en vez de vlc; fuera btop. - install.sh: paso quitar para desinstalar lo sustituido. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
This commit is contained in:
parent
5fee14ab7f
commit
a83294ace4
23 changed files with 362 additions and 430 deletions
8
sistema/etc/doas.conf
Normal file
8
sistema/etc/doas.conf
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# doas en vez de sudo. Los de wheel pueden hacer de root con su contraseña,
|
||||
# que se recuerda unos minutos. Suspender, apagar y reiniciar (sin
|
||||
# argumentos) no la piden: los usan bateria y apagado (home/.local/bin).
|
||||
# Vale la última regla que coincide.
|
||||
permit persist :wheel
|
||||
permit nopass :wheel as root cmd zzz args
|
||||
permit nopass :wheel as root cmd poweroff args
|
||||
permit nopass :wheel as root cmd reboot args
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
# Suspender, apagar y reiniciar sin contraseña para los de wheel (solo esos
|
||||
# comandos y sin argumentos). Los usan el script bateria (suspender al
|
||||
# agotarse) y el menú de apagado (home/.local/bin/apagado).
|
||||
%wheel ALL=(root) NOPASSWD: /usr/bin/zzz "", /usr/bin/poweroff "", /usr/bin/reboot ""
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
# Sustituye a la regla de autorandr (/usr/lib/udev/rules.d): al conectar o
|
||||
# desconectar una pantalla, colocarlas todas en fila ("horizontal") en vez
|
||||
# de buscar un perfil guardado llamado "default".
|
||||
ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/bin/autorandr --batch --change --default horizontal"
|
||||
# Al conectar o desconectar una pantalla, colocarlas todas en fila y repintar
|
||||
# el fondo (sistema/usr/local/bin/pantallas).
|
||||
ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/local/bin/pantallas"
|
||||
|
|
|
|||
2
sistema/etc/xbps.d/sin-sudo.conf
Normal file
2
sistema/etc/xbps.d/sin-sudo.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# base-system depende de sudo; así se puede quitar (se usa doas).
|
||||
ignorepkg=sudo
|
||||
39
sistema/usr/local/bin/pantallas
Executable file
39
sistema/usr/local/bin/pantallas
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/sh
|
||||
# Pone en fila todas las pantallas conectadas, con la del portátil
|
||||
# (eDP*/LVDS*) a la izquierda y como principal, apaga las desconectadas y
|
||||
# vuelve a pintar el fondo. Lo lanzan .xinitrc al arrancar y la regla de udev
|
||||
# (sistema/etc/udev/rules.d) al conectar o desconectar una pantalla.
|
||||
#
|
||||
# udev lo ejecuta como root: entonces se relanza como el usuario de la sesión
|
||||
# de dwm, con su DISPLAY.
|
||||
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
pid=$(pgrep -xo dwm) || exit 0
|
||||
usuario=$(stat -c %U "/proc/$pid")
|
||||
casa=$(getent passwd "$usuario" | cut -d: -f6)
|
||||
entorno=$(tr '\0' '\n' <"/proc/$pid/environ" | grep -E '^(DISPLAY|XAUTHORITY)=')
|
||||
# shellcheck disable=SC2086
|
||||
exec env $entorno HOME="$casa" chpst -u "$usuario" "$0"
|
||||
fi
|
||||
|
||||
estado=$(xrandr) || exit 1
|
||||
interna=$(echo "$estado" | awk '/^(eDP|LVDS)[^ ]* connected/ { print $1 }')
|
||||
otras=$(echo "$estado" | awk '/ connected/ && $1 !~ /^(eDP|LVDS)/ { print $1 }')
|
||||
fuera=$(echo "$estado" | awk '/ disconnected/ { print $1 }')
|
||||
|
||||
set --
|
||||
ant=
|
||||
for o in $interna $otras; do
|
||||
if [ -z "$ant" ]; then
|
||||
set -- "$@" --output "$o" --auto --primary --pos 0x0
|
||||
else
|
||||
set -- "$@" --output "$o" --auto --right-of "$ant"
|
||||
fi
|
||||
ant=$o
|
||||
done
|
||||
for o in $fuera; do
|
||||
set -- "$@" --output "$o" --off
|
||||
done
|
||||
[ $# -gt 0 ] && xrandr "$@"
|
||||
|
||||
xwallpaper --zoom "$HOME/.local/share/wallpaper.jpg"
|
||||
Loading…
Add table
Add a link
Reference in a new issue