{% from "users/map.jinja" import users with context %} include: - users {% for name, user in pillar.get('users', {}).items() if user.absent is not defined or not user.absent %} {%- set current = salt.user.info(name) -%} {%- if user == None -%} {%- set user = {} -%} {%- endif -%} {%- set home = user.get('home', current.get('home', "/home/%s" % name)) -%} {%- set manage = user.get('manage_profile', 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 %} {%- if manage -%} users_{{ name }}_user_profile: file.managed: - name: {{ home }}/.profile - user: {{ name }} - group: {{ user_group }} - mode: '0644' - template: jinja - source: - salt://users/files/profile/{{ name }}/profile - salt://users/files/profile/profile {% endif %} {% endfor %}