2018-11-18 23:46:40 +01:00
dotfiles
==========
2020-11-13 14:38:52 +01:00
[![MIT License ](https://raw.githubusercontent.com/roles-ansible/ansible_role_dotfiles/master/.github/license.svg?sanitize=true )](https://github.com/roles-ansible/ansible_role_dotfiles/blob/master/LICENSE)
2020-11-13 14:40:09 +01:00
[![Galaxy ](https://raw.githubusercontent.com/roles-ansible/ansible_role_dotfiles/master/.github/galaxy.svg?sanitize=true )](https://galaxy.ansible.com/do1jlr/dotfiles)
2019-06-11 13:32:22 +02:00
2021-09-19 03:32:11 +02:00
intended use
---------------
This role is designed to manage linux hosts with the following roles. This role here basically only focuses on deploying some dotfiles, [@DO1JLR ](https://github.com/DO1JLR ) decided they are needed at all hosts that are ansible managed.
Other roles distribute ssh public keys, configure sshd, create users and manage sudo permissions or install a number of useful packages.
A list of suggested roles to manage your linux host:
- [do1jlr.base ](https://github.com/roles-ansible/ansible_role_base.git ) *install some useful packages*
- [do1jlr.users ](https://github.com/roles-ansible/ansible_role_users.git ) *create user and manage sudoers*
- [do1jlr.auth ](https://github.com/chaos-bodensee/role-ssh_authorized_keys.git ) *deploy ssh pubkeys*
- [do1jlr.sshd ](https://github.com/roles-ansible/ansible_role_sshd.git ) *configure sshd*
- [do1jlr.dotfiles ](https://github.com/roles-ansible/ansible_role_dotfiles ) *(this one)*
Good to know:
---------------
The listed roles use the same variables to create accounts, admins and so on. But the roles have to run in the correct order to work properly.
For example you can't deploy a ssh public key for a user that is not created.
2020-11-13 11:30:51 +01:00
### Get it directly from Ansible Galaxy
2019-06-11 13:32:22 +02:00
```bash
$ ansible-galaxy install do1jlr.dotfiles
```
Function of this role
-----------------------
2018-11-18 23:46:40 +01:00
Ansible role to deploy some dotfiles which may be useful
2018-11-18 00:05:07 +01:00
Affected files:
```ini
/etc/bash.bashrc
2019-01-10 13:32:49 +01:00
~/.bashrc
~/.vimrc
2018-11-18 00:05:07 +01:00
```
2020-11-29 22:36:37 +01:00
*(and optionally some more, if enabled)*
2021-09-19 03:32:11 +02:00
variables:
2018-11-18 23:46:40 +01:00
---------------
2021-09-19 03:32:11 +02:00
The variable ``accounts`` is very important, because this will manage which user accounts will be configured.
2018-11-18 00:05:07 +01:00
```ini
2020-11-13 11:30:51 +01:00
# enable basic version check for this role
# set it to true to use it (recomended)
submodules_versioncheck: false
2019-03-03 23:09:48 +01:00
2020-11-13 11:30:51 +01:00
# for some ansible features we need the python selinux package at fedora
# disable it, if you don't want it
dotfiles__install_python_selinux: true
2018-11-18 00:05:07 +01:00
2020-11-13 11:30:51 +01:00
# modify bashrc
2020-11-13 14:28:57 +01:00
dotfiles__modify_bashrc: true
2020-11-13 11:30:51 +01:00
# list of aliases used in bashrc
2020-11-13 14:28:57 +01:00
dotfiles__aliases:
2020-11-13 11:30:51 +01:00
- { 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 }
2020-11-29 22:36:37 +01:00
- { 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 }
2020-11-13 11:30:51 +01:00
# enable bash completion
2020-11-13 14:28:57 +01:00
dotfiles__bash_completion_enabled: true
2020-11-13 11:30:51 +01:00
# fancy promt
2020-11-29 22:36:37 +01:00
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\] '
2020-11-13 14:28:57 +01:00
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\] '
2020-11-13 11:30:51 +01:00
# modify bash history
2020-11-29 22:36:37 +01:00
dotfiles__history_control: 'ignoreboth'
dotfiles__history_size: '-1'
dotfiles__history_file_size: '-1'
2020-11-13 11:30:51 +01:00
2020-11-29 22:36:37 +01:00
# optional additional entries to /etc/bash.bashrc
2020-11-13 14:28:57 +01:00
dotfiles__additional_bashrc_lines: []
2020-11-13 11:30:51 +01:00
# - eval `foo`
# - tmux new-session
2020-11-29 22:36:37 +01:00
# optional additional entries to ~/.bashrc
dotfiles__additional_user_bashrc_lines: []
# - eval $(keychain --eval --quiet id_ed25519)
2020-11-13 11:30:51 +01:00
# optionally allow custom bashrc for root
2020-11-13 14:28:57 +01:00
dotfiles__allow_own_root_bashrc: false
2020-11-13 11:30:51 +01:00
# otional custom commands
2018-11-18 23:46:40 +01:00
```
2019-02-01 15:27:32 +01:00
Please have a look into ``defaults/main.yml`` for more configuration options!
2020-11-13 14:28:57 +01:00
### testing
If you want to find out more about our tests, please have a look at the github marketplace.
| test status | Github Marketplace |
| :--------- | :---------------- |
| [![Ansible Lint check ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20Lint%20check/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+Lint+check%22) | [ansible-lint action ](https://github.com/marketplace/actions/ansible-lint )
| [![Ansible check debian:stable ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20debian:stable/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+debian%3Astable%22) | [ansible test with debian stable ](https://github.com/marketplace/actions/check-ansible-debian-stable ) |
| [![Ansible check debian:latest ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20debian:latest/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+debian%3Alatest%22) | [ansible test with debian latest ](https://github.com/marketplace/actions/check-ansible-debian-latest ) |
| [![Ansible check debian:sid ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20debian:sid/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+debian%3Asid%22) | [ansible test with debian sid ](https://github.com/marketplace/actions/check-ansible-debian-sid ) |
| [![Ansible check debian:buster ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20debian:buster/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+debian%3Abuster%22) | [ansible test with debian buster ](https://github.com/marketplace/actions/check-ansible-debian-buster ) |
| [![Ansible check debian:stretch ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20debian:stretch/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+debian%3Astretch%22) | [ansible test with debian stretch ](https://github.com/marketplace/actions/check-ansible-debian-stretch ) |
| | |
| [![Ansible check archlinux:latest ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20archlinux:latest/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+archlinux%3Alatest%22) | [ansible test with archlinux latest ](https://github.com/marketplace/actions/check-ansible-archlinux-latest ) |
| | |
| [![Ansible check ubuntu:latest ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20ubuntu:latest/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+ubuntu%3Alatest%22) | [ansible test with ubuntu latest ](https://github.com/marketplace/actions/check-ansible-ubuntu-latest ) |
| [![Ansible check ubuntu:bionic ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20ubuntu:bionic/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+ubuntu%3Abionic%22) | [ansible test with ubuntu bionic ](https://github.com/marketplace/actions/check-ansible-ubuntu-bionic ) |
| [![Ansible check ubuntu:trusty ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20ubuntu:trusty/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+ubuntu%3Atrusty%22) | [ansible test with ubuntu trusty ](https://github.com/marketplace/actions/check-ansible-ubuntu-trusty ) |
| | |
| [![Ansible check fedora:latest ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20fedora:latest/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+fedora%3Alatest%22) | [ansible test with fedora latest ](https://github.com/marketplace/actions/check-ansible-fedora-latest ) |
| [![Ansible check fedora:33 ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20fedora:33/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+fedora%3A33%22) | [ansible test with fedora 33 ](https://github.com/marketplace/actions/check-ansible-fedora-33 ) |
| [![Ansible check fedora:32 ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20fedora:32/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+fedora%3A32%22) | [ansible test with fedora 32 ](https://github.com/marketplace/actions/check-ansible-fedora-32 ) |
| [![Ansible check fedora:31 ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20fedora:31/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+fedora%3A31%22) | [ansible test with fedora 31 ](https://github.com/marketplace/actions/check-ansible-fedora-31 ) |
| | |
| [![Ansible check centos:latest ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20centos:latest/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+centos%3Alatest%22) | [ansible test with centos latest ](https://github.com/marketplace/actions/check-ansible-centos-latest ) |
| [![Ansible check centos:centos8 ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20centos:centos8/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+centos%3Acentos8%22) | [ansible test with centos centos8 ](https://github.com/marketplace/actions/check-ansible-centos-centos8 ) |
| [![Ansible check centos:centos7 ](https://github.com/roles-ansible/ansible_role_dotfiles/workflows/Ansible%20check%20centos:centos7/badge.svg )](https://github.com/roles-ansible/ansible_role_dotfiles/actions?query=workflow%3A%22Ansible+check+centos%3Acentos7%22) | [ansible test with centos centos7 ](https://github.com/marketplace/actions/check-ansible-centos-centos7 ) |