l3d.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 功能,我们需要 Fedora 的 python selinux 包
# 如果您不需要,可以禁用它
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
dotfiles__allow_own_root_bashrc: false
# 可选自定义命令
请查看 defaults/main.yml
以获取更多配置选项!
测试
如果您想了解有关我们的测试的更多信息,请查看 GitHub 市场。
关于项目
Deploy some dotfiles like .vimrc and .bashrc for all defined users
安装
ansible-galaxy install l3d.dotfiles
许可证
mit
下载
516
拥有者
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy