--- {%- from "users/map.jinja" import users with context -%} {%- for name, user in users.items() %} {%- if not user.enabled %} user-{{ name }}: user.absent: - name: {{ name }} {%- endif %} {%- if user.enabled %} user-{{ name }}: user.present: - name: {{ name }} - fullname: {{ user.fullname }} - shell: {{ user.shell }} - home: {{ user.home }} - password: {{ user.password }} - hash_password: true - gid: {{ user.gid }} - allow_gid_change: true {%- if user.optional_groups is defined %} - optional_groups: {%- for opt_group in user.optional_groups %} - {{ opt_group }} {%- endfor %} {%- endif %} user-{{ name }}-config-dir: file.directory: - name: {{ user.home }}/.config - user: {{ name }} - group: {{ user.gid }} - mode: 0755 {%- endif %} {% endfor %}