Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {% for username, details in pillar.get('users', {}).items() if details.absent is not defined or not details.absent %}
- {%- if details == None -%}
- {%- set details = {} -%}
- {%- endif -%}
- {%- set user_files = salt['pillar.get'](('users:' ~ username ~ ':user_files'), { 'enabled': False}) -%}
- {{ username }}:
- group:
- - present
- - name: {{ username }}
- - gid: {{ details.get('gid', '') }}
- user:
- - present
- - fullname: {{ details.get('fullname','') }}
- - name: {{ username }}
- - shell: {{ details.get('shell','') }}
- - home: /home/{{ username }}
- - password: {{ details.get('password','') }}
- {% if 'groups' in details %}
- - groups:
- {% for group in details.get('groups', []) %}
- - {{ group }}
- {% endfor %}
- {% if grains['os_family'] == 'RedHat' or 'Altlinux' or 'Gentoo' %}
- - wheel
- {% elif grains['os_family'] == 'Debian' or 'Ubuntu' %}
- - sudo
- {% endif %}
- - require:
- {% for group in details.get('groups', []) %}
- - group: {{ group }}
- {% endfor %}
- {% endif %}
- {% if 'pub_ssh_keys' in details %}
- ssh_auth:
- - present
- - user: {{ username }}
- - names:
- {% for pub_ssh_key in details.get('pub_ssh_keys', []) %}
- - {{ pub_ssh_key }}
- {% endfor %}
- - require:
- - user: {{ username }}
- {% endif %}
- {% if user_files.enabled %}
- {% if not salt['file.directory_exists' ]('salt://users/files/{{ username }}/.vimrc') %}
- vimrc_{{ username }}:
- file.managed:
- - name: /home/{{ username }}/.vimrc
- - source: salt://users/files/{{ username }}/.vimrc
- {% endif %}
- {% if details['shell'] == '/bin/zsh' %}
- oh_my_zsh_{{ username }}:
- git.latest:
- - name: git://github.com/robbyrussell/oh-my-zsh.git
- - target: /home/{{ username }}/.oh-my-zsh
- - require:
- - user: {{ username }}
- zsh_config_{{ username }}:
- file.managed:
- - name: /home/{{ username }}/.zshrc
- - source: salt://users/files/{{ username }}/.zshrc
- - require:
- - user: {{ username }}
- oh_my_zsh_theme_{{ username }}:
- file.managed:
- - name: /home/{{ username }}/.oh-my-zsh/themes/xxf.zsh-theme
- - source: salt://users/files/{{ username }}/xxf.zsh-theme
- - require:
- - user: {{ username }}
- {% endif %}
- {% endif %}
- {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement