--- # Create users for all machines. ## Variables ## - name: General | Account Management | Users | use BASH (Default) set_fact: ling_shell: "{{ bash_exec.stdout }}" - name: General | Account Management | Users | Use ZSH (Arch+Manjaro) set_fact: ling_shell: "{{ zsh_exec.stdout }}" when: ansible_distribution == "Archlinux" ## Root ## - name: General | Account Management | Users | Root user: name: root shell: "{{ bash_exec.stdout }}" create_home: yes generate_ssh_key: yes register: user_root ## Scheduler ## - name: General | Account Management | Users | Ansible user: name: ansible comment: Ansible system: yes ## Superuser ## - name: General | Account Management | Users | Hyperling user: name: ling comment: Hyperling groups: - sudo - video - render append: yes shell: "{{ ling_shell }}" create_home: yes generate_ssh_key: yes register: user_ling - name: General | Account Management | Users | Hyperling | Test Logging In shell: "echo SUCCESS" args: executable: "{{ ling_shell }}" become_user: ling ## Folders ## - name: General | Account Management | Users | Folders | Root | Create bin, Downloads, TRASH file: path: "{{ item }}" state: directory mode: '0755' loop: - "{{ user_root.home }}/bin" - "{{ user_root.home }}/Downloads" - "{{ user_root.home }}/TRASH" when: user_root.home != "" - name: General | Account Management | Users | Folders | Hyperling | Create bin, LBRY, TRASH file: path: "{{ item }}" state: directory mode: '0755' loop: - "{{ user_ling.home }}/bin" - "{{ user_ling.home }}/LBRY" - "{{ user_ling.home }}/TRASH" become_user: ling when: user_ling.home != "" - name: General | Account Management | Users | Folders | Home Directories 700 shell: "chmod 700 {{ user_ling.home }}/../*" ## Files ## - name: General | Account Management | Users | Files | .bashrc blockinfile: path: "{{ item }}/.bashrc" block: | alias cp='cp -v' alias mv='mv -v' alias rm='echo "Use mv ~/TRASH/ instead!"' export PATH="~/bin:$PATH" marker: '# {mark} MANAGED BY ANSIBLE | Aliases' state: present create: yes backup: yes loop: - "{{ user_root.home }}" - "{{ user_ling.home }}" ignore_errors: yes when: user_root.home != "" and user_ling.home != ""