{"id":13667446,"url":"https://github.com/antoniosarosi/dotfiles","last_synced_at":"2025-05-16T06:00:25.018Z","repository":{"id":37577131,"uuid":"254877600","full_name":"antoniosarosi/dotfiles","owner":"antoniosarosi","description":"My dotfiles repo, here you can find all my window manager configs as well as documentation and a guide on how to make your own desktop environment.","archived":false,"fork":false,"pushed_at":"2024-08-13T22:19:12.000Z","size":33935,"stargazers_count":890,"open_issues_count":8,"forks_count":185,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-04-08T15:11:17.059Z","etag":null,"topics":["arch-linux","dotfiles","dwm","neovim","openbox","qtile","spectrwm","tiling-window-manager","xmonad"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antoniosarosi.png","metadata":{"files":{"readme":"README.es.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-11T13:49:13.000Z","updated_at":"2025-04-08T03:00:38.000Z","dependencies_parsed_at":"2024-07-21T19:10:22.116Z","dependency_job_id":"8fefd5eb-161f-4ba1-8daa-29004ed34e23","html_url":"https://github.com/antoniosarosi/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniosarosi%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniosarosi%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniosarosi%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniosarosi%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antoniosarosi","download_url":"https://codeload.github.com/antoniosarosi/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254478160,"owners_count":22077675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arch-linux","dotfiles","dwm","neovim","openbox","qtile","spectrwm","tiling-window-manager","xmonad"],"created_at":"2024-08-02T07:00:37.215Z","updated_at":"2025-05-16T06:00:24.979Z","avatar_url":"https://github.com/antoniosarosi.png","language":"Vim Script","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"readme":"# Dotfiles \u0026 Configs\n\n![Qtile](.screenshots/qtile.png)\n\n***Idioma***\n- 🇪🇸 Español\n- [🇺🇸 English](https://github.com/antoniosarosi/dotfiles)\n\n***Enlaces Rápidos***\n- *Configs para los gestores de ventanas*\n  - [Qtile](https://github.com/antoniosarosi/dotfiles/tree/master/.config/qtile/README.es.md)\n  - [Spectrwm](https://github.com/antoniosarosi/dotfiles/tree/master/.config/spectrwm/README.es.md)\n  - [Openbox](https://github.com/antoniosarosi/dotfiles/tree/master/.config/openbox/README.es.md)\n  - [Xmonad](https://github.com/antoniosarosi/dotfiles/tree/master/.config/xmonad/README.es.md)\n  - [Dwm](https://github.com/antoniosarosi/dwm/README.es.md)\n- [Galería (previsualiza mis configuraciones)](#galería)\n- [Atajos de teclado comunes en mis configuraciones](#atajos-de-teclado)\n- [Software que utilizo](#software)\n\n# Índice\n\n- [Resumen](#resumen)\n- [Instalación de Arch Linux](#instalación-de-arch-linux)\n- [Inicio de sesión y gestor de ventanas](#inicio-de-sesión-y-gestor-de-ventanas)\n- [Configuración básica de Qtile](#configuración-básica-de-qtile)\n- [Utilidades básicas del sistema](#utilidades-básicas-del-sistema)\n  - [Fondo de pantalla](#fondo-de-pantalla)\n  - [Fuentes](#fuentes)\n  - [Audio](#audio)\n  - [Monitores](#monitores)\n  - [Almacenamiento](#almacenamiento)\n  - [Redes](#redes)\n  - [Systray](#systray)\n  - [Notificaciones](#notificaciones)\n  - [Xprofile](#xprofile)\n- [Otras configuraciones y herramientas](#otras-configuraciones-y-herramientas)\n  - [AUR helper](#aur-helper)\n  - [Media Transfer Protocol](#media-transfer-protocol)\n  - [Explorador de archivos](#explorador-de-archivos)\n  - [Basura](#basura)\n  - [Tema de GTK](#tema-de-gtk)\n  - [Tema de Qt](#tema-de-qt)\n  - [Qt](#qt)\n  - [Tema de lightdm](#tema-de-lightdm)\n  - [Multimedia](#multimedia)\n    - [Imágenes](#imágenes)\n    - [Vídeo y audio](#vídeo-y-audio)\n  - [Empieza a hackear](#empieza-a-hackear)\n- [Galería](#galería)\n  - [Qtile](#qtile)\n  - [Spectrwm](#spectrwm)\n  - [Openbox](#openbox)\n  - [Xmonad](#xmonad)\n  - [Dwm](#dwm)\n- [Atajos de teclado](#atajos-de-teclado)\n  - [Ventanas](#ventanas)\n  - [Apps](#apps)\n- [Software](#software)\n  - [Utilidades básicas](#utilidades-básicas)\n  - [Fuentes, temas y GTK](#fuentes-temas-y-gtk)\n  - [Apps](#apps-1)\n\n# Resumen\n\nEsta guía es una recopilación de todos los pasos necesarios para construir un\nentorno de escritorio a partir de una instalación limpia basada en Arch Linux.\nVoy a asumir que te manejas bien con sistemas operativos basados en Linux y sus\nlíneas de comandos. Ya que estás leyendo esto, asumiré también que has visto\nalgunos vídeos de \"*tiling window managers*\" en Youtube, porque ahí es donde\nempieza el sinfín. Puedes elegir el gestor de ventanas que quieras, pero aquí\nusaremos Qtile como primer \"*tiling window manager*\", dado que fue con el que\nempecé yo. Esta guía es básicamente una descripción de cómo he construido mi\nentorno de escritorio desde 0.\n\n# Instalación de Arch Linux\n\nEl punto de partida de esta guía es justo después de una instalación basada en\nArch completa y limpia. La\n**[Wiki de Arch](https://wiki.archlinux.org/index.php/Installation_guide)**\nno te dice qué hacer después de establecer la contraseña del superusuario,\nsugiere instalar un cargador de arranque, pero antes de eso yo me aseguraría de\ntener internet:\n\n```bash\npacman -S networkmanager\nsystemctl enable NetworkManager\n```\n\nAhora puedes instalar un cargador de arranque y probarlo de forma \"segura\", así\nes como se haría en hardware moderno,\n[suponiendo que has montado la partición efi en /boot](https://wiki.archlinux.org/index.php/Installation_guide#Example_layouts):\n\n```bash\npacman -S grub efibootmgr os-prober\ngrub-install --target=x86_64-efi --efi-directory=/boot\nos-prober\ngrub-mkconfig -o /boot/grub/grub.cfg\n```\n\nAhora puedes crear tu usuario:\n\n```bash\nuseradd -m username\npasswd username\nusermod -aG wheel,video,audio,storage username\n```\n\nPara tener privilegios de superusuario necesitamos sudo:\n\n```bash\npacman -S sudo\n```\n\nEdita **/etc/sudoers** con *nano* o *vim* y descomenta la línea con \"wheel\":\n\n```bash\n## Uncomment to allow members of group wheel to execute any command\n# %wheel ALL=(ALL) ALL\n```\n\nAhora ya puedes reiniciar:\n\n```bash\n# Sal de la imagen ISO, desmóntala y extráela\nexit\numount -R /mnt\nreboot\n```\n\nDespués de haber iniciado sesión, el internet debería funcionarte sin problema,\npero eso solo aplica si tu ordenador está conectado por cable. Si estás en un\nportátil que no tiene puertos Ethernet, probablemente hayas usado\n**[iwctl](https://wiki.archlinux.org/index.php/Iwd#iwctl)**\ndurante la instalación, pero este programa ya no está disponible a no ser que\nlo hayas instalado explícitamente. Sin embargo, tenemos\n**[NetworkManager](https://wiki.archlinux.org/index.php/NetworkManager)**,\nasí que no hay problema, para conectarte a una red inalámbrica con este software\nsolo debes hacer esto:\n\n```bash\n# Lista las redes disponibles\nnmcli device wifi list\n# Conéctate a tu red\nnmcli device wifi connect TU_SSID password TU_CONTRASEÑA\n```\n\nÉchale un vistazo a\n[esta página](https://wiki.archlinux.org/index.php/NetworkManager#nmcli_examples)\npara otras opciones proporcionadas por *nmcli*. Lo último que tenemos que hacer\nantes de pensar en entornos de escritorio es instalar\n**[Xorg](https://wiki.archlinux.org/index.php/Xorg)**:\n\n```bash\nsudo pacman -S xorg\n```\n\n# Inicio de sesión y gestor de ventanas\n\nPrimero, necesitamos una forma de iniciar sesión y abrir programas como\nnavegadores y terminales, así que empezaremos instalando\n**[lighdm](https://wiki.archlinux.org/index.php/LightDM)**\ny **[qtile](https://wiki.archlinux.org/index.php/Qtile)**.\n*lightdm* no funcionará si no instalamos también un\n**[greeter](https://wiki.archlinux.org/index.php/LightDM#Greeter)**.\nTambién necesitamos\n**[xterm](https://wiki.archlinux.org/index.php/Xterm)**\nporque esa es la terminal que *qtile* abre por defecto, hasta que lo cambiemos\nen el archivo de configuración. Para editar archivos de configuración\nnecesitaremos también un editor de texto, puedes usar\n**[vscode](https://wiki.archlinux.org/index.php/Visual_Studio_Code)**\no directamente\n**[neovim](https://wiki.archlinux.org/index.php/Neovim)**\nsi tienes experiencia previa, si no no lo recomiendo. Por último necesitamos un\nnavegador.\n\n```bash\nsudo pacman -S lightdm lightdm-gtk-greeter qtile xterm code firefox\n```\n\nActiva el servicio de *lightdm* y reinicia el ordenador, deberías poder iniciar\nsesión en Qtile a través de *lightdm*.\n\n```bash\nsudo systemctl enable lightdm\nreboot\n```\n# Configuración básica de Qtile\n\nAhora que estás dentro de Qtile, deberías conocer algunos de los atajos de\nteclado que vienen por defecto.\n\n| Atajo                | Acción                              |\n| -------------------- | ----------------------------------- |\n| **mod + enter**      | abrir xterm                         |\n| **mod + k**          | ventana siguiente                   |\n| **mod + j**          | ventana anterior                    |\n| **mod + w**          | cerrar ventana                      |\n| **mod + [12345678]** | ir al espacio de trabajo [12345678] |\n| **mod + ctrl + r**   | reiniciar qtile                     |\n| **mod + ctrl + q**   | cerrar sesión                       |\n\nAntes de hacer nada, si no tienes la distribución del teclado en inglés,\ndeberías cambiarla usando *setxkbmap*. Abre *xterm* con **mod + enter**, y\ncambia la distribución a español:\n\n```bash\nsetxkbmap es\n```\n\nTen en cuenta que este cambio no es permanente, si reinicias el PC tendrás que\nesribir el comando anterior de nuevo. Consulta [esta sección](#xprofile) para\nhacer cambios permanentes o sigue el orden natural de esta guía si tienes\ntiempo suficiente.\n\nPor defecto, no hay menú, tienes que lanzar programas a través de *xterm*. En\neste punto puedes instalar otro emulador de terminal si lo prefieres:\n\n```bash\n# Instala otro de tu preferencia\nsudo pacman -S alacritty\n```\n\nAbre el archivo de configuración de Qtile:\n\n```bash\ncode ~/.config/qtile/config.py\n```\n\nAl principio, después de los imports, encontrarás una lista llamada *keys*, que\ncontiene la línea siguiente:\n\n```python\nKey([mod], \"Return\", lazy.spawn(\"xterm\")),\n```\n\nEdítala para lanzar el emulador de terminal que has instalado:\n\n```python\nKey([mod], \"Return\", lazy.spawn(\"alacritty\")),\n```\n\nInstala un menú como\n**[dmenu](https://wiki.archlinux.org/index.php/Dmenu)**\no **[rofi](https://wiki.archlinux.org/index.php/Rofi)**:\n\n```bash\nsudo pacman -S rofi\n```\n\nDespués añade atajos de teclado para el menú:\n\n```python\nKey([mod], \"m\", lazy.spawn(\"rofi -show run\")),\nKey([mod, 'shift'], \"m\", lazy.spawn(\"rofi -show\")),\n```\n\nReinicia Qtile con **mod + control + r**. Deberías poder abrir el menú y el\nemulador de terminal usando los atajos de teclado que acabas de definir. Si has\ninstalado *rofi*, puedes cambiar su tema:\n\n```bash\nsudo pacman -S which\nrofi-theme-selector\n```\n\nEso es todo en cuanto a Qtile, puedes empezar a trastear con su configuración y\npersonalizarlo. Écha un vistazo a mi configuración\n[aquí](https://github.com/antoniosarosi/dotfiles/tree/master/.config/qtile).\nPero antes de eso recomiendo configurar utilidades básicas como audio, batería,\nmontaje de unidades de almacenamiento, etc.\n\n# Utilidades básicas del sistema\n\nEn esta sección vamos a ver algunos programas que casi todo el mundo necesita en\nsu sistema. Pero recuerda que los cambios que haremos no son permanentes,\n[esta sección](#xprofile) describe cómo conseguir que lo sean.\n\n## Fondo de pantalla\n\nLo primero es lo primero, tu pantalla se ve negra y vacía, así que probablemente\nquieras un fondo más bonito para no sentirte tan deprimido. Puedes abrir\n*firefox* usando *rofi* y descargar un fondo de pantalla. Después instala\n**[feh](https://wiki.archlinux.org/index.php/Feh)** o\n**[nitrogen](https://wiki.archlinux.org/index.php/Nitrogen)**\ny pon tu fondo:\n\n```bash\nsudo pacman -S feh\nfeh --bg-scale ruta/al/fondo/de/pantalla\n```\n\n## Fuentes\n\nLas fuentes en Arch son básicamente un meme, antes de que te den problemas\npuedes simplemente instalar estos paquetes:\n\n```bash\nsudo pacman -S ttf-dejavu ttf-liberation noto-fonts\n```\n\nPara listar todas las fuentes disponibles:\n\n```bash\nfc-list\n```\n\n## Audio\n\nEn este punto, no hay audio, necesitamos\n**[pulseaudio](https://wiki.archlinux.org/index.php/PulseAudio)**.\nRecomiendo instalar un programa gráfico para manejar el audio como\n**[pavucontrol](https://www.archlinux.org/packages/extra/x86_64/pavucontrol/)**,\nporque todavía no tenemos atajos de teclado para ello.\n\n```bash\nsudo pacman -S pulseaudio pavucontrol\n```\n\nEn Arch,\n[pulseaudio está activado por defecto](https://wiki.archlinux.org/index.php/PulseAudio#Running),\npero puede que tengas que reiniciar para que *pulseaudio* arranque. Después de\nreiniciar, abre *pavucontrol* usando *rofi*, activa el audio (porque está en\n\"mute\") y debería estar todo correcto.\n\nAhora puedes establecer atajos de teclado para *pulseaudio*, abre el archivo de\nconfiguración de Qtile y añade esto:\n\n\n```python\n# Volumen\nKey([], \"XF86AudioLowerVolume\", lazy.spawn(\n    \"pactl set-sink-volume @DEFAULT_SINK@ -5%\"\n)),\nKey([], \"XF86AudioRaiseVolume\", lazy.spawn(\n    \"pactl set-sink-volume @DEFAULT_SINK@ +5%\"\n)),\nKey([], \"XF86AudioMute\", lazy.spawn(\n    \"pactl set-sink-mute @DEFAULT_SINK@ toggle\"\n)),\n```\n\nAunque para una mejor experiencia en la línea de comandos, recomiendo usar\n**[pamixer](https://www.archlinux.org/packages/community/x86_64/pamixer/)**:\n\n```bash\nsudo pacman -S pamixer\n```\n\nCon ello puedes convertir los atajos de teclado en:\n\n```python\n# Volumen\nKey([], \"XF86AudioLowerVolume\", lazy.spawn(\"pamixer --decrease 5\")),\nKey([], \"XF86AudioRaiseVolume\", lazy.spawn(\"pamixer --increase 5\")),\nKey([], \"XF86AudioMute\", lazy.spawn(\"pamixer --toggle-mute\")),\n```\n\nReinicia Qtile con **mod + control + r** y prueba los atajos. Si estás en un\nportátil, probablemente también necesites controlar el brillo de tu pantalla,\npara ello recomiendo\n**[brightnessctl](https://www.archlinux.org/packages/community/x86_64/brightnessctl/)**:\n\n```bash\nsudo pacman -S brightnessctl\n```\n\nPuedes añadir estos atajos y volver a reiniciar Qtile:\n\n```python\n# Brillo\nKey([], \"XF86MonBrightnessUp\", lazy.spawn(\"brightnessctl set +10%\")),\nKey([], \"XF86MonBrightnessDown\", lazy.spawn(\"brightnessctl set 10%-\")),\n```\n\n## Monitores\n\nSi tienes múltiples monitores, seguramente quieras usarlos todos. Así es como\nfunciona **[xrandr](https://wiki.archlinux.org/index.php/Xrandr)**:\n\n```bash\n# Lista todas las salidas y resoluciones disponibles\nxrandr\n# Formato común para un portátil con monitor extra\nxrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x1080 --output HDMI-1 --mode 1920x1080 --pos 0x0\n```\n\nEs necesario especificar la posición de cada salida, si no se utilizará 0x0, y\ntodas las salidas estarán solapadas. Ahora bien, si no quieres calcular píxeles\ny demás necesitas una interfaz gráfica como\n**[arandr](https://www.archlinux.org/packages/community/any/arandr/)**:\n\n```bash\nsudo pacman -S arandr\n```\n\nÁbrela con *rofi*, ordena las pantallas como quieras, y después puedes guardar\nla disposición de las mismas, lo cual simplemente te dará un script con el\ncomando exacto de *xrandr* que necesitas. Guarda ese script, pero todavía no\nle des al botón de aplicar.\n\nPara un sistema con múltiples monitores deberías crear una instancia de *Screen*\npor cada uno de ellos en la configuración de Qtile.\n\nEncontrarás una lista llamada *screens* en la configuración de Qtile que\ncontiene solo un objeto inicializado con una barra en la parte de abajo.\nDentro de esa barra puedes ver los widgets con los que viene por defecto.\n\nAñade tantas pantallas como necesites y copia-pega los widgets, más adelante\npodrás personalizarlos. Ahora puedes volver a *arandr*, darle click en \"apply\"\ny reiniciar el gestor de ventanats.\n\nCon esto tus monitores deberían funcionar.\n\n## Almacenamiento\n\nOtra utilidad básica que podrías necesitar es montar de forma automática\nunidades de almacenamiento externas. Para ello uso\n**[udisks](https://wiki.archlinux.org/index.php/Udisks)**\ny **[udiskie](https://www.archlinux.org/packages/community/any/udiskie/)**.\n*udisks* es una dependencia de *udiskie*, así que solo instalaremos este\núltimo. Instala también el paquete\n**[ntfs-3g](https://wiki.archlinux.org/index.php/NTFS-3G)**\npara leer y escribir en discos NTFS:\n\n```bash\nsudo pacman -S udiskie ntfs-3g\n```\n\n## Redes\n\nHemos configurado la red a través de *nmcli*, pero un programa gráfico es más\ncómodo. Yo uso\n**[nm-applet](https://wiki.archlinux.org/index.php/NetworkManager#nm-applet)**:\n\n```bash\nsudo pacman -S network-manager-applet\n```\n\n## Systray\n\nPor defecto, tenemos una \"bandeja del sistema\" en Qtile, pero no hay nada\nejecutándose en ella. Puedes lanzar los programas que acabamos de instalar así:\n\n```bash\nudiskie -t \u0026\nnm-applet \u0026\n```\n\nAhora deberías ver unos iconos en la barra, puedes clicar en ellos para\nconfigurar la red y discos. Puedes instalar también iconos para la batería y\nel volumen:\n\n```bash\nsudo pacman -S volumeicon cbatticon\nvolumeicon \u0026\ncbatticon \u0026\n```\n\n## Notificaciones\n\nMe gusta tener notificaciones en el escritorio también, para ello tienes que\ninstalar\n[**libnotify**](https://wiki.archlinux.org/index.php/Desktop_notifications#Libnotify)\ny [**notification-daemon**](https://www.archlinux.org/packages/community/x86_64/notification-daemon/):\n\n```bash\nsudo pacman -S libnotify notification-daemon\n```\n\nEn nuestro caso,\n[esto es lo que tenemos que hacer para tener notificaciones](https://wiki.archlinux.org/index.php/Desktop_notifications#Standalone):\n\n```bash\n# Crea este fichero con nano o vim\nsudo nano /usr/share/dbus-1/services/org.freedesktop.Notifications.service\n# Pega estas líneas\n[D-BUS Service]\nName=org.freedesktop.Notifications\nExec=/usr/lib/notification-daemon-1.0/notification-daemon\n```\n\nPruébalo:\n\n```bash\nnotification-send \"Hola Mundo\"\n```\n\n## Xprofile\n\nComo he mencionado antes, estos cambios no son permanentes. Para que lo sean\nnecesitamos un par de cosas. Primero instala\n**[xinit](https://wiki.archlinux.org/index.php/Xinit)**:\n\n```bash\nsudo pacman -S xorg-xinit\n```\n\nAhora puedes usar *~/.xprofile* para lanzar programas antes de que se ejecute\nel gestor de ventanas:\n\n```bash\ntouch ~/.xprofile\n```\n\nPor ejemplo, si escribes esto en tu *~/.xprofile*:\n\n```bash\nxrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x1080 --output HDMI-1 --mode 1920x1080 --pos 0x0 \u0026\nsetxkbmap es \u0026\nnm-applet \u0026\nudiskie -t \u0026\nvolumeicon \u0026\ncbatticon \u0026\n```\n\nCada vez que inicias sesión tendrás los iconos de la bandeja del sistema, tu\ndistribución de teclado y monitores configurados.\n\n# Otras configuraciones y herramientas\n\n## AUR helper\n\nAhora que ya tienes un poco de software que te permite usar tu PC sin perder\nla paciencia, es hora de hacer cosas más interesantes. Primero, instala un\n**[AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers)**, yo uso\n**[yay](https://github.com/Jguer/yay)**:\n\n```bash\nsudo pacman -S base-devel git\ncd /opt/\nsudo git clone https://aur.archlinux.org/yay-git.git\nsudo chown -R username:username yay-git/\ncd yay-git\nmakepkg -si\n```\n\nCon acceso al *Arch User Repository*, puedes instalar prácticamente\ntodo el software de este planeta que haya sido pensado para correr en Linux.\n\n## Media Transfer Protocol\n\nSi quieres conectar tu teléfono usando un cable USB, necesitarás una\nimplementación de MTP y alguna interfaz de línea de comandos como\n[esta](https://aur.archlinux.org/packages/simple-mtpfs/):\n\n```bash\nsudo pacman -S libmtp\nyay -S simple-mtpfs\n\n# Lista todos los dispositivos conectados\nsimple-mtpfs -l\n# Monta el primer dispositivo de la lista anterior\nsimple-mtpfs --device 1 /mount/point\n```\n\n## Explorador de archivos\n\nHasta ahora siempre hemos manejado los ficheros a través de la terminal, pero\npuedes instalar un explorador de archivos. Para uno gráfico, recomiendo\n**[thunar](https://wiki.archlinux.org/index.php/Thunar)**,\ny para uno basado en terminal,\n**[ranger](https://wiki.archlinux.org/index.php/Ranger)**, aunque este último\nestá pensado para usuarios de vim, usalo solo si sabes moverte en vim.\n\n## Basura\n\nSi no quieres usar *rm* constantemente y arriesgarte a perder ficheros,\nnecesitas un sistema de basura. Por suerte, es bastante sencillio de hacer\n[usando alguna de estas herramientas](https://wiki.archlinux.org/index.php/Trash_management#Trash_creation)\ncomo **[glib2](https://www.archlinux.org/packages/core/x86_64/glib2/)**,\ny para interfaces gráficas como *thunar* necesitas **[gvfs](https://www.archlinux.org/packages/extra/x86_64/gvfs/)**:\n\n```bash\nsudo pacman -S glib2 gvfs\n# Uso\ngio trash path/to/file\n# Vaciar papelera\ngio trash --empty\n```\n\nCon *thunar* puedes abrir la basura desde el panel izquierdo, pero desde la\nlínea de comandos puedes hacer:\n\n```bash\nls ~/.local/share/Trash/files\n```\n\n## Tema de GTK\n\nEl momento que has estado esperando ha llegado, finalmente vas a instalar un\ntema oscuro. Yo uso *Material Black Colors*, puedes descargar una versión\n[aquí](https://www.gnome-look.org/p/1316887/), con sus respectivos iconos\n[aquí](https://www.pling.com/p/1333360/).\n\nSugiero empezar con\n*Material-Black-Blueberry* y *Material-Black-Blueberry-Suru*. Puedes encontrar\notros temas para GTK\n[en esta página](https://www.gnome-look.org/browse/cat/135/).\nUna vez tengas descargados los temas, puedes hacer esto:\n\n```bash\n# Asumiendo que has descargado Material-Black-Blueberry\ncd Downloads/\nsudo pacman -S unzip\nunzip Material-Black-Blueberry.zip\nunzip Material-Black-Blueberry-Suru.zip\nrm Material-Black*.zip\n\n# Haz tu tema visible a GTK\nsudo mv Material-Black-Blueberry /usr/share/themes\nsudo mv Material-Black-Blueberry-Suru /usr/share/icons\n```\n\nAhora edita **~/.gtkrc-2.0** y **~/.config/gtk-3.0/settings.ini** añdiendo\nestas líneas:\n\n```ini\n# ~/.gtkrc-2.0\ngtk-theme-name = \"Material-Black-Blueberry\"\ngtk-icon-theme-name = \"Material-Black-Blueberry-Suru\"\n\n# ~/.config/gtk-3.0/settings.ini\ngtk-theme-name = Material-Black-Blueberry\ngtk-icon-theme-name = Material-Black-Blueberry-Suru\n```\n\nLa próxima vez que inicies sesión verás los cambios aplicados. Puedes instalar\ntambién un tema de cursor distinto, para ello necesitas\n**[xcb-util-cursor](https://www.archlinux.org/packages/extra/x86_64/xcb-util-cursor/)**.\nEl tema que yo uso es\n[Breeze](https://www.gnome-look.org/p/999927/), descárgalo, y después:\n\n```bash\nsudo pacman -S xcb-util-cursor\ncd Downloads/\ntar -xf Breeze.tar.gz\nsudo mv Breeze /usr/share/icons\n```\n\nEdita **/usr/share/icons/default/index.theme** añadiendo esto:\n\n```ini\n[Icon Theme]\nInherits = Breeze\n```\n\nAhora vuelve a editar **~/.gtkrc-2.0** y **~/.config/gtk-3.0/settings.ini**:\n\n```ini\n# ~/.gtkrc-2.0\ngtk-cursor-theme-name = \"Breeze\"\n\n# ~/.config/gtk-3.0/settings.ini\ngtk-cursor-theme-name = Breeze\n```\n\nAsegurate de escribir bien los nombres de los temas e iconos, deben ser\nexactamente los nombres de los directorios donde se encuentran, los que\nofrece esta salida:\n\n```bash\nls /usr/share/themes\nls /usr/share/icons\n```\n\nRecuerda que solo verás los cambios si inicias sesión de nuevo. También hay\nherramientas gráficas para cambiar temas, yo simplemente prefiero la forma\ntradicional de editar ficheros, pero puedes usar\n**[lxappearance](https://www.archlinux.org/packages/community/x86_64/lxappearance/)**,\nque es un programa independiente del entorno de escritorio para realizar esta\ntarea, y te permie previsualizar los temas.\n\n```bash\nsudo pacman -S lxappearance\n```\n\nFinalmente, si quieres transparencia y demás instala un compositor:\n\n```bash\nsudo pacman -S picom\n# Pon esto en ~/.xprofile\npicom \u0026\n```\n\n## Tema de Qt\n\n## Qt\n\nLos temas de GTK no se aplican a programas Qt, pero puedes usar\n[**Kvantum**](https://archlinux.org/packages/?name=kvantum-qt5) para cambiar\nlos temas por defecto:\n\n```bash\nsudo pacman -S kvantum-qt5\necho \"export QT_STYLE_OVERRIDE=kvantum\" \u003e\u003e ~/.profile\n```\n\n## Tema de lightdm\n\nTambién podemos cambiar el tema de *lightdm* para que mole más, ¿por qué no?\nNecesitamos otro *greeter* y algún tema, en concreto\n**[lightdm-webkit2-greeter](https://www.archlinux.org/packages/community/x86_64/lightdm-webkit2-greeter/)**\ny  **[lightdm-webkit-theme-aether](https://aur.archlinux.org/packages/lightdm-webkit-theme-aether/)**:\n\n```bash\nsudo pacman -S lightdm-webkit2-greeter\nyay -S lightdm-webkit-theme-aether\n```\n\nEstas son las configuraciones que tienes que hacer:\n\n```ini\n# /etc/lightdm/lightdm.conf\n[Seat:*]\n# ...\n# Descomenta esta línea y pon este valor\ngreeter-session = lightdm-webkit2-greeter\n# ...\n\n# /etc/lightdm/lightdm-webkit2-greeter.conf\n[greeter]\n# ...\nwebkit_theme = lightdm-webkit-theme-aether\n```\n\nListo.\n\n## Multimedia\n\nConsulta\n[esta página](https://wiki.archlinux.org/index.php/List_of_applications/Multimedia)\npara ver la variedad de programas multimedia disponibles.\n\n### Imágenes\n\nPara ver imágenes, de los programas gráficos que he probado\n[geeqie](https://www.archlinux.org/packages/extra/x86_64/geeqie/) es el mejor:\n\n```bash\nsudo pacman -S geeqie\n```\n\n### Vídeo y audio\n\nAquí sin duda el clásico\n[vlc](https://wiki.archlinux.org/index.php/VLC_media_player_(Espa%C3%B1ol))\nes lo que necesitamos:\n\n```bash\nsudo pacman -S vlc\n```\n\n## Empieza a hackear\n\nCon todo lo que has hecho hasta ahora ya tienes todas las herramientas para\nempezar a trastear con las configuraciones y hacer de tu entorno de escritorio,\nbueno, *tu* entorno de escritorio. Lo que recomiendo es empezar añadiendo\natajaos de teclado para programas típicos como *firefox*, un editor de texto,\nexplorador de archivos, etc.\n\nUna vez te sientas cómodo con Qtile, puedes instalar otros gestores de ventanas\ny tendrás más sesiones disponibles al iniciar sesión con *lightdm*.\n\nAqui tienes una lista con las configuraciones de mis gestores de ventanas,\ncada uno tiene su documentación propia:\n\n- [Qtile](https://github.com/antoniosarosi/dotfiles/tree/master/.config/qtile/README.es.md)\n- [Spectrwm](https://github.com/antoniosarosi/dotfiles/tree/master/.config/spectrwm/README.es.md)\n- [Openbox](https://github.com/antoniosarosi/dotfiles/tree/master/.config/openbox/README.es.md)\n- [Xmonad](https://github.com/antoniosarosi/dotfiles/tree/master/.config/xmonad/README.es.md)\n- [Dwm](https://github.com/antoniosarosi/dwm)\n\n# Galería\n\n## [Qtile](https://github.com/antoniosarosi/dotfiles/tree/master/.config/qtile)\n![Qtile](.screenshots/qtile.png)\n\n## [Spectrwm](https://github.com/antoniosarosi/dotfiles/tree/master/.config/spectrwm)\n![Spectrwm](.screenshots/spectrwm.png)\n\n## [Openbox](https://github.com/antoniosarosi/dotfiles/tree/master/.config/openbox)\n![Openbox](.screenshots/openbox.png)\n\n## [Xmonad](https://github.com/antoniosarosi/dotfiles/tree/master/.config/xmonad)\n![Xmonad](.screenshots/xmonad.png)\n\n## [Dwm](https://github.com/antoniosarosi/dwm)\n![Dwm](.screenshots/dwm.png)\n\n# Atajos de teclado\n\nEstos son algunos atajos de teclado comunes a todos mis gestores de ventanas:\n\n\n## Ventanas\n\n| Atajo                   | Acción                                       |\n| ----------------------- | -------------------------------------------- |\n| **mod + j**             | siguiente ventana                            |\n| **mod + k**             | ventana previa                               |\n| **mod + shift + h**     | aumentar master                              |\n| **mod + shift + l**     | decrementar master                           |\n| **mod + shift + j**     | mover ventana abajo                          |\n| **mod + shift + k**     | mover ventana arriba                         |\n| **mod + shift + f**     | pasar ventana a flotante                     |\n| **mod + tab**           | cambiar la disposición de las ventanas       |\n| **mod + [1-9]**         | cambiar al espacio de trabajo N (1-9)        |\n| **mod + shift + [1-9]** | mandar ventana al espacio de trabajo N (1-9) |\n| **mod + punto**         | enfocar siguiente monitor                    |\n| **mod + coma**          | enfocar monitor previo                       |\n| **mod + w**             | cerrar ventana                               |\n| **mod + ctrl + r**      | reiniciar gestor de ventana                  |\n| **mod + ctrl + q**      | cerrar sesión                                |\n\nLos siguientes atajos de teclado funcionarán solo si instalas los programas que\nlanzan:\n\n```bash\nsudo pacman -S rofi thunar firefox alacritty redshift scrot\n```\n\nPara configurar *rofi*,\n[lee este README](https://github.com/antoniosarosi/dotfiles/tree/master/.config/rofi/README.es.md),\ny para *alacritty*, [este](https://github.com/antoniosarosi/dotfiles/tree/master/.config/alacritty/README.es.md).\n\n## Apps\n\n| Atajo               | Acción                                 |\n| ------------------- | -------------------------------------- |\n| **mod + m**         | lanzar rofi                            |\n| **mod + shift + m** | navegación (rofi)                      |\n| **mod + b**         | lanzar navegador (firefox)             |\n| **mod + e**         | lanzar explorador de archivos (thunar) |\n| **mod + return**    | lanzar terminal (alacritty)            |\n| **mod + r**         | redshift                               |\n| **mod + shift + r** | parar redshift                         |\n| **mod + s**         | captura de pantalla (scrot)            |\n\n# Software\n\n## Utilidades básicas\n\n| Software                                                                                            | Utilidad                                      |\n| --------------------------------------------------------------------------------------------------- | --------------------------------------------- |\n| **[networkmanager](https://wiki.archlinux.org/index.php/NetworkManager)**                           | Autoexplicativo                               |\n| **[network-manager-applet](https://wiki.archlinux.org/index.php/NetworkManager#nm-applet)**         | *NetworkManager* systray                      |\n| **[pulseaudio](https://wiki.archlinux.org/index.php/PulseAudio)**                                   | Autoexplicativo                               |\n| **[pavucontrol](https://www.archlinux.org/packages/extra/x86_64/pavucontrol/)**                     | *pulseaudio* GUI                              |\n| **[pamixer](https://www.archlinux.org/packages/community/x86_64/pamixer/)**                         | *pulseaudio* CLI                              |\n| **[brightnessctl](https://www.archlinux.org/packages/community/x86_64/brightnessctl/)**             | Brillo para portátiles                        |\n| **[xinit](https://wiki.archlinux.org/index.php/Xinit)**                                             | Inicia programas antes del gestor de ventanas |\n| **[libnotify](https://wiki.archlinux.org/index.php/Desktop_notifications)**                         | Notificaciones de escritorio                  |\n| **[notification-daemon](https://www.archlinux.org/packages/community/x86_64/notification-daemon/)** | Autoexplicativo                               |\n| **[udiskie](https://www.archlinux.org/packages/community/any/udiskie/)**                            | Montar discos automáticamente                 |\n| **[ntfs-3g](https://wiki.archlinux.org/index.php/NTFS-3G)**                                         | Leer y escribir NTFS                          |\n| **[arandr](https://www.archlinux.org/packages/community/any/arandr/)**                              | GUI para *xrandr*                             |\n| **[cbatticon](https://www.archlinux.org/packages/community/x86_64/cbatticon/)**                     | Systray para la batería                       |\n| **[volumeicon](https://www.archlinux.org/packages/community/x86_64/volumeicon/)**                   | Systray para el volumen                       |\n| **[glib2](https://www.archlinux.org/packages/core/x86_64/glib2/)**                                  | Basura                                        |\n| **[gvfs](https://www.archlinux.org/packages/extra/x86_64/gvfs/)**                                   | Basura para GUIs                              |\n\n## Fuentes, temas y GTK\n\n| Software                                                                               | Utilidad                               |\n| -------------------------------------------------------------------------------------- | -------------------------------------- |\n| **[Picom](https://wiki.archlinux.org/index.php/Picom)**                                | Compositor para Xorg                   |\n| **[UbuntuMono Nerd Font](https://aur.archlinux.org/packages/nerd-fonts-ubuntu-mono/)** | Nerd Font para iconos                  |\n| **[Material Black](https://www.gnome-look.org/p/1316887/)**                            | Tema e iconos para GTK                 |\n| **[lxappearance](https://www.archlinux.org/packages/community/x86_64/lxappearance/)**  | GUI para cambiar temas                 |\n| **[nitrogen](https://wiki.archlinux.org/index.php/Nitrogen)**                          | GUI para establecer fondos de pantalla |\n| **[feh](https://wiki.archlinux.org/index.php/Feh)**                                    | CLI para establecer fondos de pantalla |\n\n## Apps\n\n| Software                                                              | Utilidad                           |\n| --------------------------------------------------------------------- | ---------------------------------- |\n| **[alacritty](https://wiki.archlinux.org/index.php/Alacritty)**       | Emulador de Terminal               |\n| **[thunar](https://wiki.archlinux.org/index.php/Thunar)**             | Gestor de archivos gráfico         |\n| **[ranger](https://wiki.archlinux.org/index.php/Ranger)**             | Gestor de archivos de terminal     |\n| **[neovim](https://wiki.archlinux.org/index.php/Neovim)**             | Editor de texto basado en terminal |\n| **[rofi](https://wiki.archlinux.org/index.php/Rofi)**                 | Menú y navegación                  |\n| **[scrot](https://wiki.archlinux.org/index.php/Screen_capture)**      | Captura de pantalla                |\n| **[redshift](https://wiki.archlinux.org/index.php/Redshift)**         | Cuida tus ojos                     |\n| **[trayer](https://www.archlinux.org/packages/extra/x86_64/trayer/)** | Systray                            |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniosarosi%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantoniosarosi%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniosarosi%2Fdotfiles/lists"}