l3d.dotfiles
dotfiles
Uso previsto
Este rol está diseñado para gestionar hosts de Linux con los siguientes roles. Este rol se centra principalmente en desplegar algunos dotfiles. @DO1JLR decidió que son necesarios en todos los hosts que son gestionados por Ansible. Otros roles distribuyen claves públicas ssh, configuran sshd, crean usuarios y gestionan permisos sudo o instalan varios paquetes útiles.
Una lista de roles sugeridos para gestionar tu host de Linux:
- do1jlr.base instalar algunos paquetes útiles
- do1jlr.users crear usuario y gestionar sudoers
- do1jlr.auth desplegar claves públicas ssh
- do1jlr.sshd configurar sshd
- do1jlr.dotfiles (este)
Bueno saber:
Los roles listados utilizan las mismas variables para crear cuentas, administradores, etc. Pero los roles deben ejecutarse en el orden correcto para funcionar adecuadamente. Por ejemplo, no puedes desplegar una clave pública ssh para un usuario que no ha sido creado.
Obténlo directamente desde Ansible Galaxy
$ ansible-galaxy install do1jlr.dotfiles
Función de este rol
Rol de Ansible para desplegar algunos dotfiles que pueden ser útiles.
Archivos afectados:
/etc/bash.bashrc
~/.bashrc
~/.vimrc
(y opcionalmente algunos más, si están habilitados)
Variables:
La variable accounts
es muy importante, ya que gestionará qué cuentas de usuario serán configuradas.
# habilitar la verificación básica de versión para este rol
# configúralo en true para usarlo (recomendado)
submodules_versioncheck: false
# para algunas funciones de ansible necesitamos el paquete python selinux en fedora
# desactívalo si no lo quieres
dotfiles__install_python_selinux: true
# modificar bashrc
dotfiles__modify_bashrc: true
# lista de alias usados en bashrc
dotfiles__aliases:
- { alias: "ls", command: "ls ", color: True }
- { alias: "grep", command: "grep", color: True }
- { alias: "ll", command: "ls -alF", color: False }
- { alias: "la", command: "ls -A", color: False }
- { alias: "l", command: "ls -CF", color: False }
- { alias: "lz", command: "ls -Z", color: False }
- { alias: "EDITOR", command: "/usr/bin/vim", color: False }
- { alias: "VISUAL", command: "/usr/bin/gedit", color: False }
- { alias: "gitsubpull", command: "git submodule foreach '(git checkout \\$(git symbolic-ref --short refs/remotes/origin/HEAD | sed 's@^origin/@@'); git pull)'", color: False }
- { alias: "pwgen", command: "/usr/bin/pwgen --num-passwords=3000 --numerals --capitalize --secure --no-vowels --ambiguous --symbols 95 1", color: false }
# habilitar la autocompletación de bash
dotfiles__bash_completion_enabled: true
# aviso elegante
dotfiles__user_prompt: '\[\033[01;33m\] $(printf "\xE2\x9D\xA4") \[\033[01;32m\]\u\[\033[01;36m\]@\[\033[01;32m\]\H\[\033[01;34m\] <\A> \[\033[01;35m\] \j \[\033[01;36m\] \w \[\033[01;33m\]\n\[\033[01;33m\] $(git branch 2>/dev/null | sed -n "s/* \(.*\)/\1 /p")$\[\033[01;00m\] '
dotfiles__root_prompt: '\[\033[01;31m\] $(printf "\xE2\x9D\xA4") \[\033[01;32m\]\u\[\033[01;36m\]@\[\033[01;32m\]\H\[\033[01;34m\] <\A> \[\033[01;35m\] \j \[\033[01;36m\] \w \[\033[01;33m\]\n\[\033[01;33m\] $(git branch 2>/dev/null | sed -n "s/* \(.*\)/\1 /p")$\[\033[01;00m\] '
# modificar el historial de bash
dotfiles__history_control: 'ignoreboth'
dotfiles__history_size: '-1'
dotfiles__history_file_size: '-1'
# líneas adicionales opcionales en /etc/bash.bashrc
dotfiles__additional_bashrc_lines: []
# - eval `foo`
# - tmux new-session
# líneas adicionales opcionales en ~/.bashrc
dotfiles__additional_user_bashrc_lines: []
# - eval $(keychain --eval --quiet id_ed25519)
# opcionalmente permitir bashrc personalizado para root
dotfiles__allow_own_root_bashrc: false
# comandos personalizados opcionales
Por favor, echa un vistazo a defaults/main.yml
para más opciones de configuración.
Pruebas
Si quieres saber más sobre nuestras pruebas, por favor consulta el marketplace de GitHub.
Deploy some dotfiles like .vimrc and .bashrc for all defined users
ansible-galaxy install l3d.dotfiles