[BREAKING] use configureable gitconfig file
This commit is contained in:
parent
a2cd7e0f5f
commit
247f6cccb6
27
README.md
27
README.md
|
@ -8,7 +8,9 @@ This role is compatible with Debian based systems and macOS.
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
none
|
Have a user set up on the machine, to which you can connecto via a ssh key.
|
||||||
|
This user must also have sudo right without asking for a password!
|
||||||
|
(e.g. using `%sudo ALL=(ALL) NOPASSWD:ALL` when editing the sudoers file with `sudo visudo`)
|
||||||
|
|
||||||
|
|
||||||
Role Variables
|
Role Variables
|
||||||
|
@ -19,18 +21,23 @@ But for some operating systems the `ansible_os_family` variable is not set to "D
|
||||||
- `override_os_family`: Set to "Debian" in the host inventory, if `ansible_os_family` is not set correctly
|
- `override_os_family`: Set to "Debian" in the host inventory, if `ansible_os_family` is not set correctly
|
||||||
|
|
||||||
The User Setup will change the user shell and global gitconfig. This can be disabled:
|
The User Setup will change the user shell and global gitconfig. This can be disabled:
|
||||||
- `usersetup_chsh`: Boolean to disable changing the user shell to zsh
|
- `usersetup_chsh`: Boolean to enable changing the user shell to zsh (default: true)
|
||||||
- `usersetup_gitconfig`: Boolean to disable overriding the global gitconfig
|
- `usersetup_gitconfig`: Boolean to disable overriding the global gitconfig (default: true)
|
||||||
|
* `gitconfig_name`: User's name in .gitconfig file (default: n.a.)
|
||||||
|
* `gitconfig_email`: User's email in .gitconfig file (default: n.a.)
|
||||||
|
|
||||||
|
The development environment for different programming languages can be setup automatically.
|
||||||
|
To enable, that Visual Studio Code will be installed and configured, set `user_vscode` to true, otherwise only the bare development toolchain will be installed.
|
||||||
For a GUI/ Desktop machine, you can enable to install and configure VS Code:
|
For a GUI/ Desktop machine, you can enable to install and configure VS Code:
|
||||||
- `user_vscode`: Boolean to install and set the basic configuration of VS Code
|
- `user_vscode`: Boolean to install and set the basic configuration of VS Code (default: false)
|
||||||
- `user_lang_cpp`: Boolean to install C/C++ dev tools and configure VS Code
|
- `user_lang_cpp`: Boolean to install C/C++ dev tools and configure VS Code (default: false)
|
||||||
- `user_lang_python`: Boolean to install Python dev tools and configure VS Code
|
- `user_lang_python`: Boolean to install Python dev tools and configure VS Code (default: false)
|
||||||
- `user_lang_golang`: Boolean to install Golang dev tools and configure VS Code
|
- `user_lang_golang`: Boolean to install Golang dev tools and configure VS Code (default: false)
|
||||||
|
* `user_lang_golang_gopath`: Install path for golang (default: "{{ ansible_user_dir }}/Development/go")
|
||||||
|
|
||||||
The `user_lang_*` switches will also install the language only, if `user_vscode` is set to false.
|
By default, this role will run updates, install some essential tools, set up the user's shell and copy the dotfiles.
|
||||||
|
If you just want to have the dotfiles managed by ansible, set `common_settingsonly` to true!
|
||||||
To install just the dotfiles, set `common_settingsonly` to true.
|
This can be useful, if you have no sudo rights, because tool installation will need these.
|
||||||
|
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
- { src: "{{ role_path }}/files/dotfiles/_oh-my-zsh/custom/themes/agnoster.zsh-theme", dest: ".oh-my-zsh/custom/themes/agnoster.zsh-theme" }
|
- { src: "{{ role_path }}/files/dotfiles/_oh-my-zsh/custom/themes/agnoster.zsh-theme", dest: ".oh-my-zsh/custom/themes/agnoster.zsh-theme" }
|
||||||
- { src: "{{ role_path }}/files/dotfiles/_oh-my-zsh/custom/themes/jtbx.zsh-theme", dest: ".oh-my-zsh/custom/themes/jtbx.zsh-theme" }
|
- { src: "{{ role_path }}/files/dotfiles/_oh-my-zsh/custom/themes/jtbx.zsh-theme", dest: ".oh-my-zsh/custom/themes/jtbx.zsh-theme" }
|
||||||
- name: usersettings - Set global gitconfig
|
- name: usersettings - Set global gitconfig
|
||||||
copy:
|
template:
|
||||||
src: "{{ item.src }}"
|
src: "{{ role_path }}/templates/_gitconfig.j2"
|
||||||
dest: "{{ item.dest }}"
|
dest: "{{ ansible_user_dir }}/.gitconfig"
|
||||||
with_items:
|
|
||||||
- { src: "{{ role_path }}/files/dotfiles/_gitconfig", dest: ".gitconfig" }
|
|
||||||
when: usersetup_gitconfig == true
|
when: usersetup_gitconfig == true
|
||||||
|
|
||||||
- name: usersettings - Create .vim directory
|
- name: usersettings - Create .vim directory
|
||||||
|
|
14
templates/_gitconfig.j2
Normal file
14
templates/_gitconfig.j2
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{% if gitconfig_name is defined and gitconfig_email is defined %}
|
||||||
|
[user]
|
||||||
|
name = {{ gitconfig_name }}
|
||||||
|
email = {{ gitconfig_email }}
|
||||||
|
{% endif %}
|
||||||
|
[core]
|
||||||
|
excludesfile = ~/.gitignore_global
|
||||||
|
editor = vi
|
||||||
|
[push]
|
||||||
|
default = matching
|
||||||
|
[color]
|
||||||
|
ui = auto
|
||||||
|
[help]
|
||||||
|
autocorrect = 1
|
Loading…
Reference in a new issue