ansible-role-common/tasks/usersettings.yml
Jannik Beyerstedt 4715b1dacd [FIX] Usersettings: Re-allow running this task without sudo capabilities
Previously this task intentionally had no tasks installing any packages.
But git and pip3 are needed by some tasks, so let's try to install, but
don't fail because of missing sudo priviledges.
2022-02-13 20:54:15 +01:00

123 lines
4.1 KiB
YAML

---
# Common/Usersettings: Universial Dotfiles. Update regularly.
- name: usersettings - Install required tools
become: yes
ignore_errors: yes # just fail on systems without sudo access
ansible.builtin.package:
name: "{{ packages }}"
state: present
vars:
packages:
- git
- name: usersettings - Install/ Update oh-my-zsh for current user
ansible.builtin.git:
repo: https://github.com/robbyrussell/oh-my-zsh.git
dest: .oh-my-zsh
- name: usersettings - Install/ Update fzf sources
ansible.builtin.git:
repo: https://github.com/junegunn/fzf.git
dest: .fzf
register: fzf_git
- name: (Re-)Install fzf
when:
- fzf_git.after != fzf_git.before
ansible.builtin.shell: ".fzf/install --key-bindings --no-completion --no-update-rc"
- name: usersettings - Install pip virtualenvwrapper
when: usersetup_virtualenvwrapper
block:
- name: usersettings - Install pip3
when:
(override_os_family is defined) | ternary(override_os_family,ansible_os_family) != "Darwin" and
(override_os_family is defined) | ternary(override_os_family,ansible_os_family) != "FreeBSD"
become: yes
ignore_errors: yes # just fail on systems without sudo access
ansible.builtin.package:
name: "{{ packages }}"
state: present
vars:
packages:
- python3-pip
- name: usersettings - Install pip virtualenvwrapper (Debian)
when: (override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Debian"
become: yes
ansible.builtin.pip:
name: virtualenvwrapper
extra_args: --system
- name: usersettings - Install pip virtualenvwrapper (macOS)
when: (override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Darwin"
environment:
PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
ansible.builtin.pip:
name: virtualenvwrapper
- name: usersettings - Install pip virtualenvwrapper (CentOS, ArchLinux)
when:
(override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Centos" or
(override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Archlinux"
become: yes
ansible.builtin.pip:
name: virtualenvwrapper
- name: usersettings - Copy dotfiles
ansible.builtin.copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
with_items:
- {
src: "{{ role_path }}/files/_gitignore_global",
dest: ".gitignore_global",
}
- { src: "{{ role_path }}/files/_vimrc", dest: ".vimrc" }
- {
src: "{{ role_path }}/files/_oh-my-zsh/jtbx.zsh-theme",
dest: ".oh-my-zsh/custom/themes/jtbx.zsh-theme",
}
- name: usersettings - Set zshrc
ansible.builtin.template:
src: "{{ role_path }}/templates/_zshrc.j2"
dest: "{{ ansible_user_dir }}/.zshrc"
- name: usersettings - Set global gitconfig
when: usersetup_gitconfig == true
ansible.builtin.template:
src: "{{ role_path }}/templates/_gitconfig.j2"
dest: "{{ ansible_user_dir }}/.gitconfig"
- name: usersettings - Set tmux.conf
ansible.builtin.template:
src: "{{ role_path }}/templates/_tmux.conf.j2"
dest: "{{ ansible_user_dir }}/.tmux.conf"
- name: usersettings - Create .vim directory
ansible.builtin.file:
path: .vim/autoload
state: directory
- name: usersettings - Install vim plugin manager
ansible.builtin.get_url:
url: https://tpo.pe/pathogen.vim
dest: .vim/autoload/pathogen.vim
- name: usersettings - Install vim plugins
ansible.builtin.git:
repo: "{{ item.repo }}"
dest: "{{ item.dest }}"
with_items:
- {
repo: "https://github.com/itchyny/lightline.vim",
dest: ".vim/bundle/lightline",
}
- { repo: "https://github.com/w0rp/ale", dest: ".vim/bundle/ale" }
- {
repo: "https://github.com/airblade/vim-gitgutter",
dest: ".vim/bundle/vim-gitgutter",
}
- {
repo: "https://github.com/sheerun/vim-polyglot",
dest: ".vim/bundle/vim-polyglot",
}
- {
repo: "https://github.com/tpope/vim-commentary",
dest: ".vim/bundle/vim-commentary",
}