Este archivo mantiene las configuraciones sugeridas de algunas de las aplicaciones que usamos en Mikroways. La forma de instalar estos dotfiles es tan simple como ejecutar:
git clone https://github.com/Mikroways/dotfiles.git ~/.dotfiles-mw
~/.dotfiles-mw/script/installLuego de correr los comandos anteriores se configurarán algunos programas utilizados desde la consola como por ejemplo:
- zsh
- vim
- git
- tmux
El archivo gitconfig.local contiene datos personales (nombre, email) y no
forma parte del repositorio. Debe crearse directamente en el home:
cp ~/.mikroways/dotfiles/gitconfig.local.sample ~/.gitconfig.localLuego editarlo con los datos reales:
[user]
name = Juan Perez
email = juan.perez@mikroways.netEl gitconfig del repo lo incluye automáticamente vía [include], por lo que
cualquier valor definido en ~/.gitconfig.local sobreescribe la configuración
compartida sin generar cambios en el repositorio.
La idea es que cada integrante de Mikroways utilice este repositorio como punto de partida, pero personalice su ambiente como mejor le parezca, agregando nuevas configuraciones y proponiéndolas al repositorio raíz, compartiendo experiencias que nos hagan más eficientes en el día a día. Para ello se puede forkear este repositorio y cualquier contribución realizarla como un Pull Request.
Las personalizaciones se pueden hacer en cascada de la siguiente forma:
- Primero se setean los valores por defecto en
.zshrc - Luego se personalizan los valores por defecto para Mikroways usando
.zshrc.mikroways - Finalmente, un usuario puede crear un archivo
.zshrc.userque idealmente conviene no versionarlo en este repositorio con las personalizaciones que desea sobreescribir - Respecto a los bundles de antigen, es posible aplicar personalizaciones con:
.zshrc.mikroways.antigen.bundlesy.zshrc.user.antigen.bundles
- zshell autocomplete y configuraciones de ssh compartidas mediante mw-sshconfig-sync o simplemente usando el cliente de nextcloud.
- Conexión a las vpn de nuestros clientes usando mw-vpn. La idea es que cada usuario configure sus credenciales, pero ahorramos la forma de conectarte agnósticamente a cada cliente. Aún nos queda el autocomplete de este comando.
Al abrir una nueva terminal, se lanza en background un chequeo de actualizaciones
para todos los repositorios git bajo ~/.mikroways/. Si hay novedades, se
notifica al inicio de la próxima sesión de terminal.
- Una vez por día: el chequeo corre a lo sumo una vez diaria (controlado por
~/.mw-tools-upgrade.lock). - Solo ramas principales: los repositorios en una rama distinta a
mainomasterse reportan como advertencia pero no se actualizan automáticamente. - Sin cambios locales: si un repositorio tiene cambios sin commitear, se aborta la actualización y se avisa.
- Notificaciones diferidas: los avisos (actualizaciones disponibles, repos en rama no principal, cambios locales sin commitear) se muestran al abrir la siguiente terminal, no mientras el chequeo corre en background.
| Comando | Descripción |
|---|---|
mw-tools-upgrade |
Chequea actualizaciones una vez por día (interactivo) |
mw-tools-upgrade -y |
Igual pero aplica automáticamente sin preguntar |
mw-tools-upgrade -v |
Muestra el output completo del fetch por repo |
mw-tools-force-upgrade |
Igual a mw-tools-upgrade pero ignora el lock diario — no hace falta borrar el lock manualmente |
mw-tools-force-upgrade -v |
Force + verbose |
| Archivo | Propósito |
|---|---|
~/.mw-tools-upgrade.lock |
Evita chequeos repetidos el mismo día |
~/.mw-tools-upgrade.warn |
Mensajes pendientes a mostrar en la próxima terminal |
~/.mw-tools-upgrade.log |
Log del último chequeo en background |
Dejamos algunos tips sobre vim que hemos configurado con estos dotfiles