--- - name: Set default branch name become: yes become_method: sudo community.general.git_config: name: init.defaultBranch value: main scope: system add_mode: replace_all state: present register: gitedit_set - name: Set default git text editor become: yes become_method: sudo community.general.git_config: name: core.editor value: vim scope: system add_mode: replace_all state: present register: gitedit_set - name: Create directory for some git files file: path: "{{ ansible_facts['user_dir'] }}/.config/git" state: directory register: gitdir_created - name: Create git commit message template file copy: src: git/gitmessage dest: "{{ ansible_facts['user_dir'] }}/.config/git/gitmessage" force: yes backup: yes register: gittemp_created - name: Set a commit template file for git community.general.git_config: name: commit.template value: "{{ ansible_facts['user_dir'] }}/.config/git/gitmessage" scope: global add_mode: replace_all state: present register: gittemp_set - name: Set git key format to OpenPGP community.general.git_config: name: gpg.format value: "openpgp" scope: global add_mode: replace_all state: present register: gitkeyformat_set #@TODO: Add a gpg section to group_var or host_var vaults - name: Set a user signing key for git community.general.git_config: name: user.signingkey value: "{{ gpg_sign_id }}" scope: global add_mode: replace_all state: present register: gitsignkey_registered - name: Set key signage to occur for commits by default in git community.general.git_config: name: commit.gpgSign value: "true" scope: global add_mode: replace_all state: present - name: Set key signage to occur for tagging by default in git community.general.git_config: name: tag.gpgSign value: "true" scope: global add_mode: replace_all state: present - name: Create a boilerplate gitignore file for git copy: src: git/gitignore.sample dest: "{{ ansible_facts['user_dir'] }}/.config/git/gitignore" force: yes backup: yes register: gitgignore_created - name: Set boilerplate gitignore file in global scope community.general.git_config: name: core.excludesfile value: "{{ ansible_facts['user_dir'] }}/.config/git/gitignore" scope: global add_mode: replace_all state: present register: gitgignore_set - name: Set autocorrect for git become: yes become_method: sudo community.general.git_config: name: help.autocorrect value: 0 scope: system add_mode: replace_all state: present register: gitautocorr_set - name: Set git to replace CRLF endings when pulling become: yes become_method: sudo community.general.git_config: name: core.autocrlf value: input scope: system add_mode: replace_all state: present register: gitcrlf_set - name: Set git username community.general.git_config: name: user.name value: "{{ official_name | default(ansible_facts['user_id'], true) }}" scope: global add_mode: replace_all state: present register: gituser_set - name: Set git user email community.general.git_config: name: user.email value: "{{ official_email | default('admin@' ~ domain_name, true) }}" scope: global add_mode: replace_all state: present register: gitemail_set