Commit graph

20 commits

Author SHA1 Message Date
725615f59d
bluetooth: re-emparejar si el dispositivo olvidó la clave
Si los auriculares pierden el emparejamiento (p. ej. al emparejarlos con
otro aparato) el PC sigue viéndolos como Paired: yes y connect falla
siempre con br-connection-key-missing. Ahora, ante ese error, se borra el
dispositivo, se busca, se vuelve a emparejar y se conecta.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 17:55:29 +02:00
0e90f6029e
Audio que vuelve solo; fuera sshd, OBS y Nix
- .xinitrc: pipewire, wireplumber y pipewire-pulse en un bucle mientras
  X siga abierto; si wireplumber se cae, vuelve al segundo en vez de
  dejar el audio en "Dummy Output".
- sshd y nix-daemon fuera de los servicios.
- Fuera obs y qt6ct (qt5ct se queda para hplip) y nix con webcord
  (Discord va en Firefox); quitar borra también /nix y el perfil.
- .bashrc sin lo de Nix.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
2026-09-28 16:17:58 +02:00
20cb3ae4a6
bluetooth: conectar los conocidos aunque no estén emparejados
El menú solo enseñaba los dispositivos con Paired: yes, así que un
auricular de confianza que había perdido el emparejamiento no salía, y
volver a emparejarlo fallaba porque bluetoothctl no tenía agente. Ahora
salen los emparejados y los de confianza; al elegir uno se empareja si hace
falta (agente NoInputNoOutput), se busca unos segundos si no está a la
vista, y si falla lo dice (también si wireplumber no está en marcha).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
2026-09-28 15:48:16 +02:00
73d005dd30
Fuera avahi, xss-lock, chrony y nemo; .bashrc más limpio
- inactivo: slock cuando salta el salvapantallas de X (xssstate), en vez
  de xss-lock (glib, D-Bus y logind).
- openntpd en vez de chrony.
- Fuera avahi y nss-mdns (la impresora va por IP fija); quitar limpia
  nsswitch.conf.
- Fuera nemo y upower (y con ellos gvfs y udisks2): las carpetas se abren
  en yazi dentro de st.
- .bashrc: PATH sin repetidos y ex con bsdtar.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
2026-09-28 15:36:16 +02:00
1f4a6a8803
turnstile en vez de elogind
turnstile solo crea XDG_RUNTIME_DIR (backend none, sin exportar el bus de
D-Bus, que lo abre .xinitrc). Xorg ya arranca como root con Xorg.wrap y la
tapa y los botones los lleva acpid, así que elogind sobraba. Fuera su
logind.conf.d.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
2026-09-28 12:15:50 +02:00
9f3863ac33
wpa_supplicant y dhcpcd en vez de NetworkManager; fuera polkitd y rtkit
- wifi: menú de dmenu con wpa_cli (buscar, conectar y guardar redes).
- install.sh prepara wpa_supplicant.conf para wpa_cli sin root (wheel).
- polkitd ya no es un servicio: D-Bus lo arranca si algo lo pide.
- Audio en tiempo real con el grupo _pipewire en vez de rtkit.
- Clic derecho en la red: wpa_cli en una st flotante.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
2026-09-28 12:14:24 +02:00
a83294ace4
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
2026-09-28 12:12:51 +02:00
03e640f8a0
Copia diaria de los marcadores de Firefox en el servidor
- marcadores (home/.local/bin, desde .xinitrc): sube al servidor la copia
  de marcadores que Firefox ya guarda en el perfil. diario/ guarda 7 días
  y semanal/ una por semana, todas. Solo lo intenta con la clave SSH de
  gpg-agent desbloqueada, para no sacar pinentry, y lo reintenta cada
  hora; "marcadores ya" la sube en el momento.
- ssh: el alias server va por el dominio, así funciona también fuera de
  casa.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 23:47:29 +02:00
2870ac7dca
Calendario en la barra, prompt con rama de git, historial compartido e impresora
- calendario (home/.local/bin): clic izquierdo en la fecha de la barra
  (zona \004 en slstatus, statuscmd 4 en dwm) muestra el mes en una
  notificación, empezando en lunes y con hoy en verde.
- .bashrc: rama de git en el prompt (git-prompt.sh, con * y +) e
  historial grande, sin duplicados y compartido entre terminales.
- install.sh: cups, cups-filters y hplip, servicio cupsd y grupo lpadmin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 22:04:47 +02:00
68427bdf7a
Menú de sesión, pantallas con autorandr y alias de ssh
- apagado (home/.local/bin, Mod+Shift+Escape): dmenu con bloquear,
  suspender, salir de dwm, reiniciar y apagar; los tres últimos piden
  confirmación.
- sudoers.d/zzz pasa a sudoers.d/energia: zzz, poweroff y reboot sin
  argumentos y sin contraseña para wheel.
- autorandr en vez de la línea fija de xrandr: pantallas en fila al
  arrancar y al conectar o desconectar una (regla de udev propia con el
  perfil virtual horizontal); postswitch pone la interna como principal
  y vuelve a pintar el fondo.
- ~/.ssh/config con los alias server y forgejo; install.sh deja ~/.ssh
  en 700.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 21:56:04 +02:00
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
2c2adaaa79
Aviso de batería, luz nocturna, historial de notificaciones y más
- bateria (home/.local/bin): avisa al 15 % y, en rojo, al 5 % mientras
  descarga. Se lanza desde .xinitrc.
- gammastep: luz cálida (4000 K) de 20:00 a 8:00 con transición de una
  hora, por horas fijas en vez de ubicación.
- dwm: Mod+n recupera la última notificación y Mod+Shift+n las cierra.
- Carpetas del usuario en inglés y sin tildes (user-dirs.dirs); las
  capturas pasan a ~/Images/Screenshots.
- .bash_profile lanza startx al entrar en tty1.
- btop con el tema everforest-dark-medium.
- gpg-agent recuerda la contraseña una hora (antes 10 minutos).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 21:40:00 +02:00
94992e4b45
git: firmar con GPG, rama master por defecto y ajustes habituales
- Commits y tags firmados con la clave 1CFF10953BEE333C.
- init.defaultBranch = master.
- pull con rebase (y autoStash), push que crea la rama remota, fetch que
  limpia ramas borradas, diffs con histogram y colorMoved, conflictos en
  zdiff3, rerere, ramas ordenadas por fecha y alias lg y st.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 21:29:56 +02:00
0d928f6dc5 Qt: qt5ct/qt6ct con Fusion, paleta Everforest e iconos Papirus
Las apps Qt 5 (VLC) y Qt 6 (OBS, PrismLauncher) se ven como las de GTK:
estilo Fusion, una paleta Everforest dark medium propia y Papirus-Dark.

- home/.config/qt5ct y qt6ct: configuración y paleta. La ruta de la
  paleta va con $HOME, que qt5ct/qt6ct expanden.
- .xinitrc exporta QT_QPA_PLATFORMTHEME=qt5ct; el plugin de qt6ct también
  responde a ese nombre, así que vale para las dos versiones.
- install.sh instala qt5ct y qt6ct.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 21:05:15 +02:00
2eb145f3bb GTK: tema Everforest e iconos Papirus-Dark
- install.sh tiene un paso nuevo, gtk: compila Everforest-GTK-Theme
  (verde, oscuro, medium) en ~/.themes desde un commit fijo, lo enlaza
  para GTK 4 y pone verdes las carpetas de Papirus (papirus-folders).
- La parte de GTK 2 del tema trae los colores de Gruvbox, porque su
  plantilla no coincide con lo que sustituye su script. Se cambian por
  Everforest medium; pinentry-gtk es GTK 2 y se veía con otros colores.
- home/: .gtkrc-2.0 y settings.ini de GTK 3 y 4 con el tema y
  Papirus-Dark.
- dwm: pinentry-gtk flota (antes ocupaba toda la pantalla).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 20:52:56 +02:00
53498b8cd3 Notificación al cambiar el volumen o silenciar el micro
Las teclas de audio solo llamaban a wpctl y refrescaban slstatus, sin
avisar. Ahora pasan por el script volumen (home/.local/bin), que hace lo
mismo y además muestra una notificación con icono y barra de nivel. Se
sustituye a sí misma en vez de apilarse. Los clics en VOL de la barra
usan el mismo script.

Se añade rtkit a install.sh: sin él, cada llamada a wpctl (también las
de slstatus cada 2 s) llenaba el log de avisos de RTKit, y el audio no
tenía prioridad de tiempo real.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 20:42:30 +02:00
16125211fe bash: quitar rutas y alias que ya no se usan
Fuera flatpak, emacs, opencode, Antigravity (PATH duplicado) y los alias
data, factorio y cstrike.

La línea de flatpak además rompía cosas: dejaba XDG_DATA_DIRS sin
/usr/share, así que nada encontraba los temas de iconos ni la base de
datos MIME (dunst no podía ni abrir un PNG).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 18:26:11 +02:00
816480d36f dunst: Everforest, Fira Code y esquinas redondeadas
Configuración nueva desde cero (solo lo que cambia respecto al valor por
defecto), a juego con el resto: borde de 2 px como las ventanas de dwm
(verde normal, gris baja, rojo crítica), esquinas de 8 px como picom,
debajo de la barra de dwm y con separación entre notificaciones.

- Iconos de Papirus-Dark: Adwaita ya solo trae iconos simbólicos y las
  notificaciones con nombre de icono salían sin él. Se añade
  papirus-icon-theme a install.sh.
- dmenu con los colores en formato rgb:, porque dunst trata "#" como
  comentario y la línea se cortaba.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 18:26:11 +02:00
a57d569e66 fontconfig: iconos de Nerd Font antes que Linux Libertine G
Los separadores redondeados de yazi (U+E0B4 y U+E0B6) salían como una
"i" y una "T": fontconfig elegía Linux Libertine G / Biolinum G (de
LibreOffice), que usan esa zona de uso privado para otras cosas. Se les
quita la zona al escanearlas y Symbols Nerd Font pasa a ser la primera
fuente de reserva de Fira Code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
2026-09-27 18:08:49 +02:00
3aa250c8dd Dotfiles de la sesión e install.sh para Void
- home/: xinitrc, bashrc, bash_profile, gitconfig, picom, dunst,
  mimeapps.list y el fondo de pantalla. Se enlazan en ~ con la misma ruta.
- xinitrc: feh directamente en vez de .fehbg, y XDG_RUNTIME_DIR a mano solo
  si elogind no lo ha creado.
- mimeapps.list: firefox.desktop en vez del .desktop autogenerado.
- install.sh: instala los paquetes de Void, compila los programas, enlaza
  home/, prepara GnuPG (permisos, pinentry-gtk y agente SSH), copia
  sistema/ y activa servicios y grupos.

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