dotfiles
dotfiles
Предназначение
Эта роль предназначена для управления хостами на Linux с помощью следующих ролей. Она сосредоточена на развертывании некоторых dotfiles. @DO1JLR решил, что они необходимы на всех хостах, которые управляются с помощью Ansible. Другие роли распределяют публичные SSH-ключи, настраивают sshd, создают пользователей и управляют правами sudo или устанавливают ряд полезных пакетов.
Список предложенных ролей для управления вашим хостом на Linux:
- do1jlr.base установка полезных пакетов
- do1jlr.users создание пользователей и управление sudoers
- do1jlr.auth развертывание публичных SSH-ключей
- do1jlr.sshd настройка sshd
- do1jlr.dotfiles (это)
Полезно знать:
Перечисленные роли используют одни и те же переменные для создания учетных записей, администраторов и т.д. Однако роли должны выполняться в правильном порядке, чтобы работать корректно. Например, невозможно развернуть публичный SSH-ключ для пользователя, который еще не был создан.
Установите напрямую из Ansible Galaxy
$ ansible-galaxy install do1jlr.dotfiles
Функция этой роли
Роль Ansible для развертывания некоторых dotfiles, которые могут быть полезны.
Затронутые файлы:
/etc/bash.bashrc
~/.bashrc
~/.vimrc
(и, опционально, некоторые другие, если включены)
Переменные:
Переменная accounts
очень важна, так как она управляет тем, какие учетные записи пользователей будут настроены.
# включить базовую проверку версии для этой роли
# установите в true, чтобы использовать (рекомендуется)
submodules_versioncheck: false
# для некоторых функций ansible нам нужен python пакет selinux на fedora
# отключите, если он вам не нужен
dotfiles__install_python_selinux: true
# изменить bashrc
dotfiles__modify_bashrc: true
# список псевдонимов, используемых в 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 }
# включить завершение bash
dotfiles__bash_completion_enabled: true
# красивая подсказка
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\] '
# изменить историю bash
dotfiles__history_control: 'ignoreboth'
dotfiles__history_size: '-1'
dotfiles__history_file_size: '-1'
# опциональные дополнительные записи в /etc/bash.bashrc
dotfiles__additional_bashrc_lines: []
# - eval `foo`
# - tmux new-session
# опциональные дополнительные записи в ~/.bashrc
dotfiles__additional_user_bashrc_lines: []
# - eval $(keychain --eval --quiet id_ed25519)
# опционально разрешить собственный bashrc для root
dotfiles__allow_own_root_bashrc: false
# опциональные пользовательские команды
Пожалуйста, посмотрите в defaults/main.yml
для получения дополнительных параметров конфигурации!
Тестирование
Если вы хотите узнать больше о наших тестах, пожалуйста, посмотрите в маркетплейс GitHub.
Deploy some dotfiles like .vimrc and .bashrc for all defined users
ansible-galaxy install roles-ansible/ansible_role_dotfiles