Made both states configurable per user in pillar data Had to drop extend, for this otherwise the extend would be empty if manage is Falsetags/v0.45.0
@@ -31,11 +31,13 @@ is configured. | |||
``users.bashrc`` | |||
---------------- | |||
Ensures the bashrc file exists in the users home directory | |||
Ensures the bashrc file exists in the users home directory. Set manage_bashrc: | |||
True in pillar per user. Defaults to False | |||
``users.vimrc`` | |||
--------------- | |||
Ensures the vimrc file exists in the users home directory. | |||
Ensures the vimrc file exists in the users home directory. Set manage_vimrc: | |||
True in pillar per user. Defaults to False | |||
This depends on the vim-formula to be installed | |||
@@ -9,6 +9,8 @@ users: | |||
password: $6$w............. | |||
home: /custom/buser | |||
createhome: True | |||
manage_vimrc: False | |||
manage_bashrc: False | |||
expire: 16426 | |||
sudouser: True | |||
sudo_rules: |
@@ -2,25 +2,26 @@ | |||
include: | |||
- users | |||
extend: | |||
{% for name, user in pillar.get('users', {}).items() if user.absent is not defined or not user.absent %} | |||
{%- if user == None -%} | |||
{%- set user = {} -%} | |||
{%- endif -%} | |||
{%- set home = user.get('home', "/home/%s" % name) -%} | |||
{%- set manage = user.get('manage_bashrc', False) -%} | |||
{%- if 'prime_group' in user and 'name' in user['prime_group'] %} | |||
{%- set user_group = user.prime_group.name -%} | |||
{%- else -%} | |||
{%- set user_group = name -%} | |||
{%- endif %} | |||
users_{{ name }}_user: | |||
file.managed: | |||
- name: {{ home }}/.bashrc | |||
- owner: {{ name }} | |||
- group: {{ user_group }} | |||
- mode: 644 | |||
- source: | |||
- salt://users/files/bashrc/{{ name }}/bashrc | |||
- salt://users/files/bashrc/bashrc | |||
{%- if manage -%} | |||
users_{{ name }}_user_bashrc: | |||
file.managed: | |||
- name: {{ home }}/.bashrc | |||
- user: {{ name }} | |||
- group: {{ user_group }} | |||
- mode: 644 | |||
- source: | |||
- salt://users/files/bashrc/{{ name }}/bashrc | |||
- salt://users/files/bashrc/bashrc | |||
{% endif %} | |||
{% endfor %} |
@@ -3,25 +3,26 @@ include: | |||
- users | |||
- vim | |||
extend: | |||
{% for name, user in pillar.get('users', {}).items() if user.absent is not defined or not user.absent %} | |||
{%- if user == None -%} | |||
{%- set user = {} -%} | |||
{%- endif -%} | |||
{%- set home = user.get('home', "/home/%s" % name) -%} | |||
{%- set manage = user.get('manage_vimrc', False) -%} | |||
{%- if 'prime_group' in user and 'name' in user['prime_group'] %} | |||
{%- set user_group = user.prime_group.name -%} | |||
{%- else -%} | |||
{%- set user_group = name -%} | |||
{%- endif %} | |||
users_{{ name }}_user: | |||
file.managed: | |||
- name: {{ home }}/.vimrc | |||
- owner: {{ name }} | |||
- group: {{ user_group }} | |||
- mode: 644 | |||
- source: | |||
- salt://users/files/vimrc/{{ name }}/vimrc | |||
- salt://users/files/vimrc/vimrc | |||
{%- if manage -%} | |||
users_{{ name }}_user_vimrc: | |||
file.managed: | |||
- name: {{ home }}/.vimrc | |||
- user: {{ name }} | |||
- group: {{ user_group }} | |||
- mode: 644 | |||
- source: | |||
- salt://users/files/vimrc/{{ name }}/vimrc | |||
- salt://users/files/vimrc/vimrc | |||
{% endif %} | |||
{% endfor %} |