Skip to content

roles-ansible/ansible_role_dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

MIT License Galaxy

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 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:

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.

Get it directly from Ansible Galaxy

$ ansible-galaxy install do1jlr.dotfiles

Function of this role

Ansible role to deploy some dotfiles which may be useful

Affected files:

/etc/bash.bashrc
~/.bashrc
~/.vimrc

(and optionally some more, if enabled)

variables:

The variable accounts is very important, because this will manage which user accounts will be configured.

# enable basic version check for this role
# set it to true to use it (recomended)
submodules_versioncheck: false

# 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

# modify bashrc
dotfiles__modify_bashrc: true

# list of aliases used in 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 }


# enable bash completion
dotfiles__bash_completion_enabled: true

# fancy promt
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\] '

# modify bash history
dotfiles__history_control: 'ignoreboth'
dotfiles__history_size: '-1'
dotfiles__history_file_size: '-1'

# optional additional entries to /etc/bash.bashrc
dotfiles__additional_bashrc_lines: []
# - eval `foo`
# - tmux new-session

# optional additional entries to ~/.bashrc
dotfiles__additional_user_bashrc_lines: []
#  - eval $(keychain --eval --quiet id_ed25519)

# optionally allow custom bashrc for root
dotfiles__allow_own_root_bashrc: false

# otional custom commands

Please have a look into defaults/main.yml for more configuration options!

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 ansible-lint action
Ansible check debian:stable ansible test with debian stable
Ansible check debian:latest ansible test with debian latest
Ansible check debian:sid ansible test with debian sid
Ansible check debian:buster ansible test with debian buster
Ansible check debian:stretch ansible test with debian stretch
Ansible check archlinux:latest ansible test with archlinux latest
Ansible check ubuntu:latest ansible test with ubuntu latest
Ansible check ubuntu:bionic ansible test with ubuntu bionic
Ansible check ubuntu:trusty ansible test with ubuntu trusty
Ansible check fedora:latest ansible test with fedora latest
Ansible check fedora:33 ansible test with fedora 33
Ansible check fedora:32 ansible test with fedora 32
Ansible check fedora:31 ansible test with fedora 31
Ansible check centos:latest ansible test with centos latest
Ansible check centos:centos8 ansible test with centos centos8
Ansible check centos:centos7 ansible test with centos centos7