- include_role:
    name: per_user

- name: Create directories
  file:
    name: "{{ account_homedir.stdout }}/{{ item }}"
    state: directory
    mode: 0700
    owner: "{{ account_name.stdout }}"
    group: "{{ group_name.stdout }}"
  loop:
    - ".emacs.d/elisp"

- name: Configure dotfiles
  copy:
    src: "files/{{ item.src }}"
    dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
    mode: 0600
    owner: "{{ account_name.stdout }}"
    group: "{{ group_name.stdout }}"
  loop:
    - src: init.el
      dest: .emacs.d/init.el

- name: Configure elisp files
  copy:
    src: "files/{{ item }}"
    dest: "{{ account_homedir.stdout }}/.emacs.d/elisp/{{ item }}"
    mode: 0600
    owner: "{{ account_name.stdout }}"
    group: "{{ group_name.stdout }}"
  loop:
    - base-extensions.el
    - base-functions.el
    - base-global-keys.el
    - base-theme.el
    - base.el
    - common-lsp.el
    - lang-bash.el
    - lang-c.el
    - lang-go.el
    - lang-javascript.el
    - lang-lua.el
    - lang-markdown.el
    - lang-org.el
    - lang-python.el
    - lang-rust.el
    - lang-terraform.el
    - lang-yaml.el
    - util-vertico.el
    - util-tree-sitter.el

- name: Configure zshrc additional imports
  copy:
    src: "files/zshrc_{{ item }}"
    dest: "{{ account_homedir.stdout }}/.config/ansible_deploy/zshrc/{{ item }}.zsh"
    mode: 0600
    owner: "{{ account_name.stdout }}"
    group: "{{ group_name.stdout }}"
  loop:
    - emacs_e

- import_tasks: tasks/peruser_freebsd.yaml
  when: 'os_flavor == "freebsd"'

- import_tasks: tasks/peruser_linux.yaml
  when: 'os_flavor == "linux"'