l3d.dotfiles
dotfiles
Zastosowanie
Ta rola jest przeznaczona do zarządzania hostami Linux z następującymi rolami. Ta konkretna rola skupia się głównie na wdrażaniu plików dotfiles, które, jak zauważył @DO1JLR, są potrzebne na wszystkich hostach zarządzanych przez ansible. Inne role rozprowadzają klucze publiczne SSH, konfigurować SSHD, tworzą użytkowników i zarządzają uprawnieniami sudo lub instalują szereg przydatnych pakietów.
Lista sugerowanych ról do zarządzania Twoim hostem Linux:
- do1jlr.base instaluje przydatne pakiety
- do1jlr.users tworzy użytkownika i zarządza sudoers
- do1jlr.auth wdraża klucze publiczne SSH
- do1jlr.sshd konfiguruje SSHD
- do1jlr.dotfiles (ta rola)
Dobrze wiedzieć:
Wymienione role używają tych samych zmiennych do tworzenia kont, adminów itd. Jednak role muszą działać w odpowiedniej kolejności, aby działały prawidłowo. Na przykład nie można wdrożyć klucza publicznego SSH dla użytkownika, który jeszcze nie został utworzony.
Pobierz to bezpośrednio z Ansible Galaxy
$ ansible-galaxy install do1jlr.dotfiles
Funkcja tej roli
Rola Ansible do wdrażania kilku plików dotfiles, które mogą być przydatne.
Dotknięte pliki:
/etc/bash.bashrc
~/.bashrc
~/.vimrc
(i opcjonalnie kilka innych, jeśli włączone)
Zmienne:
Zmienna accounts
jest bardzo ważna, ponieważ zarządza, które konta użytkowników będą konfigurowane.
# włącz podstawową kontrolę wersji dla tej roli
# ustaw na true, aby jej użyć (zalecane)
submodules_versioncheck: false
# dla niektórych funkcji ansible potrzebujemy pakietu python selinux na fedora
# wyłącz to, jeśli go nie chcesz
dotfiles__install_python_selinux: true
# modyfikuj bashrc
dotfiles__modify_bashrc: true
# lista aliasów używanych w 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 }
# włącz automatyczne uzupełnianie bash
dotfiles__bash_completion_enabled: true
# ładny prompt
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\] '
# modyfikuj historię bash
dotfiles__history_control: 'ignoreboth'
dotfiles__history_size: '-1'
dotfiles__history_file_size: '-1'
# opcjonalne dodatkowe wpisy do /etc/bash.bashrc
dotfiles__additional_bashrc_lines: []
# - eval `foo`
# - tmux new-session
# opcjonalne dodatkowe wpisy do ~/.bashrc
dotfiles__additional_user_bashrc_lines: []
# - eval $(keychain --eval --quiet id_ed25519)
# opcjonalnie pozwól na własny bashrc dla root
dotfiles__allow_own_root_bashrc: false
# opcjonalne niestandardowe komendy
Proszę zapoznać się z defaults/main.yml
w celu uzyskania dodatkowych opcji konfiguracyjnych!
Testowanie
Jeśli chcesz dowiedzieć się więcej o naszych testach, proszę zajrzeć na rynek GitHub.
Deploy some dotfiles like .vimrc and .bashrc for all defined users
ansible-galaxy install l3d.dotfiles